oracle——数据字典和表空间

Oracle体系结构
概念:指Oracle的组成、工作过程和基本原理,以及数据在数据库中的管理和组织机制。

完整的Oracle数据库系统通常由两个部分组成:实例(INSTANCE)和数据库(DATABASE)。

Oracle总体结构
实例是由一系列的后台进程和内存区组成。简单来说,是内存和后台进程的集合。

数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)。

数据库:存储结构

逻辑存储结构

表空间
表空间(Tablespace)是数据库的逻辑划分,一个Oracle数据库由若干个表空间组成。
任何数据库对象在存储时都必须存储在某个表空间中。
一个表空间对应于磁盘上的一个或多个数据文件。
通常一个Oracle数据库可能会有7个表空间:System、SYSAUX、Users、Undo、Temp、Example、BigTBS。

System表空间:
一个Oracle数据库至少有一个表空间,既System表空间。当数据库创建时,必须指明System表空间的数据文件的特征,如数据文件名称、大小。在System表空间中存储了Oracle自身的内部结构信息,全部的PL/SQL程序的源代码和编译后的代码等。
SYSAUX表空间:
是System表空间的辅助表空间,许多数据库的工具和可选组件将其对象存储在SYSAUX表空间内,它是许多数据库工具和可选组件的默认表空间。
Users表空间
用于存储用户的数据。
Undo表空间: 用于事务的回滚、撤销。
Temp表空间:用于存放Oracle运行中需要临时存放的数据,如排序的中间结果等。
除了这些默认的表空间之外,用户还可以创建属于自己的表空间。

数据字典
是Oracle数据库的核心组件,它由基表和数据字典视图组成;
数据字典中记录了数据库的系统信息、例程运行性能;
数据字典表和数据字典视图都保存在SYSTEM表空间中;
用途:
用户可以从数据字典的只读视图中,获取各种与对象有关的信息;
任何用户都可以将数据字典视为数据库的只读参考信息。
每次修改方案对象后,Oracle都在数据字典中记录下所做的修改;

名称组成:分前缀和后缀,两者之间用下划线相连
常用的三类视图
user_*
存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
all_*
存储了当前用户能够访问的对象的信息。(与user_相比,all_ 并不需要拥有该对象,只需要具有访问该对象的权限即可)
某用户想查看自己能看到的表信息,那么应该看all_tables视图
dba_* (普通用户不能访问,管理员用户可以)
存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
如果要查询数据库中所有表的信息,应该使用dba视图。

动态性能视图:Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更 新,所以称它们为动态数据字典(或者是动态性能视图);
名称:都是以V$开头

表空间常规管理
(一)查看表空间信息:通过视图查看
(1)查询视图dba_tablespaces,显示表空间的信息
select tablespace_name,contents,status from dba_tablespaces;
(2)显示表空间所包含的数据文件
select file_name,bytes from dba_data_files where tablespace_name=‘SYSTEM’;
(3)显示表空间包括的所有表
select owner,table_name from all_tables where tablespace_name=’USERS’;

创建表空间

  1. 创建本地管理表空间
    Create tablespace orcltb(表空间的名字)
    Datafile ‘f:\mag\tb01.dbf’ size 10m
    Extent management local (扩展的本地管理)
    Autoalllocate; (自动管理)
  2. 创建临时表空间
    Create temporary tablespace tmptbs
    tempfile ‘f:\mag\tmpo1.dbf size 20m
    Extent management local

设置和修改表空间属性

  1. 使表空间脱机:alter tablespace myspace offline
  2. 使表空间联机:alter tablespace myspace online
  3. 使表空间只读:alter tablespace myspace read only
  4. 使表空间可写:alter tablespace myspace read write

删除表空间
drop tablespace ‘表空间’ including contents and datafiles;
说明:including contents 表示删除表空间时,删除该空间的所有数据库对象,而 datafiles 表示将数据库文件也删除。

扩展表空间

  1. 增加数据文件
    SQL> alter tablespace sp01 add datafile ‘d:\test\sp01.dbf’ size 20m;
  2. 增加数据文件的大小
    SQL> alter database datafile ‘d:\test\sp01.dbf’ resize 20m;
    这里需要注意的是数据文件的大小不要超过 500m
  3. 设置文件的自动增长。
    SQL> alter database datafile ‘d:\test\sp01.dbf’ autoextend on next 10m maxsize 500m;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的小馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值