SQLPlusを使用して独自のデータベースを作成しようとしています。そこで、まず管理者としてログインします。
sqlplus sys/sys_password as sysdba
そして、私はsqlzooと呼ばれる新しいユーザーを作成しようとします:
CREATE USER sqlzoo IDENTIFIED BY sqlzoo
DEFAULT TABLESPACE tbs_perm_01sqlzoo
TEMPORARY TABLESPACE tbs_perm_01sqlzoo
QUOTA 20M ON tbs_perm_01sqlzoo;
これは私に次のエラーを与えます:
ERROR at line 1:
ORA-01109: database not open
なぜそれが私にそのようなエラーを与えているのですか?
エラーの状態-データベースが開いていない-は以前にシャットダウンされていたため、誰かが起動プロセスの途中でそれを残しました。それらは、意図的または非意図的のいずれかです(つまり、開いているはずでしたが、そうしなかった)。
データベース自体に問題がないと仮定すると、簡単なステートメントでデータベースを開くことができます。
ALTER DATABASE OPEN
同じ問題が発生しました。以下は、私が問題を解決した方法です。 Windows 10でOracleデータベース12cプラグ可能データベース(pdb)を使用しています。
-sqlplusを使用して、端末からsysdbaとしてログインします。以下に例を示します。
sqlplus sys/@ orclpdb as sysdba
-まず、データベースの状態を確認します。
SQL> select name、v_pdbsからopen_mode;
-私の場合、データベースがマウントされていることを示しています。マウントされていない場合は、最初にデータベースをマウントする必要があります。
-次に、読み取り/書き込み用にデータベースを開きます
SQL> ALTER PLUGGABLE DATABASE OPEN;
-ステータスを再度確認します。
SQL> select name、v_pdbsからopen_mode;
-これで、dababaseが読み取り/書き込み用に開かれ、スキーマなどを作成できるようになります。
SQL> alter database open;を試しましたか?最初のログイン後?
同じ問題が私をここに連れて行きます。結局のところ、私はそのリンクを見つけました、それは私にとって良いことです。
プラグ可能なデータベースのステータスを確認します。
SQL> STARTUP; Oracleインスタンスが開始されました。
合計システムグローバルエリア788529152バイト固定サイズ2929352バイト可変サイズ541068600バイトデータベースバッファー239075328バイトREDOバッファー5455872バイトデータベースがマウントされました。データベースが開かれました。 SQL> select name、open_mode from v $ pdbs;
名前OPEN_MODE ------------------------------ ---------- PDB $ SEED MOUNTED PDBORCL MOUNTED PDBORCL2 MOUNTED PDBORCL1
マウント済みそのために、アップグレード状態でPDB $ SEED PLUGGABLE DATABASEを開始する必要があります
SQL>即時シャットダウン。
データベースが閉じられました。データベースがマウント解除されました。 Oracleインスタンスがシャットダウンしました。
SQL> STARTUP UPGRADE;
Oracleインスタンスが開始されました。
合計システムグローバルエリア788529152バイト固定サイズ2929352バイト可変サイズ541068600バイトデータベースバッファー239075328バイトREDOバッファー5455872バイトデータベースがマウントされました。データベースが開かれました。
SQL> ALTER PLUGGABLE DATABASE ALL OPEN OPEN UPGRADE;プラグ可能なデータベースが変更されました。
SQL> select name、open_mode from v $ pdbs;
名前OPEN_MODE ------------------------------ ---------- PDB $ SEED MIGRATE PDBORCL MIGRATE PDBORCL2 MIGRATE PDBORCL1
移行
データベースがダウンしている場合、SYSDBAとしてログイン中にこれを想定できます。ログインコマンドはsysdbaとしてsqlplus sys/sys_passwordのように実行されますが、そのときデータベースから「アイドル状態のインスタンスに接続されました」という応答が返されます。このメッセージは、データベースがダウンしていることを示しています。データベースがダウンした理由について、最初にalert.logファイルを確認する必要があります。正常にダウンしていることがわかった場合は、データベースを起動するための「startup」コマンドを発行し、その後ユーザー作成コマンドを実行できます。データベースにデータファイルがないなどの問題がある場合は、最初にデータベースを回復し、データベースを開いてユーザー作成コマンドを実行する必要があります。
「alter database open」コマンドは、データベースがマウントステージにある間のみ受け入れられます。データベースがダウンしている場合、「alter database open」コマンドを受け入れません。
プラグ可能なデータベースを変更するorclpdb open; `
私のために働いた。
orclpdb
はプラグ可能なデータベースの名前で、個人によって異なる場合があります。