一、管理与使用PDB表空间
1.1补充知识————数据库容器(CDB)与可插拔数据库(PDB)
容器数据库CDB和可插拔数据库PDB是Oracle 12c的新特性。在CDB中最高层container被称为CDB¥ROOT;用来创建其他PDB的模板PDB被称为PDB¥SEED;CDB中可以用PDB$SEED创建多个PDB。
关系说明:
1)CDB与ROOT之间的关系为一对一;
2)SEED之间的关系也是一对一。
3)用户在PDB中可以找到在CDB中找不到的用户。
扩充知识:
1.CDB和每个PDB都有各自的SYSTEM和SYSAUX表空间
2.PDB没有独自的控制文件和重做日志文件
3.PDB可以有自己的临时表空间
4.整个CDB只有一个UNDO表空间,PDB没有独自的UNDO表空间
另外,CDB和PDB使用相同的listener.ora, tnsnames.ora和sqlnet.ora文件,使用同一个SGA,使用相同的一组后台OS进程。
1.2任务实施:使用并正确的管理pdb表空间
1)进入PDB,打开PDB
alter session set container=pdborcl;
oracle默认连接的是CDB,需要先进入PDB模式
输入命令:startup;
显示名称
show con_name;
2)查看PDB中的对象的名称以及状态
select name,open_mode from v$pdbs;
3)查看PDB中数据表的信息
首先使用desc命令查看表文件的属性:
desc dba_data_files;
然后输入以下命令:
select tablespace_name,file_id,file_name from dba_data_files;
4)查看PDB数据库默认创建的表空间
还是首先使用desc命令查看表空间属性:
desc dba_tablespaces;
再输入命令:
select tablespace_name,status,contents from dba_tablespaces;
5)查看HR用户的所有数据表信息
desc user_tables;/desc dba_tables;
select owner,table_name,tablespace_name,status from dba_tables where owner=‘HR’;(注意用户名称大写)
6)查看用户的工作表相关数据
desc hr.jobs;
执行sql查询语句:select *from hr.jobs;
7)关闭PDB进入CDB
输入以下命令:
alter pluggable database close immediate;
根据提示信息,进行新操作:
alter session set container=cdb$ root;
show con_name;//显示名称
注意:以上操作需要在sys管理员登录成功的情况下进行。
在查看某表信息之后,可以适当的调整行的宽度,以及每页显示记录数量等
相关命令:set pagesize/linesize 111;
for a20
二、使用命令方式创建与维护Oracle数据表
2.1 约束条件
作用:保证数据的准确性
内容:非空、唯一、主键、外键、检查
分类:列级约束\表级约束
2.2 create table 创建oracle数据表
oracle命令(以创建学生表为例):
create table student(
sid number(6),
sname varchar2(10),
ssex char(2),
birthday date
);
注意:
1、对于已经创建的表并且已插入数据的表的某字段数据类型不要随意改变。
2、登录时尽量使用system管理登录。
2.3 alter table命令修改oracle数据表
命令1——向数据表中添加字段,该字段位于数据表的末尾
向学生表中添加字段成绩(score):
alter table student add score number(3,1)default 60;
命令2——修改数据表某字段的名称
把学生表中的成绩字段改为等级字段:
alter table student rename column score to grade;