CentOS6u9 Oracle11g RAC 搭建部署(四)集群配置优化

8-集群优化:

1° 归档开启:

# 节点1操作:
su - oracle
sqlplus / as sysdba
alter system set cluster_database=false scope=spfile sid='*';
exit
# 关闭集群状态

su - grid
srvctl stop database -d orcl -o IMMEDIATE
# 使用grid用户关闭所有节点上的oracle数据库
exit

su - oracle
sqlplus / as sysdba
startup mount
show parameter cluster_database
-- 查看并确定非集群状态
alter database archivelog;
alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile;
alter system set log_archive_dest_1='location=+ARCHDG'  scope=spfile;
alter system set cluster_database=true scope=spfile sid='*';
shutdown immediate;
exit

su - grid
srvctl start database -d orcl
# 使用grid用户打开所有节点上的oracle库
exit

su - oracle
sqlplus  / as sysdba
archive log list;
alter system archive log current;
col INST_ID for 9
col NAME for a80
col COMPLETION_TIME for a30
set linesize 200
select l.inst_id,l.name,l.completion_time from gv$archived_log l;
exit
# 验证归档位置

echo 'delete noprompt archivelog all;'|rman target /
# 删除归档,如果存在非DG上的归档,即归档放在了本地,则需要单独登录对应节点进行删除

2° 控制文件冗余:

# 节点1操作:

# 集群搭建后,控制文件默认只有一份,需要创建多副本冗余到另外的dg之上
su - oracle
echo 'select name from v$controlfile;'|sqlplus / as sysdba
exit

su - grid
srvctl stop database -d orcl -o immediate
asmcmd find --type CONTROLFILE +DATADG '*'
# 可以使用asmcmd的find参数,查找+DATADG 中的控制文件
# asmcmd find --type CONTROLFILE + '*'
# 直接使用+匹配所有的dg
exit

su - oracle
rman target /
startup nomount;
restore controlfile to '+ARCHDG' from '+DATADG/orcl/controlfile/current.256.976443495';
exit

su - grid
asmcmd find --type CONTROLFILE + '*'
exit

su - oracle
sqlplus / as sysdba
alter system set control_files='+ARCHDG/ORCL/CONTROLFILE/current.257.976464389','+DATADG/ORCL/CONTROLFILE/Current.256.976443495' scope=spfile;
shutdown immediate;
exit

su - grid
srvctl start database -d orcl
exit

su - oracle
echo 'select name from v$controlfile;'|sqlplus / as sysdba
exit
# 查询验证

3° 日志文件容量修改和冗余:

# 节点1操作:
su - oracle
sqlplus / as sysdba
col MEMBER for a60
set linesize 100
select THREAD#,GROUP#,STATUS,BYTES,MEMBERS from v$log order by 1,2;
select * from v$logfile order by 1;
-- 新建库,只有四个日志组,每组一个组员,分属于两个实例,以线程号 THREAD# 区分,
-- 此时无法删除,因每个实例只有两组日志

alter database add logfile thread 1 group 5 ('+DATADG','+ARCHDG') size 150m; 
alter database add logfile thread 1 group 6 ('+DATADG','+ARCHDG') size 150m; 
alter database add logfile thread 2 group 7 ('+DATADG','+ARCHDG') size 150m; 
alter database add logfile thread 2 group 8 ('+DATADG','+ARCHDG') size 150m;
-- 分别为每个实例添加两个日志组,每组日志俩成员,根据需求修改日志文件容量

alter system archive log current;
select THREAD#,GROUP#,STATUS,BYTES,MEMBERS from v$log order by 1,2;
-- 切日志,当日志为INACTIVE状态时,重建

alter database drop logfile group 1;
alter database drop logfile group 3;
alter database add logfile thread 1 group 1 ('+DATADG','+ARCHDG') size 150m;
alter database add logfile thread 2 group 3 ('+DATADG','+ARCHDG') size 150m;
-- 重建实例1的第一组日志,实例2的第三组日志

alter system archive log current;
select THREAD#,GROUP#,STATUS,BYTES,MEMBERS from v$log order by 1,2;
alter database drop logfile group 2;
alter database drop logfile group 4;
alter database add logfile thread 1 group 2 ('+DATADG','+ARCHDG') size 150m;
alter database add logfile thread 2 group 4 ('+DATADG','+ARCHDG') size 150m;

4° 密码生存周期和默认审计以及段延迟分配优化:

# 节点1操作:
su - oracle
sqlplus / as sysdba
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
-- 将默认的密码生存周期由180天改为无限制
-- alter system set sec_case_sensitive_logon=false;
-- 密码不区分大小写,10g默认不区分,11g需设置,根据需求进行优化
alter system set audit_trail=none scope=spfile sid='*';
-- 关闭默认库级审计,需要重启所有节点上的库
alter system set deferred_segment_creation=false;
-- 关闭段延迟分配
alter system set sessions=2480 scope=spfile sid='*';
alter system set processes=1500 scope=spfile sid='*';
-- 这俩个参数根据实际需求进行修改
exit

su - grid
srvctl stop  database -d orcl
srvctl start database -d orcl
exit

5° Trace File Analyzer Collector 和 Oracle Application Server 关闭

# TFA(Trace File Analyzer Collector) 自动收集诊断信息,根据需求开启或关闭
# 两节点都需要执行
su - root
/u01/11.2.0/grid/bin/tfactl status
/u01/11.2.0/grid/bin/tfactl disable
/u01/11.2.0/grid/bin/tfactl stop

# Oracle Application Server 基于java的web容器
# 对应集群组件为 ora.oc4j
# 曾经遇到过BUG,该进程导致的磁盘IO超高
# 实际上也是不需要打开的,web容器有专门的业务主机运行
su - grid
srvctl disable oc4j
srvctl stop oc4j

[TOC]

猜你喜欢

转载自blog.csdn.net/zwjzqqb/article/details/80365209
今日推荐