视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
UNIX服务器上使用“kill"命令终止"Oracle”过程
2020-11-09 12:32:26 责编:小采
文档


很多情况下,我们需要终止所有的Oracle过程(process)。当数据库ldquo;锁定rdquo;而你无法进入Server Manager来终止数据库时,

很多情况下,我们需要终止所有的Oracle过程(process)。当数据库“锁定”而你无法进入Server Manager来终止数据库时,就可以用UNIX中的kill命令来终止所有的Oracle过程——这是kill命令的常见用途之一。

当你需要终止一个UNIX服务器上的一个Oracle实例(instance)时,执行下面的步骤:

终止与ORACLE_SID有关的所有Oracle过程。

用ipcs –pmb命令来识别所有占用的RAM内存片断。

用ipcrm -m 命令来从UNIX中释放占用的RAM内存。

只对Non-AIX:用ipcs -sa命令来显示占用标记,用ipcrm –s命令来释放该实例的占用标记。

创建单一命令来终止与挂起(hung)的数据库实例有关的Oracle过程是很简单的。在下面的例子之中,我们用ps指令来识别Oracle过程,然后用awk程序来获取Oracle过程的过程ID(process ID,PID)。然后,我们把过程ID输入到UNIX的kill命令之中。

root> ps -ef|grep $ORACLE_SID|    

grep -v grep|awk '{print $2}'|xargs -i kill -9 {} 

在终止所有Oracle过程之后,,我们可以用ipcs –pmb指令来检查占用的内存并清除数据库所占用的内存。我们首先显示出数据库服务器上所有占用内存:

IPC status from /dev/kmem as of Mon Sep 10 16:45:16 2001

T   ID   KEY    MODE   OWNER GROUP SEGSZ CPID LPID

Shared Memory:

m 240 0x4cb0be18 --rw-r----- oracle  dba 275104 1836 23847

m 1 0x4e040002 --rw-rw-rw-  root  root  31008  572  572

m 2 0x411ca945 --rw-rw-rw-  root  root   8192  572  584

m 4611 0x0c6629c9 --rw-r-----  root  root 7216716 1346 23981

m 4 0x06347849 --rw-rw-rw-  root  root  77384 1346 1361

root> ipcs -pmb

现在,我们看到Oracle只拥有一个ID=240的RAM内存。下面的命令将会释放这个内存片断:

root> ipcrm -m 240

下载本文
显示全文
专题