Oracle
從 Oracle 10g 導出並導入到 Oracle 12c 無法創建使用者
出於開發目的,我已經安裝了舊版的 Oracle 10g,其中包含很多使用者和表空間。現在,我需要將這些使用者、表空間和其他所有內容遷移到 Oracle 12c 安裝。
在網上的一些文章之後,我執行了這個命令來從 Oracle 10g 導出我希望的所有內容。
CREATE DIRECTORY datapump AS '/oracle/datapump' expdp system/password@osub full=Y directory=datapump dumpfile=DB10G.dmp logfile=expdpDB10G.log
它執行沒有錯誤。要在 oracle 12c 實例上導入,我這樣做了:
CREATE DIRECTORY datapump AS '/oracle/datapump' impdp system/password@osub full=Y dumpfile=all.dmp logfile=impdpDB10G.log directory=datapump
但是在日誌文件上我得到這樣的錯誤:
CREATE USER "BI" IDENTIFIED BY VALUES 'FA1D2B85B70213F3' DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" PASSWORD EXPIRE ACCOUNT LOCK ORA-39083: Object type USER:"JBOSSDB" failed to create with error: ORA-65096: invalid common user or role name Failing sql is: CREATE USER "JBOSSDB" IDENTIFIED BY VALUES '00C6DD010C22FF42' DEFAULT TABLESPACE "JBOSSDB" TEMPORARY TABLESPACE "TEMP"
我在網上閱讀了有關 Oracle 可插拔數據庫的資訊。我不在乎這些。
我只想導入我在 Oracle 10g 上擁有的所有使用者、表空間等,而不必一一手動進行。
可能嗎?
您已經創建了一個 CDB(容器數據庫),並連接到了根容器。不允許創建普通使用者,可以創建名稱以 開頭的普通使用者
C##
。如果您不關心或不想使用可插拔數據庫,我建議您刪除空的 12c 數據庫,並使用 DBCA(數據庫配置助手)創建一個新的非 CDB。