【学习笔记】Oracle进程调度策略优先级 high_priority_processes案例

时间:2016-10-27 21:51   来源:Oracle研究中心   作者:HTZ   点击:

天萃荷净

分享一篇关于Oracle数据库进程调度策略优先级的测试文章,关于参数high_priority_processes的使用案例。

1,测试环境

oracleplus.net> !lsb_release -a

LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch

Distributor ID: RedHatEnterpriseServer

Description: Red Hat Enterprise Linux Server release 4.8 (Tikanga)

Release: 4.8

Codename: Tikanga

oracleplus.net> select * from v$version where rownum<3;

BANNER

—————————————————————-

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 – 64bi

PL/SQL Release 10.2.0.5.0 – Production

2,数据库中修改指定进程的调度策略

linux环境中进程调度的策略有如下几种:

普通的分时策略 TS SCHED_OTHER

实时FIFO的策略 FF SCHED_FIFO

实时时间片策略 RR SCHED_RR

普通批处理策略 B SCHED_BATCH

下面lgwr为例在数据库中修改进程的调度策略

[root@oracleplus.net ~]#ps -Acfl|head -1;ps -Acfl|grep lgwr

F S UID PID PPID CLS PRI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22959 1 TS 24 – 70706 – Jul17 00:00:00 asm_lgwr_+ASM

0 S oracle 26054 1 TS 41 – 190806 – 05:26 00:00:00 ora_lgwr_asm10g

0 R root 26227 26114 TS 21 – 15296 – 05:53 pts/4 00:00:00 grep lgwr

oracleplus.net> alter system set "_high_priority_processes"="LMS*|LGWR" scope=spfile;

System altered.

oracleplus.net> startup force;

ORACLE instance started.

Total System Global Area 599785472 bytes

Fixed Size 2098112 bytes

Variable Size 163580992 bytes

Database Buffers 427819008 bytes

Redo Buffers 6287360 bytes

Database mounted.

Database opened.

oracleplus.net> show parameter high

NAME TYPE

———————————— ———–

VALUE

——————————

_high_priority_processes string

LMS*|LGWR

[root@oracleplus.net ~]#ps -Acfl|head -1;ps -Acfl|grep lgwr

F S UID PID PPID CLS PRI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22959 1 TS 24 – 70706 – Jul17 00:00:00 asm_lgwr_+ASM

0 S oracle 26054 1 RR 41 – 190806 – 05:26 00:00:00 ora_lgwr_asm10g

0 R root 26227 26114 TS 21 – 15296 – 05:53 pts/4 00:00:00 grep lgwr

这里可以看到lgwr的调试策略已经更改为RR模式。

3,操作系统更改进程调度模式

在操作以上面我们也可以通过chrt来更改进程的调度模式,不过只能在root用户下面执行,下面以dbw为例

[root@oracleplus.net ~]#chrt -r -p 1 26052

[root@oracleplus.net ~]#ps -Afl|head -1;ps -Afl|grep dbw

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22957 1 0 75 0 – 71540 – Jul17 00:00:00 asm_dbw0_+ASM

0 S oracle 26052 1 0 58 – – 186310 – 05:26 00:00:00 ora_dbw0_asm10g

0 R root 26555 26114 0 79 0 – 15296 – 06:42 pts/4 00:00:00 grep dbw

[root@oracleplus.net ~]#ps -Afcl|head -1;ps -Afcl|grep dbw

F S UID PID PPID CLS PRI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22957 1 TS 24 – 71540 – Jul17 00:00:00 asm_dbw0_+ASM

0 S oracle 26052 1 RR 41 – 186310 – 05:26 00:00:00 ora_dbw0_asm10g

0 R root 26559 26114 TS 20 – 15296 – 06:42 pts/4 00:00:00 grep dbw

下面将dbw进程调度模式从RR更改TS

[root@oracleplus.net ~]#chrt –other -p 0 26052

[root@oracleplus.net ~]#ps -Afcl|head -1;ps -Afcl|grep dbw

F S UID PID PPID CLS PRI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22957 1 TS 24 – 71540 – Jul17 00:00:00 asm_dbw0_+ASM

