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-创建路径的名称不要使用已存在的系统路径名称如DAT