表空间的创建与维护(一)


一、数据库容器(CDB)与可插拔数据库(PDB)

在Oracle12c之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。。而实例与数据库不可能是一对多的关系。
当进入Oracle12c之后,实例与数据库可以是一对多的关系

二、表空间的概念及其主要作用

  1. 表空间是用于存储数据库对象的存储空间,是Oracle中组织不同数据文件的逻辑数据库对象。表空间是一个逻辑容器,一个表空间至少有一个数据文件与之关联。
  2. 表空间是Oracle数据库恢复的最小单位,容纳着许多数据库实体。
  3. 如果用户不创建表空间,那么,系统会给新创建的用户分配系统默认表空间(SYSTEM)。

三、表空间、数据库与数据文件

表空间是数据库对象的容器,容纳着许多数据库对象,一个数据库对象只能对应一个表空间(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个数据文件中。

1.表空间与数据库

一个数据库可以包含多个表空间,但是一个表空间一般只能属于一个数据库。

2.表空间与数据文件

一个表空间可以对应一个或多个数据文件,但一个数据文件只能属于一个表空间

四、方案、用户与表空间

1.方案

方案(schema)又叫用户模式,是比表空间小一级的逻辑概念,它也是一个逻辑容器。
方案是指一个用户下所有数据库对象的集合。

2.方案与用户

从用户方面来看,Oracle的一个用户就是一个方案。所有的表都属于不同的用户,一个用户要访问访问另一个用户的表,需要有授权。
scott.emp,可以称之为scott方案中的emp表,也可以称之为scott用户所拥有的emp表。以上两种说法是等价的。

3.方案(用户)与表空间

在一个数据库实例(instance)下可以有多个用户,每个用户只能有一个方案。方案是实际对象的集合,对象包括数据表,索引,视图等等。
表空间是逻辑上存放对象的地方,同一个表空间可以存储多个不同的方案的对象。

4.方案中对象的引用方法

五、认识Oracle系统的表空间

可以使用下面的命令查看表空间

代码如下(示例):
Select Username From dba_users;

表空间名称功能
SYSTEM创建数据库时自动创建的表空间
SYSAUX是SYSTEM表空间的一个辅助表空间
USERS是用户的默认永久性表空间,用于存储永久用户对象和私有信息
UNDOTBS1为数据库的撤销表空间
TEMP为临时表空间

用户SYS、SYSTEM的默认表空间是SYSTEM,并且用户SYSTEM的名称与其表空间名称相同。

六、查看Oracle数据库默认的表空间

1.在SQL Plus环境查看系统默认创建的表空间

(1)以SYSTEM用户身份登录数据库服务器
以SYSTEM用户身份登录数据库服务器
输入以下命令查看数据字典dba_tablespaces的结构信息:

Desc dba_tablespaces

(2)查看Oracle数据库默认创建的表空间

select tablespace_name,status,contents from dba_tablespaces;

查看结果

"ONLINE"表示表空间的状态为在线,即表空间可以使用
"PERMANENT"表示永久性表空间
"TEMPORARY"表示临时表空间
"UNDO"表示撤销表空间
(3)通过v$datafile数据字典查看Oracle数据库默认创建表空间对应的数据文件

select name from v$datafile;

查看结果
(4)通过dba_data_files数据字典查看Oracle数据库默认创建表空间对应的数据文件及相关信息

select file_name,tablespace_name,online_status from dba_data_files;

2.在SQL Plus环境查看Oracle的默认表空间及其使用情况

(1)通过数据字典database_properties查看用户使用的永久性表空间和临时表空间

select property_name,property_value from database_properties where property_name in
(‘DEFAULT_PERMANENT_TABLESPACE’,‘DEFAULT_TEMP_TSBLESPACE’);

(2)通过数据字典dba_users查看指定用户使用的默认表空间

select default_tablespace,username from dba_users where username like ‘SYS%’;

(3)查看SYSTEM默认表空间的使用情况

select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space
where tablespace_name=‘SYSTEM’;

七、查看Oracle用户及其相关数据表信息

1.查看当前数据库中所有表空间的主要信息

select tablespace_name,block_size,status,contents segment_space_management
from dba_tablespaces;

2.查看OUTLN用户的所有表的信息

select owner,table_name,tablespace_name,status from dba_tables
where owner=‘OUTLN’;

3.查看SYSTEM用户的help数据表的信息

select owner,table_name,tablespace_name,status from dba_tables
where owner=‘SYSTEM’ and table_name=‘HELP’;

4.查看数据表“help”的结构数据和记录数据

desc system.help

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值