Oracleデータベース12cR2をインストールし、データベースを起動しようとしています。
次のクエリを使用してspfileからpfileを作成しようとしています。
create pfile from spfile;
その後、次のエラーが発生します。
create pfile from spfile
*
ERROR at line 1:
ORA-01565: error in identifying file '?=/dbs/[email protected]'
ORA-27077: too many files open
ここで何が起こっているのか、私が間違っていることを誰かに教えてもらえますか?
ORA-27077: too many files open
そのエラーに基づいて、私はあなたが最大オープンファイルの制限に達したと思います。
ソフト制限とハード制限はulimit -Sn
とulimit -Hn
で確認できます。 /etc/security/limits.conf
または/etc/security/limits.d/
の下の別のファイルで構成します。実際に開いているファイルのリストをlsof -u Oracle
で確認します(インスタンスを実行しているユーザーがOracle
の場合)。
CREATE PFILE (Oracle)の公式ドキュメントを見ると、構文図が見つかります。
+- = '<spfile_name>' -+
| |
+- = '<pfile_name>' -+ +-> SPFILE -+--------------------+
CREATE PFILE -+ +-> FROM -+ +-> ;
+--------------------+ +-> MEMORY ----------------------+
pfile_name
またはspfile_name
のどちらにもファイル名を指定しない場合、システムはドキュメントに記載されているデフォルト値を使用します。
pfile_nameを指定しない場合、Oracle Databaseはプラットフォーム固有のデフォルトの初期化パラメータ・ファイル名を使用します。
そして
spfile_nameを指定しない場合、データベースは現在インスタンスに関連付けられているspfileを使用します。通常は、起動時に使用されたものです。インスタンスに関連付けられているspfileがない場合、データベースはプラットフォーム固有のデフォルトのサーバーパラメータファイル名を探します。 そのファイルが存在しない場合の場合、-データベースはエラーを返します。
(強調私のもの)
参照:CREATE PFILE (Oracle)
pfile_name
とspfile_name
のファイル名を指定して、何が起こるか確認してください。
create pfile='/u00/app/Oracle/admin/YOUR_SID/pfile/initYOUR_SID.ora'
from spfile='/u00/app/Oracle/admin/YOUR_SID/pfile/spfileYOUR_SID.ora';