一次SYS用戶還原普通用戶失敗的問題

今天想把一個DB1上的schema備份還原到DB2上去,備份的動作很順利,還原的時候報錯了,報錯如下(部分報錯信息):

開始使用數據泵備還原chenguangfair。  

Import: Release 11.2.0.4.0 - Production on 星期四 6月 9 10:04:11 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

連接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加載/卸載了主表 "SYS"."SYS_IMPORT_FULL_03" 
啓動 "SYS"."SYS_IMPORT_FULL_03":  "sys/********@orcl AS SYSDBA" remap_schema=CHENGUANGFAIR:chenguangfair directory=chenguangfair_dumpfile_dest transform=oid:n dumpfile=CHENGUANGFAIR_20160608130442.DMP logfile=CHENGUANGFAIR_20160608130442_recover.log 
處理對象類型 SCHEMA_EXPORT/USER
ORA-31685: 由於權限不足, 對象類型 USER:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
 CREATE USER "CHENGUANGFAIR" IDENTIFIED BY VALUES 'S:23361451065E1FBFD1D3FA555B8174DEBD188F2A1BEA67FD710948BC7B97;E4E71AC665DF1386' DEFAULT TABLESPACE "TS_FAIR" TEMPORARY TABLESPACE "TEMP"
處理對象類型 SCHEMA_EXPORT/SYSTEM_GRANT
ORA-31685: 由於權限不足, 對象類型 SYSTEM_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
GRANT DEBUG CONNECT SESSION TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 SYSTEM_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
GRANT SELECT ANY DICTIONARY TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 SYSTEM_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
GRANT CREATE DATABASE LINK TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 SYSTEM_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
GRANT CREATE ANY SEQUENCE TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 SYSTEM_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
GRANT CREATE ANY VIEW TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 SYSTEM_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
GRANT CREATE ANY TABLE TO "CHENGUANGFAIR"
ORA-39083: 對象類型 SYSTEM_GRANT 創建失敗, 出現錯誤:
ORA-01917: 用戶或角色 'CHENGUANGFAIR' 不存在
失敗的 sql 爲:
GRANT UNLIMITED TABLESPACE TO "CHENGUANGFAIR"
處理對象類型 SCHEMA_EXPORT/ROLE_GRANT
ORA-31685: 由於權限不足, 對象類型 ROLE_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
 GRANT "CONNECT" TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 ROLE_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
 GRANT "RESOURCE" TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 ROLE_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
 GRANT "DATAPUMP_EXP_FULL_DATABASE" TO "CHENGUANGFAIR"
ORA-31685: 由於權限不足, 對象類型 ROLE_GRANT:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
 GRANT "DATAPUMP_IMP_FULL_DATABASE" TO "CHENGUANGFAIR"
處理對象類型 SCHEMA_EXPORT/DEFAULT_ROLE
ORA-31685: 由於權限不足, 對象類型 DEFAULT_ROLE:"CHENGUANGFAIR" 失敗。失敗的 sql 爲:
 ALTER USER "CHENGUANGFAIR" DEFAULT ROLE ALL
處理對象類型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ORA-39083: 對象類型 PROCACT_SCHEMA 創建失敗, 出現錯誤:
ORA-31625: 必須有方案 CHENGUANGFAIR 才能導入此對象, 但此方案不可訪問
ORA-01435: 用戶不存在
失敗的 sql 爲:
BEGIN 
sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'ORCL', inst_scn=>'22593712463');COMMIT; END; 
我覺得SYS用戶的權限很大了,不應該報錯啊,查詢SYS用戶的權限也沒有問題。

我又重新賦權限sysdba給SYS,依然沒用。

我想着用SYSTEM操作吧,可是報了沒權限還原其他用戶的schema,我就用SYS用戶把IMP_FULL_DATABASE,EXP_FULL_DATABASE的權限賦給了SYSTEM,可以成功導入。

既然這樣可以,那我用SYS用戶重新給SYS賦這兩個權限,可是依然沒成功。

我就把SYS這兩個權限給回收了,重新賦權,這次終於可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章