北アラバ公国

UNIX、ORACLE、NETWORK等、IT、情報通信に関する話題と技術メモ。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

PFILEからSPFILEを作成する方法

PFILE」から「SPFILE」を作成する時には「create spfile」文を使います。以下に私の環境での実行例を示します(Oracle Database 10g Release 2 for Windows 32bit)。

まずは現在の「PFILE」、「SPFILE」の状態を確認します。
C:\temp>cd C:\oracle\product\10.2.0\db_1\database

C:\oracle\product\10.2.0\db_1\database>dir *.ora
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\oracle\product\10.2.0\db_1\database のディレクトリ

2009/09/06 22:25 1,018 INITorcl.ORA
2009/04/29 15:53 1,536 PWDorcl.ora
2009/09/06 21:49 2,560 SPFILEORCL.ORA
3 個のファイル 5,114 バイト
0 個のディレクトリ 1,047,588,864 バイトの空き領域

C:\oracle\product\10.2.0\db_1\database>
上記の場合、「PFILE(INITorcl.ORA)」と「SPFILESPFILEORCL.ORA)」両方が存在しております。この状態でOracleインスタンスを起動すると「SPFILE(SPFILEORCL.ORA)」を優先的に読み込んで起動します。そこで、一旦「SPFILE(SPFILEORCL.ORA)」を削除します。
C:\oracle\product\10.2.0\db_1\database>del SPFILEORCL.ORA

C:\oracle\product\10.2.0\db_1\database>dir *.ora
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\oracle\product\10.2.0\db_1\database のディレクトリ

2009/09/06 22:25 1,018 INITorcl.ORA
2009/04/29 15:53 1,536 PWDorcl.ora
2 個のファイル 2,554 バイト
0 個のディレクトリ 1,047,576,576 バイトの空き領域

C:\oracle\product\10.2.0\db_1\database>
SPFILE(SPFILEORCL.ORA)」は削除されました。この状態でOracleインスタンスを起動すると「PFILE(INITorcl.ORA)」が読み込まれてOracleインスタンスが起動するはずです。では、Oracleインスタンスを起動して、「show parameters spfile」コマンドで「SPFILE」が使用されているか確認します。
C:\oracle\product\10.2.0\db_1\database>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 日 9月 6 22:37:49 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

アイドル・インスタンスに接続しました。

SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 71304548 bytes
Database Buffers 92274688 bytes
Redo Buffers 2945024 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL> show parameters spfile

NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
spfile string

SQL>
上記の通り、「value」列が「null」、何も表示されていないので、現在は「SPFILE」ではなく「PFILE」が使用されていることが分かります。では、「create spfile」文を使って「SPFILE」を作成します。
SQL> create spfile from pfile;

ファイルが作成されました。

SQL>
以下のように、「SPFILE」と「PFILE」のファイル名を明示的に指定することも出来ます。
SQL> create spfile='C:\oracle\product\10.2.0\db_1\database\SPFILEORCL.ORA' from pfile='C:\oracle\product\10.2.0\db_1\database\INITorcl.ORA';

ファイルが作成されました。

SQL>
これで「PFILE」から「SPFILE」が作成されました。では、本当に「SPFILE」が作成されたか確認します。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。

C:\oracle\product\10.2.0\db_1\database>dir *.ora
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\oracle\product\10.2.0\db_1\database のディレクトリ

2009/09/06 22:25 1,018 INITorcl.ORA
2009/04/29 15:53 1,536 PWDorcl.ora
2009/09/06 22:40 2,560 SPFILEORCL.ORA
3 個のファイル 5,114 バイト
0 個のディレクトリ 1,047,306,240 バイトの空き領域

C:\oracle\product\10.2.0\db_1\database>
確かに「SPFILE(SPFILEORCL.ORA)」が作成されました。先程までは「PFILE(INITorcl.ORA)」しかなかったので、「PFILE(INITorcl.ORA)」を読み込んでOracleインスタンスが起動していましたが、今は「PFILE(INITorcl.ORA)」よりも優先的に読み込まれる「SPFILE(SPFILEORCL.ORA)」が存在するので、「SPFILE(SPFILEORCL.ORA)」を使用してOracleインスタンスが起動するはずです。では、この状態でOracleインスタンスをシャットダウンした後に起動し、「show parameters spfile」コマンドで「SPFILE」が使用されているか確認します。
C:\oracle\product\10.2.0\db_1\database>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 月 9月 7 00:34:15 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.



Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
に接続されました。
SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 71304548 bytes
Database Buffers 92274688 bytes
Redo Buffers 2945024 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL> show parameters spfile

NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
spfile string
C:\ORACLE\PRODUCT\10.2.0\DB_1\
DATABASE\SPFILEORCL.ORA
PFILE(INITorcl.ORA)」から作成された「SPFILE(SPFILEORCL.ORA)」を読み込んでOracleインスタンスが起動しました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/07(月) 00:40:30|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0
<<OracleのSQL*Plusで表示される列名を変更 | ホーム | SPFILEからPFILEを作成する方法>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://northaraba.blog17.fc2.com/tb.php/523-da8db918
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。