Oracle-10g

使用者創建和導入轉儲的權限

  • December 24, 2013

我在創建 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;

引用自:https://dba.stackexchange.com/questions/55535