scope设置初始化参数即时生效

一、测试需求背景

1、有没有问我初始化参数修改之后是否可以立即生效,立即做了一个测试,结论是,可以。

2、linux系统下,oracle数据块默认8K,能支持的数据文件最大32G,想使用64G的就需要修改初始化参数  db_16k_cache_size


3、顺便复习总结了一下表空间相关基础概念:

1)同一个数据库内可以设置不同block大小,来设置不同大小的数据文件,有时候业务有这个需求。

2)同一个表空间只能使用同一种block

3)spfile启动的数据库,可以使用scope=both使得参数立即在内存中生效,但是要注意前提,pfile启动的库不行。


二、测试过程



SQL> show parameter block



NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers                     integer     0
db_block_checking                    string      FALSE
db_block_checksum                    string      TYPICAL
db_block_size                        integer     8192
db_file_multiblock_read_count        integer     128


SQL> show parameter db_16k


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_16k_cache_size                    big integer 0


SQL> alter system set db_16k_cache_size=34603008  scope=spfile;


System altered.


SQL>
SQL>
SQL> commit;


Commit complete.


SQL>
SQL> alter tablespace users add datafile '/oracle/oradata/user02.dbf' size 40G;
alter tablespace users add datafile '/oracle/oradata/user02.dbf' size 40G
*
ERROR at line 1:
ORA-01144: File size (5242880 blocks) exceeds maximum of 4194303 blocks



SQL> alter system set db_16k_cache_size=34603008  scope=both;


System altered.



SQL> alter tablespace users add datafile '/oracle/oradata/user02.dbf' size 40G blocksize 16k;
alter tablespace users add datafile '/oracle/oradata/user02.dbf' size 40G blocksize 16k
                                                                          *
ERROR at line 1:
ORA-00933: SQL command not properly ended



SQL> create tablespace aaa datafile '/oracle/oradata/aa.dbf' size 40G blocksize 16k;

Tablespace created.


SQL> SQL> SQL> host du -sh /oracle/oradata/aa.dbf

41G     /oracle/oradata/aa.dbf




三、scope参数详解

SCOPE = SPFILE
 The change is applied in the  server  parameter file only. The effect is as follows:
■ For dynamic parameters, the change is effective at the next startup and is persistent.
■ For static parameters, the behavior. is the same as for dynamic parameters. This is the only SCOPE specification allowed for static parameters.
(此更改写入初始化参数文件,更改将在下次启动时生效。动态参数与静态参数都一样可以。也是静态参数唯一可以使用的方式。)
 必须是spfile启动的 数据库才可以啊。不然报错 
SCOPE = MEMORY
The change is applied in memory only. The effect is as follows:
■ For dynamic parameters, the effect is immediate, but it is not persistent because the server parameter file is not updated.
■ For static parameters, this specification is not allowed.
(只在内存上修改,立即生效,但重启后将不再生效,因为并没有写入到初始化参数文件。只适用于动态参数,静态参数则不允许。)
用于不是spfile启动的数据库上面。下次启动如果用spfile,就失效了。


SCOPE = BOTH
The change is applied in both the server parameter file and memory. The effect is as follows:
■ For dynamic parameters, the effect is immediate and persistent.
■ For static parameters, this specification is not allowed.
(既写入到初始化参数文件,也在内存上修改,立即生效。同样也只适用于动态参数,静态参数则不允许。)
 必须是spfile启动的数据库才可以啊。不然报错 

文章内容部分引用自:http://space.itpub.net/24873454/viewspace-709729


___________________________________________________________________________________

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Author:   laven54 (lurou)

Email:    laven54@163.com

Blog:      http://blog.csdn.net/laven54

QQ群: 164734649  可以到群里来提问,Oracle相关的问题我都很感兴趣


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值