前回の記事で使いましたが、パラメータの確認にたまに便利な v$parameter2。
たとえば、
SQL> select name , value from v$parameter where name ='control_files';
NAME VALUE
--------------- ----------------------------------------------------------------------------------------------------
control_files /u01/app/oracle/oradata/ora112/control01.ctl, /u01/app/oracle/oradata/ora112/control02.ctl
これだとうまく設定されていそうですが、、、
SQL> alter database mount;
alter database mount
*
行1でエラーが発生しました。:
ORA-00205: ?????????????????????????????????????????
実際には、起動できません。
ログをみると、1つの文字列として認識されてしまっていることがわかります。
Wed Mar 16 09:26:48 2016
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/oradata/ora112/control01.ctl, /u01/app/oracle/oradata/ora112/control02.ctl'
ORA-27037: unable to obtain file status
このダメなケースだと。
SQL> select name , value from v$parameter where name ='control_files';
NAME VALUE
--------------- ----------------------------------------------------------------------------------------------------
control_files /u01/app/oracle/oradata/ora112/control01.ctl, /u01/app/oracle/oradata/ora112/control02.ctl
SQL> select name , value from v$parameter2 where name ='control_files';
NAME VALUE
--------------- ----------------------------------------------------------------------------------------------------
control_files /u01/app/oracle/oradata/ora112/control01.ctl, /u01/app/oracle/oradata/ora112/control02.ctl
v$parameter と v$parameter2 は同じ結果。
うまく設定できると、、、
SQL> select name , value from v$parameter where name ='control_files';
NAME VALUE
--------------- ----------------------------------------------------------------------------------------------------
control_files /u01/app/oracle/oradata/ora112/control01.ctl, /u01/app/oracle/oradata/ora112/control02.ctl
SQL> select name , value from v$parameter2 where name ='control_files';
NAME VALUE
--------------- ----------------------------------------------------------------------------------------------------
control_files /u01/app/oracle/oradata/ora112/control01.ctl
control_files /u01/app/oracle/oradata/ora112/control02.ctl
v$parameter2 では設定値をそれぞれ認識して別の行として表示してくれます。
設定値の確認には、v$parameter2 がよいかも。