0 S oracle 26052 1 TS 29 – 186310 – 05:26 00:00:00 ora_dbw0_asm10g

0 R root 26586 26114 TS 20 – 15296 – 06:47 pts/4 00:00:00 grep db

4,renice更改进程优先级

renice只能在root用户下才能提高进程优先级,普通用户下只能降低进程的优化先级

下面两样以dbw进程为例

[root@oracleplus.net ~]#ps -Afcl|head -1;ps -Afcl|grep dbw

F S UIDOracleо PID PPID CLS PRI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22957 1 TS 24 – 71540 – Jul17 00:00:00 asm_dbw0_+ASM

0 S oracle 26052 1 TS 29 – 186310 – 05:26 00:00:00 ora_dbw0_asm10g

0 R root 26532 26114 TS 20 – 15296 – 06:37 pts/4 00:00:00 grep dbw

[root@oracleplus.net ~]#ps -Afl|head -1;ps -Afl|grep dbw

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22957 1 0 75 0 – 71540 – Jul17 00:00:00 asm_dbw0_+ASM

0 S oracle 26052 1 0 75 0 – 186310 – 05:26 00:00:00 ora_dbw0_asm10g

0 R root 26522 26114 0 79 0 – 15296 – 06:36 pts/4 00:00:00 grep dbw

这里看到DBW进程的调度策略为TS,NI的值为0,下面我们将NI的更改为–5

[root@oracleplus.net ~]#renice -5 -p 26052

26052: old priority 0, new priority -5

[root@oracleplus.net ~]#ps -Afl|head -1;ps -Afl|grep dbw

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22957 1 0 75 0 – 71540 – Jul17 00:00:00 asm_dbw0_+ASM

0 S oracle 26052 1 0 70 -5 – 186310 – 05:26 00:00:00 ora_dbw0_asm10g

这里看到renice已经修改成功。

不过这里需要注意的是,renice修改进程的调试模式为RR时,提示修改成功,但是使用命令无法查看。

[root@oracleplus.net ~]#ps -Afcl|head -1;ps -Afcl|grep lgw

F S UID PID PPID CLS PRI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22959 1 TS 24 – 70706 – Jul17 00:00:00 asm_lgwr_+ASM

0 S oracle 26054 1 RR 80 – 190806 – 05:26 00:00:00 ora_lgwr_asm10g

0 R root 26541 26114 TS 20 – 15296 – 06:39 pts/4 00:00:00 grep lgw

[root@oracleplus.net ~]#renice -5 -p 26054

26054: old priority -5, new priority -5

[root@oracleplus.net ~]#ps -Afl|head -1;ps -Afl|grep lgw

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD

0 S oracle 22959 1 0 75 0 – 70706 – Jul17 00:00:00 asm_lgwr_+ASM

0 S oracle 26054 1 0 19 – – 190806 – 05:26 00:00:00 ora_lgwr_asm10g

0 R root 26546 26114 0 79 0 – 15296 – 06:40 pts/4 00:00:00 grep lgw

本文固定链接: http://www.htz.pw/2014/07/18/linux%e7%8e%af%e5%a2%83oracle%e8%bf%9b%e7%a8%8b%e8%b0%83%e5%ba%a6%e7%ad%96%e7%95%a5%e4%b8%8e%e4%bc%98%e5%85%88%e7%ba%a7.html | 认真就输

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【学习笔记】Oracle进程调度策略优先级 high_priority_processes案例

