存在的问题。
今天我们通过操作系统命令TOP,来优化数据,我们如何把操作系统与数据库关联起来哪,我们主要是通过操作系统TOP命令找到最消耗资源OS PID进程。
通过OS PID与V$PROCESS动态性能试图进行管理。我们知道V$PROCESS是被认为从操作系统到数据库的入口,而进入数据库内部,进程需要创建回话(SESSION)执行数据库操作的SQL语句,一般情况下,一个进程只会创建一个回话,但是在特殊的情况下,一个进程也可以创建多个数据库回话。回话的信息是通过动态性能试图V$SESSION来进行管理和体现的。
那么我们通过一个实验来看一下,如何完成从操作系统命令到数据库内部的操作,我们模拟一个出现故障的场景,我们通过操作系统命令TOP,进行观察,找到操作系统进程占CPU资源比较高的进程。
1.首先我们建立一个测试表t1,向表中插入一些数据。
SQL>create table t1 as select * from emp;
SQL>insert into t1 as select * from t1;
SQL>/
SQL>/
SQL>/
SQL>/
使表T1大约有几万条记录。
2.开3,4个会话,其中表t1有几万行的数据,同时运行,立刻查询上面的语句
declare v1 emp.sal%type; begin for n in 1..100 loop for k in 1..100 loop select count(*) into v1 from t1; end loop; dbms_lock.sleep(1); end loop; end; / |
3.通过操作系统命令TOP找到消耗CPU资源的进程
top - 12:57:42 up 19 min, 2 users, load average: 1.18, 0.35, 0.23 Tasks: 132 total, 2 running, 130 sleeping, 0 stopped, 0 zombie Cpu(s): 20.5%us, 5.9%sy, 0.0%ni, 73.1%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1034664k total, 883716k used, 150948k free, 125584k buffers Swap: 4120664k total, 0k used, 4120664k free, 609440k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5182 oracle 19 0 368m 50m 48m S 37.9 5.0 0:03.57 oracle 1 root 15 0 2160 652 564 S 0.0 0.1 0:02.30 init 2 root RT -5 0 0 0 S 0.0 0.0 0:00.05 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT -5 0 0 0 S 0.0 0.0 0:00.04 migration/1 5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1 6 root 10 -5 0 0 0 S 0.0 0.0 0:00.04 events/0 7 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1 8 root 11 -5 0 0 0 S 0.0 0.0 0:00.01 khelper 9 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread 13 root 10 -5 0 0 0 S 0.0 0.0 0:00.10 kblockd/0 14 root 10 -5 0 0 0 S 0.0 0.0 0:00.02 kblockd/1 15 root 16 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid 179 root 12 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0 180 root 12 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/1 183 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 khubd 185 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod 252 root 18 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd 253 root 17 0 0 0 0 S 0.0 0.0 0:00.00 pdflush 254 root 15 0 0 0 0 S 0.0 0.0 0:00.03 pdflush |