12c推出了可插拔数据库,在一个容器cdb中以多租户的形式同时存在多个数据库pdb。在为pdb作数据泵导入导出时和传统的数据库有少量不一样。sql
1,须要为pdb添加tansnames数据库
2,导入导出时须要在userid参数内指定其tansnames的值,好比 userid=user/pwd@tnsnamebash
数据泵导出session
一、查看当前的SID,查看pdb并切换到容器数据库,这里的pluggable数据库是pdborcl
[oracle@test admin]$ echo $ORACLE_SID
[oracle@test admin]orcl
登陆cdb,查看pdb,oracle
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
PDB$SEED READ ONLY NO
PDBORCL MOUNTED
SQL> alter pluggable database all open;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
PDB$SEED READ ONLY NO
PDBORCL READ WRITE NO
切换到pdborclapp
SQL> alter session set container=pdborcl;
Session altered.
SQL>
二、查看示例用户scott,之后的schema级别导入导出就使用该用户的数据。
SQL> select owner, table_name from dba_tables where owner='SCOTT';
OWNER TABLE_NAME
------------------------------ ----------------------------------------
SCOTT SALGRADE
SCOTT BONUS
SCOTT EMP
SCOTT DEPT
三、单首创建一个dba权限的数据泵用户
SQL> grant dba to dp identified by dp;
Grant succeeded.
四、建立一个数据泵目录dp_dir,路径为oracle家目录
SQL> create or re