RAC环境下如何将数据库内存由200G调整到500G
2017-08-31 10:33
375 查看
版本: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 dlm2
PRCR-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启动.
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 dlm2
PRCR-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启动.
相关文章推荐
- 在应用环境中如何构造最优的数据库模式 (1)
- C#的数据库应用如何解决内存消耗太大的问题呢?
- 如何调整weblogic内存大小
- 如何获得rac环境中的主节点(how to identify master node in rac)
- 如何估算PGA,SGA的大小,配置数据库服务器的内存
- 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性能
- 在RAC环境中如何管理日志(redolog file)组
- 通过对oracle内存(SGA和PGA)进行调整,优化数据库性能
- 在RAC环境中如何管理日志(redologfile)组
- C#的数据库应用如何解决内存消耗太大的问题呢?
- linux环境下如何查看内存
- oracle实例的内存(SGA和PGA)调整,优化数据库性能
- 如何估算PGA,SGA的大小,配置数据库服务器的内存
- Linux+Oracle环境下如何将A服务器上的数据库备份还原到B服务器
- 怎样在Java的环境下连接Oracle数据库及如何调用数据库中的Procedure和Function ZT
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:3.安装Oracle RAC-3.5.安装oracle11gr2 database 软件与创建数据库
- 如何根据性能选择内存NoSQL数据库?
- 【RAC】rac环境下的数据库备份与还原
- 构建Oracle高可用环境HA rac:企业级高可用数据库架构、实战与经验总结
- 环境节点[置顶] 如何终止特定 RAC 实例上的 session