版本:oracle 11.2.0.4 rac for solaris 1.先备份spfile: 直接copy备份: su - oragrid -bash-4.1$ pwd /dlmapp/oragrid/home -bash-4.1$ id uid=1003(oragrid) gid=103(oinstall) -bash-4.1$ asmcmd ASMCMD> ls dlmDG1/ dlmDG2/ OCRVOTDG/ REDODG1/ ASMCMD> cd dlmdg1 ASMCMD> ls ASM/ dlm/ snapcf_dlm.f ASMCMD> cd dlm ASMCMD> cp spfiledlm.ora /dlmapp/oragrid/home/ copying +dlmdg1/dlm/spfiledlm.ora -> /dlmapp/oragrid/home//spfiledlm.ora 建立pfile来备份spfile: su - oradlm sqlplus /nolog conn /as sysdba create pfile='/dlmapp/orapl/home/initdlm.ora' from spfile; 若更改参数后,导致无法启动实例,可以按以下方法还原参数: 方法一: 在asmcmd中执行:cd /dlmapp/oragrid/home/spfiledlm.ora +dlmdg1/dlm/,copy完后,查看到实际的spfile文件名,然后在更改每个实例对应的init参数文件的指向,如下: -bash-4.1$ cat initdlm2.ora SPFILE='+dlmDG1/dlm/spfiledlm.ora' ---spfile文件名作相应修改 方法二: 以备份的pfile文件启动实例,如下: SQL>startup nomount pfile=/dlmapp/orapl/home/initdlm.ora SQL>create spfile='+dlmDG1' from pfile; 查看到实际的spfile文件名,然后在更改每个实例对应的init参数文件的指向,如下: -bash-4.1$ cat initdlm2.ora SPFILE='+dlmDG1/dlm/spfiledlm.ora' ---spfile文件名作相应修改 优先方法二,通过pfile来恢复 2.OS的内存参数修改(两节点)su - root projects -l projmod -sK "project.max-shm-memory=(privileged,600G,deny)" user.oradlm projmod -sK "project.max-shm-memory=(privileged,600G,deny)" user.oragrid 3.数据库参数修改 周五晚利用应用程序发版时间,先停掉应用,再一个一个实例来改sga参数: 节点一: alter system reset sga_max_size scope=spfile; #原来为150G alter system set db_cache_size=120G scope=spfile; alter system set shared_pool_size=75G scope=spfile; #原来为26G alter system reset shared_pool_reserved_size scope=spfile; #原来为512M alter system set db_keep_cache_size=270G scope=spfile; #原来为1G alter system set "_lm_sync_timeout"=1200 scope=spfile; #(11.2.0.4 缺省为 163) alter system set "_lm_tickets"=8000 scope=spfile; #(11.2.0.4 缺省为 1000) alter system set "_ksmg_granule_size"=134217728 scope=spfile; #原来为16777216 alter system set "_gc_policy_minimum"=15000 scope=spfile; #(11.2.0.4 缺省为 1500) alter system set gcs_server_processes=20 scope=spfile; #原来为10 alter system set java_pool_size=3584M scope=spfile; #原来为2G 已有的其它内存参数设置,参考如下: large_pool_size big integer 15808M streams_pool_size big integer 1G 更改完后,同时停掉实例,然后一个一个节点地启动实例。 查看当前用户设置的shm设置是有更改: prctl -n project.max-shm-memory -i process $$ 4.重启 -bash-4.1$ srvctl start instance -d dlm -i dlm2PRCR-1013 : Failed to start resource ora.dlm.db PRCR-1064 : Failed to start resource ora.dlm.db on node abc208 CRS-5017: The resource action "ora.dlm.db start" encountered the following error: ORA-27102: out of memory SVR4 Error: 22: Invalid argument . For details refer to "(:CLSN00107:)" in "/dlmapp/oragrid/11.2.0/log/abc208/agent/crsd/oraagent_oradlm/oraagent_oradlm.log". CRS-2674: Start of 'ora.dlm.db' on 'msuu208' failed alert log中报错: optimally. Creating a segment of size 0x0000007660000000 failed. Please change the shm parameters so that a segment can be created for this size. While this is not a fatal issue, creating one segment may improve performance 用srvctl启动实例报错 用sqlplus可以正常启动。 可能原因是因为oragrid下的project刚设置上,而rac很多组件是工作在oragrid下的,需要重启crs服务,可能才会生效,,所以先用sqlplus启动,以后再找时间重启crs后,再用srvctl启动. |
|