RAC 修改数据参数不生效。
问题:在修改数据库归档日志位置,之后,数据库重启之后,归档文件位置又恢复到原来位置:
SQL> show spparameter log_archive_dest_1;
SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
* log_archive_dest_1 string location=+arc
ycloans1 log_archive_dest_1 string location=/arch1
ycloans2 log_archive_dest_1 string location=/arch2
* log_archive_dest_10 string
* log_archive_dest_11 string
* log_archive_dest_12 string
* log_archive_dest_13 string
* log_archive_dest_14 string
* log_archive_dest_15 string
* log_archive_dest_16 string
* log_archive_dest_17 string
#发现问题。sid和*参数同时设置了,需要清空sid的归档日志参数。
清空配置命令:
alter system reset log_archive_dest_1 sid='ycloans1';
alter system reset log_archive_dest_1 sid='ycloans2';
show spparameter log_archive_dest_1;
####
SQL> SQL>
SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
* log_archive_dest_1 string location=+arc
* log_archive_dest_10 string
* log_archive_dest_11 string
* log_archive_dest_12 string
对于log_archive_dest_1参数设置有两类,一类是'*.'开头的,一个是以'<sid>.'开头的。'*.'开头的设置是对全部与数据库相关的且没有设置该参数的实例有效,而以'<sid>.'开头的设置只对设置对应的实例有效。
对于同一个参数同时有'*.'开头的和以'<sid>.'开头的参数设置时,Oracle会选哪一个作为实例的参数设置的:
SID The SID
clause lets you specify the SID of the instance where the value will take effect.
-
Specify
SID
='*'
if you want Oracle Database to change the value of the parameter for all instances that do not already have an explicit setting for this parameter. -
Specify
SID
='sid'
if you want Oracle Database to change the value of the parameter only for the instancesid
. This setting takes precedence over previous and subsequentALTER
SYSTEM
SET
statements that specifySID
='*'
.
- 点赞
- 收藏
- 关注作者
评论(0)