@ECHO 功能:获取系统日期时间,导出数据库 @ECHO 说明:随便使用和更改 @ECHO 作者:守护者 @ECHO 时间:2004-09-02 ECHO OFF REM 输出日期时间到TEMP set mydate=%temp%\mydate.tmp set mytime=%temp%\mytime.tmp date /T > %mydate% time /T > %mytime% REM 忽略;开头的行,用-分隔,取1,2,3个符号 set parsearg="eol=; tokens=1,2,3* delims=-, " for /F %parsearg% %%i in (%mydate%) do set yyyymmdd=%%i%%j%%k set parsearg="eol=; tokens=1,2,3* delims=:, " for /F %parsearg% %%p in (%mytime%) do set ppqq=%%p%%q REM set exp_file=%TEMP%\HNDL_%yyyymmdd%_%ppqq%.dmp set exp_file=C:\HNDL_%yyyymmdd%_%ppqq%.dmpREM 如果文件存在,那么退出 REM IF EXISTS %exp_file% GOTO END1 set store_path=D:\营销开发日常备份\数据库备份\HNDL_%yyyymmdd%_%ppqq%.dmpREM 到出文件 ECHO ON exp HNDL/HNDL@HNDL FULL=N GRANTS=Y ROWS=Y file=%exp_file% OWNER=HNDL ECHO OFF REM 拷贝到默认路径 ECHO ON COPY %exp_file% %store_path%/Y DEL %exp_file% /FREM 导出数据库到默认路径,数据库导出文件为当日日期 REM exp HNDL/HNDL@HNDL FULL=N GRANTS=Y ROWS=Y file=D:\营销开发日常备份\数据库备份\%date:~4,10%.dmp OWNER=HNDL REM 导出数据库到默认路径,数据库导出文件为当日日期的星期几,每个星期只保留一份备份,重复文件将自动覆盖 REM exp HNDL/HNDL@HNDL FULL=N GRANTS=Y ROWS=Y file=D:\营销开发日常备份\数据库备份\%date%.dmp OWNER=HNDL REM 导出完成 REM REM GOTO END2 REM REM :END1 REM REM 退出 REM ECHO 存在文件%exp_file% 请确认后退出 REM GOTO END3 REM :END2 REM ECHO 导出完成,请确认退出 REM GOTO END3 REM :END3 REM Pause REM ECHO 完成退出
如果你需要拷贝到其他机器的话 你需要更改拷贝部分 我的建议是 使用 建立一个共享,然后删除该共享例如: net use k: \\192.168.0.169\d$ 1 /user:administrator /yes copy d:\file.dmp k:\net use k: /delete /yes
exp temp/temp file='c:\temp%date%.dmp'
在c:\目录下生成了 temp星期一 2004-10-18.dmp 这个文件你把这个东西写在批处理里面,然后用操作系统的 计划任务 来定期执行即可。
用RMAN来备份吧!!
请问如何写到批处理文件中
exp temp/temp file='c:\temp%date%.dmp'
exit完成后,通过 控制面板-〉任务计划-〉新添计划任务 设置一下定期执行这个bat文件即可。
而是想备份到其他机器上
比如现在的机器的IP是 192.168.0.1
我想备份到另外的机器上(比如:备份到IP是 192.168.0.2 的机器上的D:\SHUJUBF\*.dmp)
请问如何实现?
谢谢你,按照你说的,我已经备份成功,现在我不想备份到本机上,我想备份到另外的机器上(IP是192.168.0.2) 请问这个批处理如何写
批处理文件是在本机(192.168.0.1)上写,还是在要备份的机器(192.168.0.2)上写?
可是我试了,客户端似乎不能备份服务器上的数据
我是这样的:
执行EXP命令,可是提示没有这个命令
于是我把服务器上BIN上的所有文件都COPY到客户端的BIN下面,然后执行EXP命令,可是
还是不能运行
请问如何在客户端EXP数据
配置连接字符串。
可是我要问的是:
如何在客户端执行EXP命令啊
我在服务器是导出可以这样:
1,CMD
2,EXP 用户/密码 FILE=D:\BF\123.DMP full=y
3,确认
就能完成对服务器数据的导出功能了
可是在客户端怎么就不能导出在服务器上的数据了
我要问的是
如何才能在客户端上导出服务器上的数据啊
附:在客户端上执行EXP命令,可是提示没有这个命令
于是我把服务器上BIN上的所有文件都COPY到客户端的BIN下面,然后执行EXP命令,可是
还是不能运行
我在客户端上是这样执行的
1,开始
2,运行
3,输入COMMAND
4,在DOS状态下输入EXP
而当前的提示是
Bad command or file name
dos下,到oracle目录下bin目录
然后执行exp...
老大,就没有这个命令,我不但在DOS下找了,在BIN目录下也找了,甚至搜索了整个硬盘,但就是没有EXP或IMP命令
可是在服务器上就有这个命令(服务器上的命令是EXP80或IMP80)
exp sys/passys@myserver owner=need file=c:\databk.dmp log=c:\databk.log
“EXP-00056:遇到ORACLE错误 12560 ;
ORA-12560:TNS:协议适配器错误;
EXP-00000:导出终止失败”
的错误提示。请问这是怎么会事,如何解决?
@ECHO 说明:随便使用和更改
@ECHO 作者:守护者
@ECHO 时间:2004-09-02
ECHO OFF
REM 输出日期时间到TEMP
set mydate=%temp%\mydate.tmp
set mytime=%temp%\mytime.tmp
date /T > %mydate%
time /T > %mytime%
REM 忽略;开头的行,用-分隔,取1,2,3个符号
set parsearg="eol=; tokens=1,2,3* delims=-, "
for /F %parsearg% %%i in (%mydate%) do set yyyymmdd=%%i%%j%%k
set parsearg="eol=; tokens=1,2,3* delims=:, "
for /F %parsearg% %%p in (%mytime%) do set ppqq=%%p%%q
REM set exp_file=%TEMP%\HNDL_%yyyymmdd%_%ppqq%.dmp
set exp_file=C:\HNDL_%yyyymmdd%_%ppqq%.dmpREM 如果文件存在,那么退出
REM IF EXISTS %exp_file% GOTO END1
set store_path=D:\营销开发日常备份\数据库备份\HNDL_%yyyymmdd%_%ppqq%.dmpREM 到出文件
ECHO ON
exp HNDL/HNDL@HNDL FULL=N GRANTS=Y ROWS=Y file=%exp_file% OWNER=HNDL
ECHO OFF
REM 拷贝到默认路径
ECHO ON
COPY %exp_file% %store_path%/Y
DEL %exp_file% /FREM 导出数据库到默认路径,数据库导出文件为当日日期
REM exp HNDL/HNDL@HNDL FULL=N GRANTS=Y ROWS=Y file=D:\营销开发日常备份\数据库备份\%date:~4,10%.dmp OWNER=HNDL
REM 导出数据库到默认路径,数据库导出文件为当日日期的星期几,每个星期只保留一份备份,重复文件将自动覆盖
REM exp HNDL/HNDL@HNDL FULL=N GRANTS=Y ROWS=Y file=D:\营销开发日常备份\数据库备份\%date%.dmp OWNER=HNDL
REM 导出完成
REM
REM GOTO END2
REM
REM :END1
REM REM 退出
REM ECHO 存在文件%exp_file% 请确认后退出
REM GOTO END3
REM :END2
REM ECHO 导出完成,请确认退出
REM GOTO END3
REM :END3
REM Pause
REM ECHO 完成退出
我的建议是
使用 建立一个共享,然后删除该共享例如:
net use k: \\192.168.0.169\d$ 1 /user:administrator /yes
copy d:\file.dmp k:\net use k: /delete /yes