Oracle 11gをインストールしましたが、Scottスキーマがありませんでした。だから私はそれを自分で生成しようとしています。私は "Scott"スキーマのSQLスクリプトを持っていましたが、 "create user Scott in tiger"というクエリを実行しようとしました。次のエラーが表示されます。
ORA-65096:Oracleの無効な共通ユーザーまたはロール名です。
基本的にそれは私がユーザー "Scott"を作成することを許可していません。それはなぜですか、そしてどうすれば問題を解決できますか?
Oracle11gをインストールしました
ORA-65096:Oracleの無効な共通ユーザー名またはロール名
いいえ、Oracle 12cをインストールしました。このエラーは12c
にのみ発生し、11g
には発生しません。
データベースのバージョンを小数点以下4桁まで必ず確認してください。
SELECT banner FROM v$version WHERE ROWNUM = 1;
データベースはcontainer databaseとして作成しておく必要があります。一方、コンテナにユーザーを作成しようとしています。つまり、CDB $ ROOTです。ただし、PLUGGABLEにユーザーを作成する必要があります。データベース。
コンテナ内にオブジェクトを作成することは想定されていません。コンテナには、プラガブルデータベースのメタデータが格納されています。あなたはあなたの一般的なデータベース操作のためにプラガブルデータベースを使うべきです。そうでない場合は、コンテナーとして作成しないでください。また、multi-tenancyを使用しないでください。
ほとんどの場合、サンプルスキーマはすでにインストールされている可能性があります。プラグイン可能ファイルでunlockにするだけです。データベース。
たとえば、プラガブルデータベースをpdborcl
として作成したとします。
sqlplus SYS/password@PDBORCL AS SYSDBA
SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;
sqlplus scott/tiger@pdborcl
SQL> show user;
USER is "SCOTT"
Oracle 12c以上には、2種類のデータベースがあります。
コンテナー(CDB)
プラガブルデータベース(PDB)。
ユーザーを作成したい場合、2つの可能性があります。
一般ユーザーは、現在および将来のPDBだけでなく、CBDにも属します。割り当てられた権限に応じてコンテナまたはプラガブルで操作を実行できることを意味します。
create user c##username identified by password;
ローカルユーザーは純粋に単一のPDBだけに属するデータベースです。このユーザーは管理者特権を持っているかもしれませんが、これはそのPDBだけに属します。そのためには、そのようなプラガブルなdatableに接続するべきです。
alter session set container = nameofyourpluggabledatabase;
そしてそこに、あなたは通常のようにユーザーを作成することができます
create user username identified by password;
テーブルスペースのことを忘れないでください。インポート中に役に立ちます。詳しくはこちらをご覧ください https://docs.Oracle.com/database/121/SQLRF/statements_8003.htm#SQLRF015
まったく同じエラーが発生した場合は、以下の手順を実行してください。
1)CMDタイプsqlplusを開き、Enterキーを押します。
2)システムから接続しますログイン
3)コマンドを実行します。alter session set "_Oracle_SCRIPT" = true;
4)別のユーザーを作成するには、次のコマンドを実行します。CREATE USER username IDENTIFIED BY password;
その後、ユーザーと役割を追加できます。
データベース接続ツールに対するユーザー依存関係の作成
sql plus
SQL> connect as sysdba;
Enter user-name: sysdba
Enter password:
Connected.
SQL> ALTER USER hr account unlock identified by hr;
User altered
then create user on sql plus and sql developer