2008年(239)
分类:
2008-06-17 22:27:14
数据库系统的启动和关闭,是管理员经常要执行的工作。不同的系统,其启动和关闭的过程、方式也各不相同。
数据库系统要能够正常启动,不允许操作系统中已经存在和数据库系统有关的进程和内存段。有时候,尽管数据库系统已经被停止,但操作系统中仍旧存在一些和数据库系统有关的进程、内存段,没有被终止和删除。在数据库系统被再次使用之前,一定要把这些死进程、内存段移走。
下面介绍的删除死进程、内存段的方法和过程,适用于UNIX平台中所有的数据库系统。
(1)删除和数据库系统有关的死进程
显示实例的死进程:
$ ps –ef | grep {user_name}
删除死进程。根据进程的ID号,一一进行删除:
$ kill –9 {process_id}
如果存在许多个死进程,为了节省时间,可以使用以下方法:
$ ps –ef | grep {user_name} | awk ‘{print “kill –9 “$2}’ > /tmp/kpid
$ chmod +x /tmp/kpid
$ /tmp/kpid
验证所有的死进程全部被移走,否则就重新执行以上步骤。
$ ps –ef | grep {user_name}
(2)删除不再使用的进程间通讯段
列出所有共享内存段:
$ ipcs –am | grep {user_name}
根据共享内存段的ID号,进行删除:
$ ipcrm –m {shared_memory_id}
列出所有旗语(semaphore)段:
$ ipcs –as | grep {user_name}
根据旗语段的ID号,进行删除:
$ ipcrm –s { semaphore_id}
列出所有消息队列(message queue)段:
$ ipcs –aq | grep {user_name}
根据消息队列段的ID号,进行删除:
$ ipcrm –q {message_queue_id}
验证所有的进程间通讯段全部被移走,否则就重新执行以上步骤。
$ ipcs –a | grep {user_name}