web-dev-qa-db-ja.com

「spfileからpfileを作成」を実行するとエラーが発生する

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

ここで何が起こっているのか、私が間違っていることを誰かに教えてもらえますか?

1
amsandun
ORA-27077: too many files open

そのエラーに基づいて、私はあなたが最大オープンファイルの制限に達したと思います。

ソフト制限とハード制限はulimit -Snulimit -Hnで確認できます。 /etc/security/limits.confまたは/etc/security/limits.d/の下の別のファイルで構成します。実際に開いているファイルのリストをlsof -u Oracleで確認します(インスタンスを実行しているユーザーがOracleの場合)。

2
Balazs Papp

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_namespfile_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';
0