windows服务器中,定时备份数据库(全量备份)。
备份脚本
创建一个bat文件,内容为:
set dd=%date:~8,2%
set mm=%date:~5,2%
set yy=%date:~0,4%
set folder=%yy%-%mm%-%dd%
exp db_name/db_pwd@127.0.0.1/orcl file=D:\db_backup\%folder%\database%folder%.dmp
FORFILES /P D:\db_backup /M *.dmp /D -7 /C "cmd /c echo %time% deleting..@file.. &del @file"
db_name:数据库用户名称;
db_pwd:数据库用户密码;
127.0.0.1:数据库服务器地址;
orcl:数据库实例名称;
删除7天之前的备份文件:
执行bat文件,会生成如下的文件:
如果遇到执行备份脚本失败,
报错信息:
EXP-00056: 遇到 ORACLE 错误 12154
ORA-12154: TNS: 无法解析指定的连接标识符
EXP-00000: 导出终止失败
解决方法:
系统环境变量添加下面两个
变量名:ORACLE_HOME
变量值:D:\app\Administrator\product\11.2.0\dbhome_1
变量值为oracle的安装路径
变量名:TNS_ADMIN
变量值:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN
TNS_ADMIN 环境变量的作用:指定读取的 tnsnames.ora 文件的位置,变量值为tnsnames.ora 文件所在目录。当配置了TNS_ADMIN 环境变量之后,使用网络服务名连接Oracle数据库时,监听服务会优先读取指定目录下相关文件sqlnet.ora、tnsnames.ora。当在指定目录读取不到时,才会去读取默认的Oracle安装目录。
Windows定时执行
可以将bat文件的执行操作,添加到windows的任务计划程序中,定时执行。例如,每天凌晨1点执行,操作如下:
如果需要对备份的文件进行数据库还原,则执行对应的imp命令:
imp TEST1/TEST1@127.0.0.1/orcl file=C:\db_back\a.dmp
以上命令表示将C盘db_back文件夹中a.dmp文件还原到TEST1数据库用户中。
exp和imp是一对命令,对应数据的备份和还原。