背景:对主备机的物理内存扩容一倍,内存扩容后,需要修改数据库相关的内存参数,包括数据库层面和操作系统层面。预计对备机扩容一倍内存操作完毕后,修改相关..

背景:

对主备机的物理内存扩容一倍,内存扩容后,需要修改数据库相关的内存参数,包括数据库层面和操作系统层面。预计对备机扩容一倍内存操作完毕后,修改相关内存参数,将数据库启动到备机,运行2天,若没有问题,再对之前的主机物理内存扩容一倍,将数据库切换到备机。之所以这么做,是因为扩容操作,需要关闭操作系统,一晚上搞不定,所以分两次操作,同时也可以更好的确保,主备机在内存扩容和修改相关数据库参数后,都可以正常运行。

环境介绍:双机

操作系统:solaris 10

数据库版本:oracle 11g R1 64bit

当前主机的hostname和IP: fly-db1 192.168.20.20

当前备机的hostname和IP: fly-db2 192.168.20.21

物理内存,扩容前94G,扩容后188G

1、确认数据库的内存管理方式:手动管理SQL> show parameter memory_target

NAME

TYPE

VALUE

------------------------------------ ----------- -------

memory_target

big integer 0

SQL> show parameter sga_target

NAME

TYPE

VALUE

------------------------------------ ----------- -------

sga_target

big integer

0

2、查看当前spfile路径:采用共享存储SQL>show parameter spfile 3、刚已确认数据库的参数文件采用共享存储,则数据库的所有文件(控制文件,在线日志,数据文件(数据表空间和临时表空间的数据文件),参数文件)均应该为裸设备,现需确认主备机数据库的这些文件确实为裸设备,以及权限均为:oracle:oinstall或者oracle:dba,以避免双机切换过程中,因为数据库的文件权限不正确或使用到文件系统的数据文件导致切换失败(之前遇到过这种情况,所以需要再次确认)bash-3.00$ hostname

fly-db1

bash-3.00$ cat check_file.sql //在当前主机运行以下SQL,查询所有数据库文件,保存到文本oracle_131215.txt

set heading off

set echo off

set newpage none

set feedback off

spool oracle_131215.txt

select file_name from dba_data_files;

select file_name from dba_temp_files;

select member from v$logfile;

select name from v$controlfile;

select value from v$parameter where;

spool off

bash-3.00$ sqlplus /nolog

SQL> conn /as sysdba

Connected.

SQL> @check_file.sql

SQL> quit

bash-3.00$ ls

check_file.sql

oracle_131215.txt

bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i;done //查看这些文件(有省略)是否为裸设备(即字符设备),权限是否正确

crw------- 1 oracle dba

342, 200 Dec 15 07:39 /dev/raw/raw1

crw------- 1 oracle dba

342, 201 Dec 15 02:57 /dev/raw/raw2

crw------- 1 oracle dba

342, 202 Dec 15 03:04 /dev/raw/raw3

crw------- 1 oracle dba

342, 254 Dec 15 01:22 /dev/raw/raw4

crw------- 1 oracle dba

342, 253 Dec 15 03:25 /dev/raw/raw5

bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep -v ^c;done //若文件个数太多,则刷选开头不是c打头的文件,若无输出,即均为裸设备

bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep root;done //刷选是否有root字眼的文件,文件创建时,默认为root:root

bash-3.00$ scp oracle_131215.txt oracle@192.168.20.21:/home/oracle/ //在备机执行一样的操作

Password:

oracle_131215.txt 100% |*********************************************************************************| 27216

00:00

bash-3.00$ ssh oracle@192.168.20.21

Password:

Last login: Sun Dec 15 10:31:13 2013 from 192.168.20.20

ONLY Authorized users only! All accesses logged

fly-db2% bash

bash-3.00$ hostname

fly-db2

bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i;done

crw------- 1 oracle dba

342, 200 Sep 15 2012 /dev/raw/raw1

crw------- 1 oracle dba

342, 201 Sep 15 2012 /dev/raw/raw2

crw------- 1 oracle dba

342, 202 Sep 15 2012 /dev/raw/raw3

crw------- 1 oracle dba

342, 254 Sep 15 2012 /dev/raw/raw4

crw------- 1 oracle dba

342, 253 Sep 15 2012 /dev/raw/raw5

bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep -v ^c;done

bash-3.00$ for i in $(cat oracle_131215.txt);do ls -l $i | grep root;done

4、确认需要修改的参数:在主备机修改/etc/system文件中的以下参数为以下值,:(shmsys:shminfo_shmmax为共享内存段的最大值,一般为物理内存的一半,精确到字节)

set shmsys:shminfo_shmmax=100931731456

将以下数据库参数修改为以下值:

memory_max_target=110G //物理内存的60%

sga_max_size=110G //物理内存的60%

db_cache_size=55G //物理内存的30%

shared_pool_size=10G //物理内存的5%

pga_aggregate_target=18G //物理内存的10%