oracle的PRIPID字段,【学习笔记】Oracle进程调度策略优先级 high_priority_processes案例...相关推荐

  1. oracle 删除awr报告,学习笔记:Oracle awr入门 深入了解AWR报告

    天萃荷净 深入了解AWR报告,ASH与AWR报告的官方说明,数据库进程和性能视图获取 1.AWR与ASH概念 1.ASH 若是一个普通的会话(我是指没有大量地耗费资源),则对于性能调整来说无足轻重.但 ...

  2. oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...

    天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...

  3. oracle 最大值及其_学习笔记:Oracle优化 SQL查询最大值 最小值时的优化方法案例...

    天萃荷净 select max(id),min(id) from table优化,分享开发DBA需求,在SQL语句查询最大值.最小值数据时的优化方式案例 1.查看数据库版本 SQL> selec ...

  4. oracle 创建角色 权限设置,[学习笔记] Oracle创建用户、分配权限、设置角色,

    [学习笔记] Oracle创建用户.分配权限.设置角色, 创建用户 create user student --用户名 identified by "123456" --密码 de ...

  5. oracle的脚本日志,学习笔记:Oracle alert日志文件巡检脚本

    天萃荷净 分享一篇Oracle alert日志文件巡检脚本 每天都检查oracle日志,所以写了一个比较完善的shell,让其自动处理,在运行程序之前,需要在该脚本目录下新建tmp目录 #!/usr/ ...

  6. oracle rac 环境配置文件,学习笔记:Oracle RAC spfile参数文件配置案例详解

    天萃荷净 rac中的spfile探讨,记录一下Oracle RAC搭建完成后关于spfile参数文件的配置案例,与更改RAC环境中参数文件的方法 今天朋友的的rac,因为被同事做数据库升级,分别在两个 ...

  7. oracle常用数据统计,学习笔记:Oracle DBMS_STATS常用方法汇总 常用于收集统计oracle...

    天萃荷净 Oracle数据库中DBMS_STATS常用方法(收集oracle数据库.索引.表等信息) –收集Oracle数据库信息命令 EXEC DBMS_STATS.gather_database_ ...

  8. oracle数据变化记录,学习笔记:Oracle伪列函数ora_rowscn 记录表中行数据的修改时间...

    天萃荷净 Oracle数据库开发时使用伪列函数ora_rowscn查询出数据库表中行数据的修改时间 一.默认情况下 –创建t_orascn测试表 SQL> create table t_oras ...

  9. Oracle数据二进制传输,学习笔记:Oracle数值函数 十进制与二进制相互转换的函数使用案例...

    天萃荷净 ORACLE 十进制与二进制互转函数,开发DBA向我咨询数值转换的方法,Oracle数值转换函数NUMBER_TO_BIT等函数可用 1.Oracle数值转换之十进制转换二进制 CREATE ...

最新文章

  1. Word文档使用密码加密
  2. qml 自定义消息框_Qt qml 自定义消息提示框
  3. 检索数据_9_返回的字段在某个范围内的数据
  4. 如何分享文件_分布式文件存储系统如何分享文件
  5. mybatis获取mysql存储过程out参数的值_mybatis接受mysql存储过程out的值
  6. 2016第11届四川省高校计算机(软件)院长论坛纪要(旁听)
  7. .net程序员安全注意代码及服务器配置
  8. 论文浅尝 | GMNN: Graph Markov Neural Networks
  9. NameNode启动
  10. php 获取客户端的ip、地理信息、浏览器信息、本地真实ip
  11. 带通滤波器电路图设计(转)
  12. 杜邦线改成焊线_排线和杜邦线有什么区别
  13. 可以用美图秀秀裁一寸照片
  14. 【JS】388- 深入了解强大的 ES6 「 ... 」 运算符
  15. Tomcat 安装Namecheap SSL证书教程
  16. 你真的懂Java怎么输出Hello World吗?
  17. 【码支付系统】无授权—个人免签约支付系统二维码收款即时到账源码
  18. MySQL数据修改语句
  19. window10环境下tensorflow-gpu-2.7.0安装
  20. MAC 下 CocoaPods 安装与使用来管理项目第三方框架

热门文章

  1. ccxprocess启动项可以禁用么_如何禁用Mac的Adobe无用自启动项?
  2. linux下的虚拟机安装介绍
  3. 【Java 数组和集合 区别及使用案例】
  4. 如何做一个体贴的男友?(转自百度
  5. overleaf中添加论文引用(亲测有效)
  6. 关于macOS、iPadOS深色模式无法自动切换的解决方案
  7. vue项目点击导航滑动到相应的位置
  8. HTML-table标签属性
  9. 一般将来时 例句分析
  10. Mac 办公常用30大快捷键