Exadata – Controlling Cellsrv Parameters

In some cases you may need to change cell parameters on the fly, but you’ll find out that the only documented way to do it is from your cellinit.ora file… which means restart of the cellsrv.
Of course there is another, easier way:

First we shall see what are the current values of our parameters. You can do this with following command:
CellCLI> alter cell events="immediate cellsrv.cellsrv_dump('cellparams',0)";
Dump sequence #44 has been written to /opt/oracle/cell11.2.3.2.1_LINUX.X64_130109/log/diag/asm/cell/cell01/trace/svtrc_1099_13.trc
Cell cell01 successfully altered

CellCLI>

And then check the trace file for parameter value in question:
[root@cell01 ~]# grep x_diag /opt/oracle/cell11.2.3.2.1_LINUX.X64_130109/log/diag/asm/cell/cell01/trace/svtrc_1099_13.trc
_cell_storage_index_diag_mode = 0
[root@cell01 ~]#

Now we can change the value with the following command:
CellCLI> alter cell events="immediate cellsrv.cellsrv_setparam('_cell_storage_index_diag_mode',7)";
CELLSRV parameter changed: _cell_storage_index_diag_mode=7.
Modification is in-memory only.
Add parameter setting to 'cellinit.ora' if the change needs to be persistent across cellsrv reboots.
Cell cell01 successfully altered

CellCLI>

And lets see the result:
CellCLI> alter cell events="immediate cellsrv.cellsrv_dump('cellparams',0)";
Dump sequence #45 has been written to /opt/oracle/cell11.2.3.2.1_LINUX.X64_130109/log/diag/asm/cell/cell01/trace/svtrc_1099_49.trc
Cell cell01 successfully altered

CellCLI>
--
[root@cell01 ~]# grep x_diag /opt/oracle/cell11.2.3.2.1_LINUX.X64_130109/log/diag/asm/cell/cell01/trace/svtrc_1099_49.trc
_cell_storage_index_diag_mode = 7 (default = 0)
[root@cell01 ~]#

Is it working?
Like a charm:
2013-10-24 23:16:49.589093*: RIDX (0x7f3b304ab284) for SQLID 8g6dagvx9rs02 filter 0
2013-10-24 23:16:49.589823*: RIDX (0x7f3b304ab284) : st 2 validBitMap 0 tabn 0 id {75577 4 2201331730}
2013-10-24 23:16:49.589823*: RIDX: strt 32 end 2048 offset 1386233856 size 1032192 rgnIdx 1322 RgnOffset 16384 scn: 0x0000.00107340 hist: 0x1
2013-10-24 23:16:49.589823*: RIDX validation history: 0:PartialRead 1:Undef 2:Undef 3:Undef 4:Undef 5:Undef 6:Undef 7:Undef 8:Undef 9:Undef
2013-10-24 23:16:49.589823*: Col id [1] numFilt 5 flg 2:

But, keep in mind that you cannot change all parameters in memory, for example:
CellCLI> alter cell events="immediate cellsrv.cellsrv_setparam('_cell_si_expensive_debug_tracing',true)";

CELL-02512: There was an error setting event: CELLSRV parameter '_cell_si_expensive_debug_tracing' cannot be changed dynamically

CellCLI>

Cheers,
Kovachev

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s