我有一个批处理文件,它执行.sql
文件来备份数据库。当计算机打开时,我将我的批处理文件放入启动文件夹中备份数据库。但是当这个批处理文件试图运行时,Oracle服务器没有启动。所以我无法备份数据库。
所以我想使用批处理文件检查Oracle服务器是否已启动。如果启动了Oracle服务器,则批处理文件将运行命令以执行.sql
文件到备份数据库。否则它应该等到Oracle服务器启动。当Oracle服务器启动时,批处理文件应运行命令以执行.sql
文件来备份数据库。
我怎么能这样做?
答案 0 :(得分:2)
假设您的Oracle服务是本地服务,您可以使用sc start
start /wait sc start <name-of-your-oracle-service>
如果服务已启动,则此命令将立即返回。否则,它将在返回之前等待服务启动完成。
如果服务名称包含空格,请将名称用双引号"
括起来。
答案 1 :(得分:1)
基本上,您可以在运行备份数据库命令之前使用“sc query”命令检查网络服务是否正常。或者,您也可以执行以下ping命令来延迟启动进程,
ping -n 5 localhost > NUL