oracle 数据库备份提示监听错误

@echo off

echo ================================================

echo Windows环境下Oracle数据库的自动备份脚本

echo 1. 使用当前日期命名备份文件。

echo 2. 自动删除7天前的备份。

echo ================================================
::以“YYYYMMDD”格式取出当前时间。

set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
REM 设置所有者、用户名和密码
set OWNER=lianxi
set USER=lianxi
set PASSWORD=aqhis
set BUCKUPPATH=E:\DataSource\

REM 创建备份用目录,目录结构为E:\DataSource\nisDBbackup
if not exist %BUCKUPPATH%nisDBbackup mkdir %BUCKUPPATH%nisDBbackup
if not exist %BUCKUPPATH%nisDBbackup\%CURDATE%\ mkdir %BUCKUPPATH%nisDBbackup\%CURDATE%\
set CURDIR=%BUCKUPPATH%nisDBbackup\%CURDATE%
set FILENAME=%CURDIR%\%OWNER%_%CURDATE%_%CURTIME%.DMP
set EXPLOG=%CURDIR%\%OWNER%_%CURDATE%_%CURTIME%_log.log

REM 调用ORACLE的exp命令导出用户数据
REM exp userid=%USER%/%PASSWORD%@lianxi file=%FILENAME% log=%EXPLOG%

REM 这里是为了删除大于七天的数据文件 适用于:Windows Server中,Windows Vista的
forfiles /p %BUCKUPPATH%nisDBbackup /s /m . /d -4 /c "cmd /c del @path"
dir /ad/b/s %BUCKUPPATH%nisDBbackup |sort /r >%BUCKUPPATH%kill.txt
For /f "tokens=*" %%i in (%BUCKUPPATH%kill.txt) DO rd "%%i"
del %BUCKUPPATH%kill.txt

exit

我这样写完执行就提示
EXP-00056: 遇到 ORACLE 错误 12514
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
EXP-00000: 导出终止失败

但是直接cmd执行
exp userid=lianxi/aqhis%@lianxi file=his.dmp log=hi.log
就没问题 是什么原因

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