onclean 实用程序

如果 onmode 实用程序无法关闭数据库服务器或您无法重启服务器,可使用 onclean 实用程序强制执行立即关闭数据库服务器。onclean 实用程序试图去清除共享内存和信号量并且停止数据库服务器的虚拟进程。

语法

在 UNIX™ 和 Linux™ 上,必须以用户 rootgbasedbt 的身份执行 onclean 命令。在 Windows™ 上,必须以 GBasedbt-Admin 组成员的身份执行该命令。

表 1. onclean 命令语法元素
元素 用途
-k 通过停止数据库服务器虚拟进程和尝试清除剩余信号量、共享内存片段(尽管它们仍在运行中)来关闭联机的服务器
-V 显示简短的版本信息
-version 显示所有的版本信息
-y 不提示输入确认

用法

只能在 onmode 实用程序无法关闭数据库服务器或您无法重启服务器的情况下,使用 onclean 实用程序去停止数据库服务器。数据库服务器可能由于不可控的方法关闭并且无法恢复,或者它被挂载。如果数据库服务器无法重启,它以前的实例却仍会连接共享内存片段。可以检查消息日志来查看数据库服务器是否正常关闭。onclean 实用程序停止所有的 oninit 进程并尝试移除所有的共享内存片段和在 $GBASEDBTDIR/etc/.conf.$GBASEDBTSERVER 文件中记录的信号量。

注意: 请谨慎使用 onclean 实用程序。当运行 onclean 时,任意挂起的事务和进程将无法完成并且用户会话会突然断线。然而,当数据库服务器重新启动后,它会回滚这些事务。

GBASEDBTDIRGBASEDBTSERVERGBASEDBTSQLHOSTSONCONFIG 环境变量必须设置可用的值以运行该实用程序。

onclean 命令在下例情况下使用:

使用 onclean 实用程序只能关闭本地数据库服务器;不能关闭远程数据库服务器。onclean 实用程序无法用于关闭一个整个高可用集群或远程数据库服务器。

onclean 实用程序在任何情况下可能不能清除数据库服务器使用的共享内存片段。onclean 实用程序会尝试只终止 oninit 进程。onclean 实用程序在以下情况下不会成功:

如果必要,您可以使用 onshutdown 脚本自动关闭数据库服务器,它会调用 onclean -ky 命令。

返回码

0
成功
1
因为以下其中一个问题失败:
  • 错误的环境变量配置
  • 运行 onclean 命令的权限错误
  • 命令的语法错误
  • 已损坏的信息
  • 在联机的服务器上运行 onclean 命令时,没有使用 -k 选项
2
由于 onclean 使用的一个或多个操作系统的系统调用返回错误而失败。
1 请参阅 -FILE 选项