12c-nonCDB-linux数据泵impdp导入12c-PDB-win
2017-10-16 10:11
232 查看
ORACLE数据库需要导出,作为备份文件,还原到不定系统上。其中在还原到插接式数据库时,报错ORA-65096:公用用户名或角色无效,造成这个错误的原因是:NON-CDB和CDB的数据库对于用户的处理的不同:CDB数据库创建用户时,用户名前要有C##。
比如NON-CDB创建用户为:
CREATE USER USER_NAME;
CDB中创建用户的语句为:
CREATE USER C##USER_NAME;
实验的环境:
源:
OS:LINUX
ORACLE:12.1 NON-CDB
SCHEMA:MATCH
PW:4321
SID:CRMDB
目标:
OS:WIN7
ORACLE:12.1 CDB
SCHEMA:MATCH
EXPDP语句:
EXPDP MATCH/4321@CRMDB DIRECTORY=DATA_PUMP_DIR DUMPFILE=MATCH.DMP LOGFILE=MATCH.LOG SCHEMAS=MATCH
数据泵导入的时候注意事项:
1-先创建表空间
2-执行导入的用户赋予DBA的权限,也可以直接使用system
3-创建路径的名称不要使用已存在的系统路径名称如DATA_PUMP_DIR,可以自己命名名称
4-创建表空间和创建路径在切换到PDB会话下操作
进入oracle命令界面
sqlplus sys/1234 as sysdba
打开插接式数据库
alter pluggable database all open;
修改当前会话
alter session set container=pdborcl;
创建表空间
create tablespace DATA_TB logging datafile 'C:\app\data\DATA_TB.dbf' size 50m autoextend on next 50m maxsize 20480m ;
创建临时表空间
create temporary tablespace DATA_TEMP_TB tempfile 'C:\app\data\DATA_TEMP_TB.dbf' size 50m autoextend on next 50m maxsize 20480m ;
创建路径
create or replace directory MY_DIR as 'C:\app\data';
如果使用的是系统路径名称会报错ORA-65040
给导入用户增加读写路径权限
grant read,write on directory MY_DIR tosystem;
修改tnsnames.ora
查找系统目录下的tnsnames.ora文件
增加红色方框的内容,可以复制ORCL的内容,修改蓝色框内容。保存
验证tns
退出命令行
quit
tnsping pdborcl
数据泵导入
impdp system/1234@PDBORCL DIRECTORY=MY_DIR DUMPFILE=MATCH.dmp logfile=MATCH.log
导入成功
比如NON-CDB创建用户为:
CREATE USER USER_NAME;
CDB中创建用户的语句为:
CREATE USER C##USER_NAME;
实验的环境:
源:
OS:LINUX
ORACLE:12.1 NON-CDB
SCHEMA:MATCH
PW:4321
SID:CRMDB
目标:
OS:WIN7
ORACLE:12.1 CDB
SCHEMA:MATCH
EXPDP语句:
EXPDP MATCH/4321@CRMDB DIRECTORY=DATA_PUMP_DIR DUMPFILE=MATCH.DMP LOGFILE=MATCH.LOG SCHEMAS=MATCH
数据泵导入的时候注意事项:
1-先创建表空间
2-执行导入的用户赋予DBA的权限,也可以直接使用system
3-创建路径的名称不要使用已存在的系统路径名称如DATA_PUMP_DIR,可以自己命名名称
4-创建表空间和创建路径在切换到PDB会话下操作
进入oracle命令界面
sqlplus sys/1234 as sysdba
打开插接式数据库
alter pluggable database all open;
修改当前会话
alter session set container=pdborcl;
创建表空间
create tablespace DATA_TB logging datafile 'C:\app\data\DATA_TB.dbf' size 50m autoextend on next 50m maxsize 20480m ;
创建临时表空间
create temporary tablespace DATA_TEMP_TB tempfile 'C:\app\data\DATA_TEMP_TB.dbf' size 50m autoextend on next 50m maxsize 20480m ;
创建路径
create or replace directory MY_DIR as 'C:\app\data';
如果使用的是系统路径名称会报错ORA-65040
给导入用户增加读写路径权限
grant read,write on directory MY_DIR tosystem;
修改tnsnames.ora
查找系统目录下的tnsnames.ora文件
增加红色方框的内容,可以复制ORCL的内容,修改蓝色框内容。保存
验证tns
退出命令行
quit
tnsping pdborcl
数据泵导入
impdp system/1234@PDBORCL DIRECTORY=MY_DIR DUMPFILE=MATCH.dmp logfile=MATCH.log
导入成功
相关文章推荐
- Oracle 12c pdb的数据泵导入导出
- oracle12c 实战 创建PDB用户 创建表空间 导入DMP数据
- 12c pdb的数据泵导入导出简单示例
- Oracle 12c pdb的数据泵导入导出
- Oracle 12c pdb使用expdp/impdp导入导出
- linux 下使用exp/imp 或者expdp/impdp导出导入oracle数据表数据
- oracle database about impdp&empdp -----数据泵导入导出
- Oracle数据库:impdp导入数据库及expdp导出数据过程详解
- How to use expdp/empdp in Oracle Database (使用expdp/impdp导入导出oracle数据 )
- impdp导入数据 ORA-31684错误
- linux和win共享数据
- oracle 11g linux 建立表空间 用户 授权 数据导入 导出
- Oracle 数据导入导出imp/exp命令 10g以上expdp/impdp命令
- oracle impdp导入数据出错,ORA-31634: job already exists
- 【EXPDP/IMPDP】数据泵导入导出遇到目录没有权限问题
- 利用expdp 和impdp来 导出,导入 oracle 数据(含比较 两个schema的表结构)
- ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法
- Linux下MySQL导入导出数据
- Linux环境下mysql数据库数据导入导出
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令