--建立连接 --进入cdb sqlplus /nolog conn sys/sys as dba --// sqlplus sys/sys@localhost:1521/orcl as sysdba --进入pdb(pdb可以通过alter session set container=nameOfPdb进入,也可以直接通过tns方式(如下)登录) sqlplus sys/sys@localhost:1521/pdborcl as sysdba --显示所有的plaggable db show pdbs; --查看当前连接名称 show con_name; --新建pdb CREATE PLUGGABLE DATABASE pdb2 ADMIN USER pdb2_admin IDENTIFIED BY oracle FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/orcl/pdbseed/', '/u01/app/oracle/oradata/orcl/pdb2/'); --删除PDB DROP PLUGGABLE DATABASE pdb2 INCLUDING DATAFILES; --Unplugging PDB alter pluggable database pdb2 close immediate; alter pluggable database pdb2 UNPLUG into '/tmp/pdb2.xml'; --Plug Unplugging PDB create pluggable database pdb2 using '/tmp/pdb2.xml' copy file_name_convert=('/u01/bak/pdb2/','/u01/app/oracle/oradata/orcl/pdb2'); exec DBMS_PDB.SYNC_PDB(); --启动关闭PDB --pdb的管理可以在cdb中进行也可以在pdb中进行, --如果是cdb中进行,需要PLUGGABLE关键字(如下alter), --如果是pdb中直接和普通数据库一样(startup/shutdown immediate) --打开单个pdb alter pluggable database pdborcl open; --打开所有pdb alter pluggable database all open; --关闭所有pdb alter pluggable database all close immediate; --进入pdb alter session set container=pdborcl; --// conn sys/sys@localhost:1521/pdborcl as sysdba; --进入cdb alter session set container=cdb$root; --// conn / as sysdba; --创建用户 --创建用户默认的是container=all,在cdb中只能创建全局用户(c##开头), --会在cdb和所有的pdb中创建该用户(但是pdb中的全局用户需要另外授权才能够在pdb中访问)。 --在pdb中只能创建的用户为本地用户 --创建全局用户 create user c##test identified by test; --创建本地用户 alter session set container=pdborcl; create user test identified by 123; --用户授权 --用户授权默认情况下是只会给当前container,在cdb中也可以指定container=all,对所有open的pdb且存在该用户都进行授权 grant connect to c##test; grant resource to c##test container=all --修改参数 --在cdb中修改,pdb会继承进去;如果在pdb中修改会覆盖pdb从cdb中继承的参数含义 alter system set open_cursors=500 container=all; show parameter open_cursors; alter session set container=pdborcl; show parameter open_cursors; --// alter system set open_cursors=100; show parameter open_cursors; conn / as sysdba show parameter open_cursors;
参考文章:http://blog.csdn.net/zzvnzz/article/details/24840541
另:可以使用触发器实现PDB自动启动,脚本如下:
--先连接 conn / as sysdba --创建触发器 CREATE OR REPLACE TRIGGER open_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; END open_pdbs;