db_files=2000 //数据库的数据文件个数限制修改为2000

processes=3000 //当前该值已经很大,不再修改

具体的操作步骤如下:

1、主备机的/etc/system文件必须一致,否则将备机的shmsys:shminfo_shmmax参数修改后,重启备机操作系统生效该参数时,将失败,/etc/system文件只有在操作系统引导时,才会被读取,理论上,在数据库运行时,是可以修改/etc/system文件的shmsys:shminfo_shmmax参数的

2、修改主备机的/etc/system文件中的shmsys:shminfo_shmmax参数为物理内存(188G)的一半,精确到字节。

set shmsys:shminfo_shmmax=100931731456

3、对比主备机的/etc/system文件是否一致,无任何输出,则一致bash-3.00#hostname

fly-db1

bash-3.00# diff /etc/system /home/oracle/system_flydb2_131215.bak

4、重启备机操作系统,生效该参数的设置bash-3.00# hostname

fly-db1

bash-3.00# sync

bash-3.00# sync

bash-3.00# sync

bash-3.00# shutdown -i6 -g0 -y

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

修改oracle数据库内存参数,物理内存扩容,oracle 11g R1数据库相关参数修改相关推荐

  1. oracle服务器内存显示错误,Oracle数据库内存溢出或作业不可用导致数据库宕机

    相关报错信息如下所示: 查看数据库的警告日志alert*.log信息进行分析: Process J000 died, see its trace file kkjcre1p: unable to sp ...

  2. oracle linux内存推荐分配,浅析Oracle 的体系架构及内存分配机制

    接着讲述Oracle SGA 的内存分配 1: SGA基本的介绍 a. Shared Pool共享池 b. Dataabse Buffer Cache (数据块缓存) c. Redo Log Buff ...

  3. hadoop yarn 获取日志_Hadoop YARN配置参数剖析(2)—权限与日志聚集相关参数

    注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患.另外,这些参数均需要在yarn-site.xml中配置. 1.    权限相关配置参数 这里的权限由三部分组成,分别是:( ...

  4. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  5. MySQL相关参数配置及性能优化

    MySQL及其优化 文章目录 MySQL及其优化 数据库相关概念 事务的四大特性ACID 影响mysql数据库性能的几个方面 数据库性能优化的重点 CentOS系统参数优化 内核相关参数(/etc/s ...

  6. cdb内存 oracle,【CDB】怎样修改PDB的内存参数

    多租户环境中的内存参数管理(CDB 和 PDB ) 1. 哪些参数可以在PDB 中修改 随着多租户数据库的数显,容器数据库(CDB )和相关的可插拔数据库( PDB )之间的内存管理仍然出现着一些问题 ...

  7. windows oracle 内存大,如何设计Oracle数据库内存的大小

    SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享.它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写 ...

  8. oracle内存管理模式amm,Oracle 11g自动内存管理(AMM)相关的初始化参数

    Oracle对内存的管理越来越趋向智能化.自动化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared Memory Manageme ...

  9. oracle数据库内存调整之增加内存

    模拟操作系统内存从2G增加为8G后,调整数据库内存参数,示例中参数不作为实际生产环境参考,因为因需所取,调整参数需要根据数据库相应调整,避免小牛拉大车,大牛拉小车的现象. 查看原始配置数据 [orac ...

最新文章

  1. 004_CSS元素选择器
  2. django 框架中应用 redis 集群(亲测)
  3. 机器人铁锈斑斑好吗_工业机器人系统运维员是什么职业?这个职业好吗?去哪里学?...
  4. npm install 安装软件,出现 operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache'...
  5. ejb java_EJB继承与Java继承不同
  6. mysql安装被打断_MySQL安装未响应解决方法
  7. python日期转化利器arrow实践
  8. acWing 1296 聪明的燕姿
  9. oracle vm virtualbox 卸载
  10. windows10---Excel2016基本操作技巧
  11. 项目3-商城-1-注册登录首页
  12. android系统时间获取方式
  13. 记:psd中图标转成svg并上传到iconfont制作成图标
  14. Python字符串对齐方法(ljust()、rjust()和center())详解
  15. Oracle字符串类型扩容隐患
  16. [运维] linux定时关机命令
  17. 【报告分享】2021百度快消人群洞察-百度营销研究院(附下载)
  18. 【安全牛学习笔记】POP3
  19. NVMe Over Fabrics架构概述
  20. 小程序 input首行缩进失效

热门文章

  1. 演练 制作爱奇异视频播放列表 0929
  2. jquery-尺寸相关
  3. php 使用 array_reduce 实现多维数组分组(groupby)聚合
  4. Laravel + MongoDB 数组字段相关查询
  5. php curl cookie 读写
  6. c#-SimHash匹配相似-算法
  7. Unity3D的LightProbe动态光探头用法介绍
  8. C# 中? 和 ?? 在变量中的使用
  9. js获取表单文本框中的值
  10. ThinkPHP对Cookie的支持