扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以热备份:\x0d\x0aSQL alter database begin backup\x0d\x0a然后退出SQL,将Oracle软件和数据文件直接拷贝\x0d\x0a等都拷贝完了,再进sqlplus 执行:\x0d\x0aSQLalter database end backup\x0d\x0a然后将begin时刻到end时刻产生的归档也拷贝出来,\x0d\x0a这就完成了全备\x0d\x0a\x0d\x0a如果你要在oracle下备份整个数据库:可以用expdp方便的进行\x0d\x0aexpdp sys/XXX dumpfile=XXXX.dmp directory=XXXX\x0d\x0a其中directory是在oracle下建立的文件夹对象名\x0d\x0a假如你没建立过\x0d\x0a那么首先执行create directory dpdata1 as 'd:\test\dump';\x0d\x0a然后把expdp这样写directory=dpdata1
成都创新互联是一家专业提供福海企业网站建设,专注与网站建设、网站设计、H5响应式网站、小程序制作等业务。10年已为福海众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
实现方式:
1、操作系统层面的自动备份。
1.1、根据你的操作系统类型,在网上下载一个脚本做成任务计划,就可以定期备份了。
2、数据库层面的自动备份。
2.1、再EM控制台配置数据库自动备份策略。
2.2、通过脚本配置策略,网上很多的。
3、说明:首先需要明白你是想逻辑备份还是物理备份,然后根据备份时间和强度制定备份策略。
Oracle自动备份数据库不外乎以下三种方式
WINDOWS下的任务计划(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron
1、生成脚本文件,如backup.rcv 假定文件内容如下:
$cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下
$cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23点对数据库备份
0 12,18 * * * backup_archive.sh
#表示每天12点,18点备份
Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来
备份不需要借助其他软件,直接使用Oracle自己的工具即可备份:exp
user=system/
file=full_backup.dmp
full=y恢复:imp
userid=system/
file=full_backup.dmp
full=y
ignore=y自己多看Oracle帮助:exp
help=yimp
help=y
配置批处理文件
1
新建名为"oracleBackup"的文本文档(名字自己定),然后重命名后缀为"oracleBackup.bat"的批处理文件。
2
在oracleBackup.bat文件上点击右键,选择编辑,填写以下相关内容:
rem ---------------------------------------------------------------------------
rem windows环境下Oracle数据库的自动备份脚本。
rem 可以将本批处理设成windows任务计划下自动执行。
@echo off
@echo ================================================
@echo windows环境下Oracle数据库的自动备份脚本
@echo 说明:启动备份时,需要配置以下变量
@echo 1、BACKUP_DIR 指定要备份到哪个目录
@echo 2、ORACLE_USERNAME 指定备份所用的Oracle用户名
@echo 3、ORACLE_PASSWORD 指定备份所用的Oracle密码
@echo 4、ORACLE_DB 指定备份所用的Oracle连接名
@echo 5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户 等等....
@echo 6、RAR_CMD 指定RAR命令行压缩工具所在目录
@echo ================================================
rem 以下变量需要根据实际情况配置------ 注意:此脚本必须放在E:\backup目录下
set BACKUP_DIR=E:\backup
set ORACLE_USERNAME=se
set ORACLE_PASSWORD=xj
set ORACLE_DB=xj_orcl
set BACK_OPTION= OWNER=se
set RAR_CMD="C:\Program Files\WinRAR\Rar.exe"
for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a
set BACK_NAME=%ORACLE_DB%_%TODAY%()_
set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%
rem 开始备份
exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log"
rem 压缩并删除原有文件
%RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log"
rem ---------------------------------------------------------------------------
forfiles /m *.rar -d -7 /c "cmd /c del /f @path"
3
配置相关参数:
BACKUP_DIR:该参数为备份数据文件的存放位置,可根据实际情况进行设置(注:设置的文件路径不允许包含汉字、特殊字符等内容)。
ORACLE_USERNAME:该参数为指定备份的Oracle数据库用户名。
ORACLE_PASSWORD:该参数为指定备份的Oracle数据库密码。
ORACLE_DB:该参数为指定备份的Oracle数据库连接名。
BACK_OPTION:该参数为备份选项,可以为空,也可以为full=y等。
RAR_CMD:指定RAR命令行压缩工具所在目录
END
安装软件
1
下载WINRAR安装包。
2
点击"wrar520sc_setup.exe",进行安装软件。
3
根据软件的安装路径,在命名的bat处理文件中配置:RAR_CMD参数。
END
添加定时任务
打开电脑的控制面板,选择"任务计划",双击打开。页面如图所示:
双击打开添加定时任务,点击下一步进入相关设置页面。页面如图所示:
单击浏览按钮,找到oracleBackup.bat文件添加,然后进行配置:根据实际情况选择要备份的时间类型,此处以每天执行为例,选择每天,点击下一步,设置执行时间。
输入执行定时任务机器的用户名及密码,点击下一步,进入完成界面,点击完成,至此,Oracle数据库定时任务备份的设置。
5
利用修改机器时间进行定时任务的测试。
1.首先,确认oracle服务器上用oracle红色标记的相关服务是否已经正常启动,如下图。
2.然后关闭百条PLSQL,让连接退出,确保断开到数据库的所有连接,如果数据库是连接到客户端,备份可能会有异常通知。
3.然后打开CMD命令提示窗口,输入备份数据库的命令。xp命令后面是用户名和密码,如下图。
4.要有耐心。当导出数据时,CMD窗口中会出现一个提示,表明数据库备份导出已经完成。
5.此时,在计算机中找到步骤4中设置的文件的保存路径。在下面的截图中,您将发现还有一个DMP文件,它是我们需要的备份文件,如下图。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流