パラメータの変更


SQL> sho parameter cursor

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------------------------
cursor_sharing                       string      SIMILAR
cursor_space_for_time                boolean     FALSE
open_cursors                         integer     300
session_cached_cursors               integer     20
SQL> alter session set cursor_sharing ='EXACT';

セッションが変更されました。

SQL> sho parameter cursor

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------------------------
cursor_sharing                       string      EXACT
cursor_space_for_time                boolean     FALSE
open_cursors                         integer     300
session_cached_cursors               integer     20
SQL>
★解説
【alter session】でそのセッションを。
【alter system】でシステム自体のパラメータを変更します。

Oracle10gではサーバパラメータファイルを用いることで、動的にパラメータの変更が可能に。
ただし、変更できるのは【動的パラメータ】のみ。
【静的パラメータ】の変更は何れにしてもデータベースの再起動が必要になる。
また、オプションを指定することにより、設定の有効タイミングを指定できる。

【scope=memory】・・・即座に有効になるが、有効範囲はデータベースが停止するまで。
【scope=spfile】・・・SPFILEに設定を書き込む。ただし、SPFILEを使用している場合のみ。データベースの再起動後に有効になる。
【scope=both】・・・・即座に有効になる。ただし、動的パラメータのみ。
静的パラメータを動的に変更させようとするとはじかれる。
SQL> set linesize150
SQL> set pagesize100
SQL> col name for a35
SQL> col value for a20
SQL> col display_value for a20
SQL> select name,value,display_value,isspecified,ordinal from v$spparameter
  2  where name='event';

NAME                                VALUE                DISPLAY_VALUE        ISSPEC    ORDINAL
----------------------------------- -------------------- -------------------- ------ ----------
event                                                                         FALSE           0

SQL>
SQL> ALTER SYSTEM SET event="1461 trace name errorstack level 3" scope=both;
ALTER SYSTEM SET event="1461 trace name errorstack level 3" scope=both
                 *
行1でエラーが発生しました。:
ORA-02095: 指定した初期化パラメータを変更できません。


SQL>
SQL> ALTER SYSTEM SET event="1461 trace name errorstack level 3" scope=spfile;

システムが変更されました。

SQL>
SQL> set linesize150
SQL> set pagesize100
SQL> col name for a35
SQL> col value for a20
SQL> col display_value for a20
SQL> select name,value,display_value,isspecified,ordinal from v$spparameter
  2  where name='event';

NAME                                VALUE                DISPLAY_VALUE        ISSPEC    ORDINAL
----------------------------------- -------------------- -------------------- ------ ----------
event                               1461 trace name erro 1461 trace name erro TRUE            1
                                    rstack level 3       rstack level 3


SQL>
上記の【event】と言う静的パラメータを【scope=spfile】にて変更をしたが、静的なため、まだシステムには反映されていない。
そのため、【sho parameter】コマンドでv$parameter表を確認しても値がブランクのままになる。
SQL> sho parameter event

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
event                                string
SQL>
SQL>
SQL> sho user
ユーザーは"SYS"です。
SQL>
SQL>

--データベースを停止します。

SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL>
SQL>
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             205523844 bytes
Database Buffers          398458880 bytes
Redo Buffers                7135232 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>
SQL>
SQL> sho parameter event

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
event                                string      1461 trace name errorstack lev
                                                 el 3
SQL>
また、設定を無効にするのにもデータベースを再起動する必要がある。
SQL> ALTER SYSTEM SET event='' scope=spfile;

システムが変更されました。

SQL>
SQL>
SQL> set linesize150
SQL> set pagesize100
SQL> col name for a35
SQL> col value for a20
SQL> col display_value for a20
SQL> select name,value,display_value,isspecified,ordinal from v$spparameter
  2  where name='event';

NAME                                VALUE                DISPLAY_VALUE        ISSPEC    ORDINAL
----------------------------------- -------------------- -------------------- ------ ----------
event                                                                         TRUE            1

SQL> sho parameter event

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
event                                string      1461 trace name errorstack lev
                                                 el 3
SQL>
SQL> sho user
ユーザーは"SYS"です。
SQL> shutdown immediate;
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL>
SQL>
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             205523844 bytes
Database Buffers          398458880 bytes
Redo Buffers                7135232 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>
SQL>
SQL> sho parameter event

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
event                                string
SQL>
因みに、ここの例であげている【event】パラメータはサポートの指示なしでは使用しない方が無難です。
また、どのパラメータが動的か静的かを知りたいなら、マニュアルを見てください。
ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/index.htm
↑のサイトに行って見ると幸せになれるかもしれない。
マニュアルの「初期化パラメータ」と言う項目にあるはずです。
B19228-02_リファレンス