Oracle-10g
使用者創建和導入轉儲的權限
我在創建 Oracle 10.2.0.4 實例和從其他環境導入轉儲時遇到問題。我在 AIX 下使用 Oracle。
我使用了一個 ksh 腳本,一切正常,除了創建使用者時。
之後,我創建了預設使用者,用於連接到數據庫和其他工作模組。嘗試導入轉儲時出現問題。
export ORACLE_SID=HISTO; sqlplus / as sysdba CREATE USER ANC IDENTIFIED BY "xxxxxxx"; grant connect, create session, imp_full_database to ANC; commit;
嘗試導入 de dump 時的錯誤如下。 用於載入轉儲的命令:
nohup impdp ANC/xxxxxx DIRECTORY=MIG11G DUMPFILE=dump_histo.expdp LOGFILE=impdp_29102013.log schemas=HISTO &
nohup.out 文件的輸出:
Import: Release 10.2.0.4.0 - 64bit Production on Lundi, 23 Décembre, 2013 18:51:22 Copyright (c) 2003, 2007, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Data Mining and Real Application Testing options ORA-31626: job does not exist ORA-31633: unable to create master table "ANC.SYS_IMPORT_SCHEMA_05" ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at "SYS.KUPV$FT", line 871 ORA-01950: no privileges on tablespace 'TOOLS'
我的問題:沒有系統使用者載入轉儲文件是否正常?
為什麼轉儲文件的載入失敗?
正如 FreshGrinchOfSO 所說,您收到的錯誤意味著使用者 ANC 在 TOOLS 表空間上沒有任何配額。從您的程式碼中,您的預設永久表空間似乎是 TOOLS (而不是像往常一樣的使用者)。
SELECT * FROM database_properties WHERE property_name LIKE 'DEFAULT%TABLESPACE'; PROPERTY_NAME PROPERTY_VALUE DESCRIPTION ------------------------------ -------------------- ---------------------------------------- DEFAULT_TEMP_TABLESPACE TEMP Name of default temporary tablespace DEFAULT_PERMANENT_TABLESPACE USERS Name of default permanent tablespace
否則,您可以像這樣創建使用者 ANC:
CREATE USER anc IDENTIFIED BY anc DEFAULT TABLESPACE tools;
要在 TOOLS 上驗證 ANC 的配額,請使用以下查詢:
SELECT tablespace_name, username, bytes, max_bytes FROM dba_ts_quotas;
您將獲得*“未選擇行”*。要在 TOOLS 上為 ANC 分配配額,您可以執行以下操作:
expdp histo/passwd estimate_only=y NOLOGFILE=y .. Total estimation using BLOCKS method: 1.256 KB .. ALTER USER anc QUOTA 5m on tools; -- a x3, safety margin :-)
然後執行導入:
impdp anc/anc directory=MIG11G dumpfile=dump_histo.expdp schemas=histo
如果作業似乎已暫停,請檢查警報日誌文件中的錯誤。例如:
statement in resumable session 'ANC.SYS_IMPORT_SCHEMA_01' was suspended due to ORA-01536: space quota exceeded for tablespace 'TOOLS'
然後,有必要增加配額,然後作業將自動恢復。
statement in resumable session 'ANC.SYS_IMPORT_SCHEMA_01' was resumed
查看所有目前工作:
sqlplus / as sysdba SQL> SELECT job_name, state FROM dba_datapump_jobs;