问题描述起来可能有些复杂 希望兄弟姐妹耐心看一下 依依谢过~~
1、现在有台数据库服务器是linux操作系统 上面装着Oracle数据库 假设该服务器为A
2、程序是在另一台windows操作系统的服务器上 假设该服务器为B B上面装有A上Oracle的客户端
3、我用C机器远程连接B机器 在B机器上做了一个windows的任务计划 该计划任务是执行了一个.bat文件
.bat文件中写的是一段备份数据库的命令,具体命令如下:
@echo off
Start exp username/password@sid file=F:\xxx\yyy\data\fg_%date:~0,4%%date:~5,2%%date:~8,2%.dmp
4、任务计划设定完毕后 到指定的时间 从C机器远程B机器的桌面上根本看不到弹出的cmd命令窗口
在我指定的目录下也看不到备份的文件(目录均存在)
5、同时有一台D机器 windows系统 也一直远程连接着B机器 在我指定的任务时间cmd窗口居然在D的远程桌面上看到了
6、指定目录中没有备份文件但是我在F盘根目录下却找到了一个.dmp文件 文件生成的时间就是我指定的备份时间 大小
也是我数据库的大小,可是名字却又不是我指定的fg_时间.dmp 而是以Program为名字的.dmp文件不知道是哪里的问题 希望哥哥姐姐们帮忙看下 谢谢~~
1、现在有台数据库服务器是linux操作系统 上面装着Oracle数据库 假设该服务器为A
2、程序是在另一台windows操作系统的服务器上 假设该服务器为B B上面装有A上Oracle的客户端
3、我用C机器远程连接B机器 在B机器上做了一个windows的任务计划 该计划任务是执行了一个.bat文件
.bat文件中写的是一段备份数据库的命令,具体命令如下:
@echo off
Start exp username/password@sid file=F:\xxx\yyy\data\fg_%date:~0,4%%date:~5,2%%date:~8,2%.dmp
4、任务计划设定完毕后 到指定的时间 从C机器远程B机器的桌面上根本看不到弹出的cmd命令窗口
在我指定的目录下也看不到备份的文件(目录均存在)
5、同时有一台D机器 windows系统 也一直远程连接着B机器 在我指定的任务时间cmd窗口居然在D的远程桌面上看到了
6、指定目录中没有备份文件但是我在F盘根目录下却找到了一个.dmp文件 文件生成的时间就是我指定的备份时间 大小
也是我数据库的大小,可是名字却又不是我指定的fg_时间.dmp 而是以Program为名字的.dmp文件不知道是哪里的问题 希望哥哥姐姐们帮忙看下 谢谢~~
2、运行一下bat文件看是不是命令有错误?
2、单独运行bat没有问题 但同样存在在指定目录下找不到dmp文件的问题
为什么c连到b建的,而在任务执定时间用c再连上b,c看不到,而d能看到cmd窗口?
这个与windows远程桌面的连接会话有关
当然,还要看组策略里的设置:运行>gpedit.msc>用户配置》管理模版>终端服务》会话
这里就可以设置会话的一些策略。比如 : 允许仅从原始客户端连接 ,你将此条策略启用那么,当你在c连到b上,打开一个窗口,然后直接关掉远程桌面(而不是点注销或点断开),那么在 b上会为你将这个会话保留,当d再连接b时,会开启新的会话,即d连上b时看不到你打开的这个窗口,而c重连时则能看到这个窗口。
当不启用这个设置时,当d连到b时,可能就会分配到这个已存在的会话, 当d占用这个会话时,c再连上去就开启新的会话,而发生你看到情况。当然,当不启用这个设置(允许仅从原始客户端连接 )时,d连上去能不能看到这个窗口,还依赖于几个设置,比如:
为断开的会话设置超时时间(超时时间到了,已有的会话不会保留)等等。另外,即便没开启这个设置,如果开启了 "为活动但空闲的会话设置时间限制“,即便c一直连接b,但超过这个时间长度而没进行操作,一样会被断开。所以你的第一个问题,是否这个原因,你要仔细查看一下。第二个问题,好久没写批处理,记不太清了,估计是取当前时间的写法有问题。等我查一下。
执行bat时是正常的多谢fc~
我也来补充一下,希望对你有帮助:--win2003的话添加计划任务时是需要输入用户名密码的(此用户最好用超级用户)
--需要注意一点,计划任务增加成功后,如果对你的bat文件有修改,则计划任务需要重新添加(我试过改了就不运行了,重新添加就好了)
--另外,备份数据的目录最好不要使用相对路径,而要使用绝对路径
我个人觉得windows 的telnet不太稳定,可能是因为断开了所以改用ssh了
所以你说的东西我依稀有些映像,但明显记不起来了
容我春节有空帮你查下(*@%(*%*(@#……%
也是我数据库的大小,可是名字却又不是我指定的fg_时间.dmp 而是以Program为名字的.dmp文件
-------------------------------------
这可能是你的命令在windows scheduler里面执行的时候,不能正确获得那些参数的值,所以程序只有使用一个当前默认值,结果就在F盘上生成了你的备份文件。
看看是否写个bat文件,事先生成备份文件名字,然后调用exp的时候使用绝对路径和指定的文件名。
具体这个用户是什么权限的用户,暂时还不知道
内容为:exp system/xxxx@test file=f:\xxxx\fg_%date:~0,4%%date:~5,2%%date:~8,2%.dmp很成功.
因为我一开始设置的定时是在晚上0点 这个时间段C和D都已经处于断开连接并且关机的状态了
b上的会话是否保留,只跟b里的远程会话策略和b是否关过机,及c,d离开远程桌面时采用的是断开或注销有关, 与c,d是否关机无关。
Start exp username/password@sid file=F:\xxx\yyy\data\fg_%date:~0,4%%date:~5,2%%date:~8,2%.dmp
cmd
执行下看看什么错误。
之所以没以指定的名字备份到指定目录是因为路径的问题
我的路径中有Program Files这个文件夹不知道什么原因 空格以后的路径都没有执行
。
默认就存在了根目录下了,并且是以Program命名的dmp文件