关于进程、hang以及表空间的利用率的管理
进程 管理 关于 以及 空间 利用率
2023-09-14 09:13:31 时间
1.进程管理
Step1 : 获取进程号
ps -ef |grep XXXX.sh
Step2: Kill 进程
kill -9 进程号
Step 3: 检查原始需清理的进程是否被清理干净。否,则进行以下几步:
- ps -ef |grep xxx.sh 获得该脚本的进程号
- ps -ef |grep sqlplus 获得该脚本的sqlplus的进程号
- 将获取到的sqlplus进程号号代入以下脚本:
SELECT a.SID, a.SERIAL#, a.MACHINE, a.MODULE, b.SQL_TEXT
FROM v$session a, v$sqlarea b
WHERE b.ADDRESS = a.SQL_ADDRESS
AND process = ’ &unix_process_id’ /*此处的unix_process_id为刚刚查到的sqlplus进程号,如112 */
ORDER BY PROCESS, a.MACHINE, a.PROGRAM;
4. 根据上面脚本跑出的a.SID, a.SERIAL#, 使用以下脚本进行kill
alter system kill session ‘sid,serial#’ ;
2.hang进程 的管理
从进程管理中获取已经跑出的a.SID, a.SERIAL#。代入以下脚本
SELECT DECODE(TARGET_DESC,
NULL,
DECODE(TARGET,
NULL,
OPNAME,
CONCAT(OPNAME, CONCAT(‘ – ‘, TARGET))),
DECODE(TARGET,
NULL,
CONCAT(OPNAME, CONCAT(‘ :‘, TARGET_DESC)),
CONCAT(OPNAME,
CONCAT(‘ :‘,
CONCAT(TARGET_DESC, CONCAT(‘ – ‘, TARGET)))))) 当前操作,
SOFAR 已处理,
TOTALWORK 总共需处理,
UNITS,
START_TIME,
TO_CHAR(ELAPSED_SECONDS, ‘99999990.00’) "已经耗时(秒)",
DECODE(SOFAR,
0,
0,
ROUND(ELAPSED_SECONDS * (TOTALWORK – SOFAR) / SOFAR)) "剩余时间(秒)"
FROM V$SESSION_LONGOPS
WHERE SID = 13 /*sid*/
AND SERIAL# = 15 /*serial#*/
AND SOFAR < TOTALWORK;
3.表空间的利用率的管理
SELECT d.status "Status",
d.tablespace_name "Name",
d.contents "Type",
d.extent_management "Extent Management",
to_char(nvl(a.bytes / 1024 / 1024, 0), ‘99, 999, 990.900’) "Size (M)",
to_char(nvl(a.bytes – nvl(f.bytes, 0), 0) / 1024 / 1024,
‘99999999.999’) || ‘ / ’ ||
to_char(nvl(a.bytes / 1024 / 1024, 0), ‘99999999.999’) "Used (M)",
to_char(nvl((a.bytes – nvl(f.bytes, 0)) / a.bytes * 100, 0),
‘990.00’) "Used %"
FROM sys.dba_tablespaces d,
(SELECT tablespace_name, SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) bytes
FROM dba_free_space
GROUP BY tablespace_name) f
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = f.tablespace_name(+)
AND NOT
(d.extent_management LIKE ‘LOCAL’ AND d.contents LIKE ‘TEMPORARY’)
UNION ALL
SELECT d.status "Status",
d.tablespace_name "Name",
d.contents "Type",
d.extent_management "Extent Management",
to_char(nvl(a.bytes / 1024 / 1024, 0), ‘99, 999, 990.900’) "Size (M)",
to_char(nvl(t.bytes, 0) / 1024 / 1024, ‘99999999.999’) || ‘ / ’ ||
to_char(nvl(a.bytes / 1024 / 1024, 0), ‘99999999.999’) "Used (M)",
to_char(nvl(t.bytes / a.bytes * 100, 0), ‘990.00’) "Used %"
FROM sys.dba_tablespaces d,
(SELECT tablespace_name, SUM(bytes) bytes
FROM dba_temp_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes_cached) bytes
FROM v$temp_extent_pool
GROUP BY tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management LIKE ‘LOCAL’
AND d.contents LIKE ‘TEMPORARY’
ORDER BY "Used %" DESC;
相关文章
- 什么是进程池_进程池的实现
- C/C++ 进程隐藏&加载寄生&僵尸进程
- Linux 温习(二): 进程管理
- 【Linux 内核】进程管理 - 进程优先级 ① ( 限期进程 | 实时进程 | 普通进程 | 进程优先级相关字段 )
- 【Linux 内核 内存管理】内存映射原理 ② ( 内存映射概念 | 文件映射 | 匿名映射 | 内存映射原理 | 分配虚拟内存页 | 产生缺页异常 | 分配物理内存页 | 共享内存 | 进程内存 )
- 【Linux 内核 内存管理】内存管理系统调用 ⑤ ( 代码示例 | 多进程共享 mmap 内存映射示例 )
- Linux查看进程:一步一步解析(linux看进程)
- Linux下进程大小管理(进程大小linux)
- 深入理解Linux Hook进程实现机制(linuxhook进程)
- 管理Linux子进程顺序管理:实现有效协作(linux子进程顺序)
- 8 个用于有效地管理进程的 Linux 命令
- Linux进程如何利用共享内存优化应用性能(linux进程共享内存)
- 深入了解Oracle RAC进程,优化企业数据库管理(oraclerac进程)
- 利用Linux根据PID实现进程管理(linux根据pid)
- 内存Linux中父子进程间的共享内存(linux父子进程共享)
- Linux实现的进程管理机制(linux实现进程管理)
- Linux 内核下的进程管理之道(linux 内核进程管理)
- 利用Redis队列实现多进程互斥锁(redis队列 互斥锁)
- linuxc获得当前进程的进程名和执行路径(示例)