1

私は Oracle Database の最初のユーザーです。

ここで、ERDB という DB スキーマを作成します。

ERDB ユーザーを作成し、SQL スクリプト ファイルで適切な権限を ERDB ユーザーに付与する必要があります。

CREATE USER dmuser IDENTIFIED BY password 
DEFAULT TABLESPACE USERS 
TEMPORARY
TABLESPACE TEMP 
QUOTA UNLIMITED ON USERS;
GRANT CREATE JOB TO dmuser; 
GRANT CREATE MINING MODEL TO dmuser; 
GRANT CREATE PROCEDURE TO dmuser; 
GRANT CREATE SEQUENCE TO dmuser;
GRANT CREATE SESSION TO dmuser; 
GRANT CREATE SYNONYM TO dmuser; 
GRANT CREATE TABLE TO dmuser; 
GRANT CREATE TYPE TO dmuser; 
GRANT CREATE VIEW TO dmuser; 
GRANT EXECUTE ON ctxsys.ctx_ddl TO dmuser; 

しかし、エラーが発生します。SQLエラー: ORA 01031 権限が不十分です。

私を助けてください。

4

1 に答える 1

1

Oracleのドキュメントには、次のことが明確に記載されています。

前提条件

CREATE USER システム権限が必要です。

SYSTEMとして接続し、 SYSDBAは必要ありません。次に実行します。

CREATE USER user IDENTIFIED BY password 

同様に、他のコマンドを実行して、テーブルスペースと必要な権限などを作成します。

余談ですが、 SYSDBAに関して:

  • SYS (または SYSDBA) は決して使用しないでください。ただし、メンテナンス目的 (起動、シャットダウン、バックアップ、回復) には使用しないでください。
  • SYS/SYSDBA は特別です
  • SYS/SYSDBA は Oracle 独自のものです (「i did that with SYS/SYSDBA」で始まる SR/TAR を開こうとすると、すぐに回答が表示されます)。
  • SYS/SYSDBA は他のユーザーのように振る舞わない
  • SYS/SYSDBA を使用すると、Oracle は一部のコード パスを非アクティブ化し、他のコード パスをアクティブ化します。
  • SYS/SYSDBA で何をしても、他のユーザーと同じことを検証したり無効にしたりすることはありません。

別のユーザーが実行できるものには、決して SYS/SYSDBA を使用しないでください。SYS/SYSDBA ONLY は、他の人が実行できないことに対してのみ使用してください。

于 2015-12-24T12:21:30.183 に答える