Oracle数据库自动备份,并导入到新库之中

背景:在做一个Oracle数据库的备份,需要自动备份。Navicate自带有自动备份的功能,在“自动运行”菜单里面有“新建批处理作业”,然后选择数据库,再设定跑的时间,但是坑爹的是Navicate好像不支持Oracle的自动备份,只能操作MySQL,除非手动备份。 PL/SQL中也只有手动导出功能,无自动导出功能。

备份/导入

一.条件:需要通过TNS连接到对应的数据库,因此需要安装Oracel,具体方法可以参考其他博主,写的很详细:

二.第一步安装完毕并且配置TNS完毕后,确保TNS可以ping通: win+R>>>cmd>>>输入:tnsping 你的TNS中的配置的地址的别名 三.写一个批处理文件 写一个批处理文件,内容如下,命名后,后缀为.bat

@echo off
exp userName/userPassWard@TNSpath file=H:BACKUPGuQuanBackUp_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=H:BACKUPGuQuanBackUp_%date:~0,4%%date:~5,2%%date:~8,2%.log
path C:Program FilesWinRARWinRAR.exe
winrar a -agYYYY-MM-DD -DF -m5 H:BACKUP
ame{
          
   GuQuanBackUp}.rar H:BACKUP*.dmp H:BACKUP*.log
forfiles /p "H:BACKUP" /s /m *.rar /d -30 /c "cmd /c del @path"
@exit

userName/userPassWard@TNSpath 访问数据库用户名/密码@NTS中配置路径别名(切记,不是路径里面的SERVICE_NAME,而是你配置的整个路径的别名) 1.file=H:BACKUPGuQuanBackUp_%date:0,4%%date:5,2%%date:~8,2%.dmp 确保H盘中有BACKUP这个文件夹 GuQuanBackUp_时间.dmp 就是备份的数据库,“GuQuanBackUp”可以按照自己需求命名

2.log=H:BACKUPGuQuanBackUp_%date:0,4%%date:5,2%%date:~8,2%.log 确保H盘中有BACKUP这个文件夹 GuQuanBackUp_时间.log是日志文件,“GuQuanBackUp”可以按照自己需求命名

3.path C:Program FilesWinRARWinRAR.exe 压缩程序的地址

4.winrar a -agYYYY-MM-DD -DF -m5 H:BACKUP ame{GuQuanBackUp}.rar H:BACKUP*.dmp H:BACKUP*.log 确保H盘中有BACKUP这个文件夹 利用压缩软件的功能,将刚导出的数据库文件压缩成压缩包,其中“GuQuanBackUp”可以按照自己需求命名

5.forfiles /p “H:BACKUP” /s /m *.rar /d -30 /c “cmd /c del @path” 确保H盘中有BACKUP这个文件夹 当备份文件超过30个就把备份文件最前的一个压缩包删除,保留文件夹中最多30个压缩包

四.运行 运行刚才写好的批处理文件,如果双击或者以管理员身份运行都是闪退的话,看下里面的写法是否有问题,比如"H:BACKUP"这个文件夹我没建立,然后就闪退。 运行结果画面如下,备份需要一段时间,请耐心等待: 最后成功后会产生2个文件,一个是备份的数据库,一个是日志: 打开日志,可看到成功导出的结果: 我这边一共49张表,大约400万笔不到的数据,大约运行了30分钟 ![在这里插入图片描述](https://img-blog.img.cn/20200927132628189.png#pic_center 五.利用系统的计划和程序定时执行 控制面板>>>系统和安全>>>管理工具>>>任务计划程序 然后就是傻瓜式下一步,记得选选择运行周期和运行时间,最后选中自己刚才写的的bat文件,点击完成即可。运行时间可以选择几分钟后,然后可以看到到点了,系统会自动运行bat文件。

导入

针对刚才备份/导出的数据,现在做导入操作 1.win+R>>>cmd进入命令框 2.以管理员身份登录,进入到操作页面中 3.创建表空间 4.添加用户名和设置密码 5.授权 connect和resource是两个系统内置的角色,和dba是并列的关系。 DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构 6.输入exit,退出sql 7.导入命令:imp 用户名/密码@实例名 file=导入的dmp文件路径 full=y。 file就是你备份/导出的数据库文件 8.以USER_BACKUP的用户登录,查看表等信息导入成功

经验分享 程序员 微信小程序 职场和发展