oracle运维脚本,oracle 运维常用脚本(参数篇)

当你初为DBA角色,以下脚本能助力一臂之力,已经进化D请飘过.

调整 db_files 数量

默认为200,调整更大以支持更多表空间建立,修改步骤:

SQL> conn sys/123456 as sysdba

SQL> show parameter db_files; --显示环境最大的dbfile数量

SQL> shutdown immediate --关闭不了,使用shutdown abort;

SQL> startup nomount

SQL> alter system set db_files=10000 scope=spfile; --修改spfile 文件数

SQL> shutdown

SQL> startup

SQL> show parameter db_files;

备份spfile 文件,防止数据库配置后无法启动

SQL> create pfile='/home/oracle/spfile' from spfile;

创建spfile,数据库无法启动时使用

# cp /opt/oracle/admin/lnt/pfile/init.ora.63020161389 $ORACLE_HOME/dbs/initlnt.ora --init+实例名+'.ora'

# create spfile from pfile

# startup

关闭归档

SQL> conn sys/123456 as sysdba

SQL> shutdown immediate;

SQL> startup mount;

SQL> select flashback_on from v$database; --查询归档状态

SQL> archive log list; --查询归档状态

SQL> alter database flashback off; --关闭

SQL> alter database noarchivelog; --关闭

SQL> archive log list;

SQL> alter database open;

定时任务

注意以命令模式提交定时任务,表示30分钟执行

var job_num number;

begin

dbms_job.submit(:job_num,'PRC_TBS_MONITOR();',SYSDATE,'SYSDATE + 30/(24*60)');

end;

/

附加其它命令:

a) 查看定时任务

select * from DBA_JOBS;

b) 杀掉任务

exec dbms_job.remove(26);

c) 如果定时任务不执行,检查当库允许的job个数:

show parameter job_queue_processes;

alter system set job_queue_processes=10 scope=both;

RAC环境修改连接数

# sqlplus sys/123456 as sysdba

SQL>create pfile='/home/oracle/spfile' from spfile;

SQL>show parameter instance_name; --显示节点集群sid

SQL>show parameter processes; --当前进程数

SQL>show parameter sessions; --当前连接数

SQL>alter system set processes=1024 scope=spfile;

SQL>alter system set sessions=1558 scope=spfile;-- #(1.5 * PROCESSES) + 22 = sessions

SQL>exit;

# srvctl stop database -d devdb --关闭集群

# srvctl start database -d devdb --启动集群

SAG大小调整

a) 查看系统允许共享的最大虚拟内存

# getconf PAGE_SIZE --分页大小

4096

# cat /proc/sys/kernel/shmall --允许共享的最大分页数

2097152

系统允许的最大共享内存为:

4096 * 2097152 /1024/1024/1024 = 8G

oracle中sga + pga(大约0.8G) <= 8G

b) 调整sga为8G

如果sga目标调成8G,系统总允许共享内存至少为9G,那么系统允许共享的最大分页数shmall 至少为:

9*1024*1024*1024/4096 = 2359296

如果本机内存为16G,设置成跟物理内存一样大,那么:

16*1024*1024*1024/4096 = 4194304

c) 修改shmall

# echo 4194304 > /proc/sys/kernel/shmall --当前环境有效

# vi /etc/sysctl.conf -- kernel.shmall 参数 重启有效

d) 调整数据库sga大小

# sqlplus /nolog

SQL> conn sys/123456 as sysdba

SQL> show parameter sga --显示当前sga大小

SQL> shutdown immediate --关闭不了,使用shutdown abort;

SQL> startup nomount

SQL> show parameter sga

SQL> show parameter memory_target --查看当前oracle能用的最大内存

SQL> alter system set sga_max_size=8G scope=spfile;

SQL> alter system set sga_target=8G scope=spfile;

SQL> alter system set memory_max_target=9G scope=spfile; --大于sga_max_size

SQL> alter system set memory_target=9G scope=spfile;

SQL> shutdown

SQL> startup

SQL> show parameter sga

当然,这只是常用中的几点,其它欢迎交流...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值