oracle19c学习总结
CON_ID:来表示容器的ID,但是当PDB移动时,CON_ID会发生变化.CON_ID为0的是CDB本身,1为CDB$ROOT,2为PDB$SEED,大于2的为用户PDB
CON_UID:PDB的唯一标识符.当PDB移动时候,该号码也不会变动.CDB$ROOT的CON_UID为1
DBID:基于数据库兼容性的考虑,每个容器还有一个DBID,CDB的DBID就是CDB$ROOT,PDB的DBID就是CON_UID
GUID:一个包含16字节的RAW值,他在PDB创建的时候生成,并且永远不会改变,当使用OMF的时候,GUID被用于目录结构,并且作为PDB的唯一标识符.
1、登录到oracle用户下(如果是使用root用户登录系统)
su - oracle
2、修改登录标识,在文档末尾输入
vi $ORACLE_HOME/sqlplus/admin/glogin.sql
set sqlprompt '_USER"@"_CONNECT_IDENTIFIER> '
define_editor=vi
3、登录oracle 12c cdb数据库
sqlplus / as sysdba
4、查看容器信息
#第一种方法,使用show命令
#查看当前所在容器
show con_name
#查看当前容器id
show con_id
#第二种方法,使用sql语句
#查看当前所在容器
select sys_context('userenv','CON_NAME') from dual;
#查看当前容器id
select sys_context('userenv','CON_ID') from dual;
5、查看pdb
show pdbs
select name,con_id,open_mode from v$pdbs;
6、打开数据库
打开某个指定pdb
alter pluggable database hyykpdb open;
打开所有pdb
alter pluggable database all open;
除cpdb3以外的所有pdb打开
alter pluggable database all except cpdb3 open;
关闭pdb
等待所有连接断开后关闭pdb,相当于normal选项
alter pluggable database cpdb2 close;
立即关闭pdb,没有提交的事务回滚
alter pluggable database cpdb2 close immediate;
7、登录pdb
第一种方法show
alter session set container=hyykpdb;
第二中方法,需要在配置好pdb动态监听或者静态监听之后使用,tnsnames.ora也要有连接信息,具体参考pdb网络部分实验
conn sys/oracle@hyykpdb as sysdba
8、从pdb返回cdb
第一种方法
conn / as sysdba
第二种方法
conn sys/oracle@hyyk as sysdba
第三种方法
alter session set container=CDB$root