oracle的PDB和CDB,Oracle CDB和PDB

查询PDB实例

SQL> show pdbs

查询CDB实例

SQL> show con_name

切换到PDBorcl1容器

SQL> alter session set container=orcl1

切换到CDB容器

SQL> alter session set container=CDB$ROOT

查看当前属于哪个容器

SQL> show con_name --

查看PDB信息(在CDB模式下)

SQL> show pdbs --查看所有pdb

SQL> select name,open_mode from v$pdbs; --v$pdbs为PDB信息视图

SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;

切换容器

SQL> alter session set container=orcl1 --切换到PDBorcl1容器

SQL> alter session set container=CDB$ROOT --切换到CDB容器

查看当前属于哪个容器

SQL> select sys_context('USERENV','CON_NAME') from dual; --使用sys_context查看属于哪个容器

SQL> show con_name --用show查看当前属于哪个容器

启动PDB

SQL> alter pluggable database orcl1 open; --开启指定PDB

SQL> alter pluggable database all open; --开启所有PDB

SQL> alter session set container=orcl1; --切换到PDB进去开启数据库

SQL> startup

关闭PDB

SQL> alter pluggable database orcl1 close; --关闭指定的PDB

SQL> alter pluggable database all close; --关闭所有PDB

SQL> alter session set container=orcl1; --切换到PDB进去

SQL> shutdown immediate

创建或克隆前要指定文件映射的位置(需要CBD下sysdba权限)

SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/orcl/orcl2';

创建一个新的PDB:(需要CBD下sysdba权限)

SQL> create pluggable database test admin user admin identified by admin;

SQL> alter pluggable database test_pdb open; --将test_pdb 打开

克隆PDB(需要CBD下sysdba权限)

SQL> create pluggable database orcl2 from orcl1; --test_pdb必须是打开的,才可以被打开

SQL> alter pluggable database orcl2 open; --然后打开这个pdb

删除PDB(需要CBD下sysdba权限)

SQL> alter pluggable database orcl2 close; --关闭之后才能删除

SQL> drop pluggable database orcl2 including datafiles; --删除PDB orcl2

设置CDB启动PDB自动启动(在这里使用的是触发器)

SQL> CREATE OR REPLACE TRIGGER open_pdbs

AFTER STARTUP ON DATABASE

BEGIN

EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';

END open_pdbs;

/

注意:CDB模式建立用户前面需要加c##


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部