PDB毎に初期化パラメータを変更できるんですよ!(制限はあるけど) #2 - PDBの初期化パラメータは何処!? Tweet
制限はあるものの、PDBごとに変更可能な初期化パラメータの存在は確認できました。 :)
試してみます!
CDBのOPEN_CURSORSを変更してみます。
他のPDBで変更していないのでCDBの値が継承されるはずです。
$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on 月 8月 19 23:12:19 2013
Copyright (c) 1982, 2013, Oracle. All rights reserved.
アイドル・インスタンスに接続しました。
SYS@orcl12c> startup
ORACLEインスタンスが起動しました。
Total System Global Area 534462464 bytes
Fixed Size 2290416 bytes
Variable Size 473959696 bytes
Database Buffers 50331648 bytes
Redo Buffers 7880704 bytes
データベースがマウントされました。
データベースがオープンされました。
SYS@orcl12c> alter pluggable database all open;
プラガブル・データベースが変更されました。
SYS@orcl12c>
SYS@orcl12c> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300
SYS@orcl12c>
SYS@orcl12c> alter system set open_cursors=400 scope=both;
システムが変更されました。
SYS@orcl12c> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 400
SYS@orcl12c>
PDBの初期化パラメータ値はCDBの初期化パラメータ値を継承しています!
SYS@orcl12c> conn sys@pdborcl as sysdba
パスワードを入力してください:
接続されました。
SYS@pdborcl>
SYS@pdborcl> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 400
PDBの初期化パラメータを変更してみます。(MEMORYとSPFILEを変更)
SYS@pdborcl> alter system set open_cursors=200 scope=both;
システムが変更されました。
SYS@pdborcl> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 200
変更できますね :)
ついでなので、もひとつのPDBの初期化パラメータも他の値に変更してみます。(同じくscope=bothで)
変更前なのでOPEN_CURSORSパラメータはCDBの同パラメータを継承しています!
SYS@pdborcl> conn sys@pdbdiscus as sysdba
パスワードを入力してください:
接続されました。
SYS@pdbdiscus>
SYS@pdbdiscus> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 400
400から500に増やてみます。
SYS@pdbdiscus> alter system set open_cursors=500 scope=both;
システムが変更されました。
SYS@pdbdiscus> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 500
問題なく変更できました。:) 順調、順調
SQL*Plusのshow parameter同様に、v$parameterではCDB,PDB毎のパラメータのみ参照できるようですね。ふむふむ。
SYS@orcl12c> select name,value from v$parameter where name='open_cursors';
NAME VALUE
------------------------------ ------------------------------
open_cursors 400
SYS@orcl12c> conn sys@pdborcl as sysdba
パスワードを入力してください:
接続されました。
SYS@pdborcl> /
NAME VALUE
------------------------------ ------------------------------
open_cursors 200
SYS@pdborcl> conn sys@pdbdiscus as sysdba
パスワードを入力してください:
接続されました。
SYS@pdbdiscus> /
NAME VALUE
------------------------------ ------------------------------
open_cursors 500
ついでなので、もう少し検証してみましょう。
初期化パラメータを変更する際、scope=bothとしたのでSPFILEにも格納されているはずですよね。
マルチテナント化されてもSPFILEは一つ! 確認しておきましょう。
SYS@orcl12c> !find $ORACLE_BASE -name spfile*.ora
/opt/u01/product/12.1.0/dbhome_1/dbs/spfileorcl12c.ora
一つだけです!
中身がどうなっているか確認しておきましょう。
SYS@orcl12c> !strings $ORACLE_HOME/dbs/spfileorcl12c.ora
orcl12c.__data_transfer_cache_size=0
orcl12c.__db_cache_size=33554432
orcl12c.__java_pool_size=16777216
orcl12c.__large_pool_size=50331648
orcl12c.__oracle_base='/opt/u01'#ORACLE_BASE set from environment
orcl12c.__pga_aggregate_target=570425344
orcl12c.__sga_target=1090519040
orcl12c.__shared_io_pool_size=0
orcl12c.__shared_pool_size=213909504
orcl12c.__streams_pool_size=0
*.audit_file_dest='/opt/u01/admin/orcl12c/adump'
*.audit_trail='db'
*.compatible='12.1.0.0.0'
*.control_files='
/opt/u01/oradata/orcl12c/control01.ctl','/opt/u01/fast_recovery_area/orcl12c/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl12c'
*.db_recovery_file_dest='/opt/u01/fast_recovery_area'
*.db_recovery_file_dest_size=4800m
*.diagnostic_dest='/opt/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orcl12cXDB)'
*.enable_pluggable_database=true
*.memory_max_target=0
*.memory_target=0
*.open_cursors=400
*.pga_aggregate_target=536870912
*.processes=300
*.remote_login_passwordfile='
EXCLUSIVE'
*.sga_max_size=536870912
*.undo_tablespace='UNDOTBS1'
あれれれれれれ〜〜、 なんで CDBのパラメータしかないんでしょう!!!!!!!
scope=bothと指定してもエラーのでずに設定されてる。
SPFILEのバイナリ部分だけに記録さされているのか?。イヤそんなことはないだろ!
scope=memoryと同じではないことを確認するために一旦、再起動!!
SYS@orcl12c> alter pluggable database all close;
プラガブル・データベースが変更されました。
SYS@orcl12c> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SYS@orcl12c>
SYS@orcl12c> startup
ORACLEインスタンスが起動しました。
Total System Global Area 534462464 bytes
Fixed Size 2290416 bytes
Variable Size 473959696 bytes
Database Buffers 50331648 bytes
Redo Buffers 7880704 bytes
データベースがマウントされました。
データベースがオープンされました。
SYS@orcl12c>
SYS@orcl12c> alter pluggable database all open;
プラガブル・データベースが変更されました。
SYS@orcl12c>
SYS@orcl12c> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 400
SYS@orcl12c>
SYS@orcl12c> conn sys@pdborcl as sysdba
パスワードを入力してください:
接続されました。
SYS@pdborcl> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 200
SYS@pdborcl>
SYS@pdborcl> conn sys@pdbdiscus as sysdba
パスワードを入力してください:
接続されました。
SYS@pdbdiscus> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 500
むむ! むむむ!!!!! SPFILEには格納されていない..ようなのに......
PDBの初期化パラメータは、何処にあるんだ〜〜〜〜!。
次回へつづく!
次回、心の目を研ぎすませば、見えてくるものがある....みえないものもある...かもしれない
...乞うご期待w
・PDB毎に初期化パラメータを変更できるんですよ!(制限はあるけど) #1
| 固定リンク | 0
コメント