oracle怎么自动备份,oracle数据库怎么备份

oracle数据库怎么自动备份

配置批处理文件

吉木萨尔网站建设公司创新互联,吉木萨尔网站设计制作,有大型网站制作公司丰富经验。已为吉木萨尔近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的吉木萨尔做网站的公司定做!

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

利用修改机器时间进行定时任务的测试。

Oracle数据库RMAN的自动备份脚本简介

Oracle数据库RMAN的自动备份脚本简介

各位同学知道Oracle数据库RMAN如何自动备份脚本嘛?下面我为大家整理了关于Oracle数据库RMAN的自动备份脚本文章,希望能为你提供帮助:

1、数据库设置为归档方式

2、数据库的备份脚本

db_full_backup.sh :数据库全备脚本

db_l0_backup.sh :数据库0级备份脚本

db_l1_backup.sh :数据库1级备份脚本

:数据FTP上传脚本

ftp_del.sh :数据FTP清理脚本

rman_bak.sh :数据备份主程序

3、备份原理

每周1、3、6进行0级备份

每周日、2、4、5进行1级备份

备份文件上传到FTP服务器

FTP服务器每周清理一次,但是清理后将周六和周日的备份进行保留(6.bak和0.bak)

所有工作防暑crontab中自动执行备份

4、备份目录含义

arc :数据库归档目录

rmanbak :数据库备份文件的保存目录

rmanscripts :数据库脚本存放路径

5、FTP目录

ftp上必须手动建立目录

L0:

---1

---3

---6

---6.bak

L1:

---2

---4

---5

---0

---0.bak

rman_bak.sh脚本主程序

#!/bin/bash

#--------------------------------------------

# Oracle auto backup using rman

#

# author:songrh

# week:1,3,6 Level 0 backup

# 2,4,5,0 Level 1 backup

# Copyright by ChenLong Tec

#--------------------------------------------

#

#

export ORACLE_BASE=/u02/oracle

export ORACLE_HOME=/u02/oracle/product/9.2.4

export ORACLE_SID=PROD

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export NLS_LANG=american_america.ZHS16GBK

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NL33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH

export PATH=$PATH:/opt/local/bin

#

SH_PATH=/u02/rmanscripts

ARC_PATH=/u02/arch

RMAN_BAK_PATH=/u02/rmanbak

#

#FULL_PATH=$RMAN_BAK_PATH/full

L0_PATH=$RMAN_BAK_PATH/L0

L1_PATH=$RMAN_BAK_PATH/L1

#

#DAY_TAG=`date "%Y-%m-%d"`

LOG_TAG=`date "%Y-%m-%d"`

#FIRST_DAY=`date %e`

WEEK=`date %w`

#WEEK=1

#

# FTP configure

IP="122.120.150.155"

FTPUSER="ftpbak"

FTPPASS="******"

FTPROOT0="L0"

FTPROOT1="L1"

#

DISK_USE=`df -k |sed -n '/u02/'p | awk '{print $5}' |sed 's/%//'`

####check path function

############

if [[ $DISK_USE -ge 90 ]]; then

rm -rf $L0_PATH/*

rm -rf $L1_PATH/*

fi

if [ "$WEEK" = "6" -o "$WEEK" = "3" -o "$WEEK" = "1" ]; then

if [ ! -d $L0_PATH ]; then

mkdir $L0_PATH

fi

if [ "$WEEK" = "1" ]; then

rm -rf $L0_PATH/*

rm -rf $L1_PATH/*

mkdir $L0_PATH/$WEEK

$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK

cd $L0_PATH/$WEEK

$SH_PATH/ftp_del.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log

else

if [ ! -d $L0_PATH/$WEEK ]; then

mkdir $L0_PATH/$WEEK

$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK

cd $L0_PATH/$WEEK

$SH_PATH/ $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log

else

;

如何实现oracle数据库的自动备份

登陆oracle数据库服务器,利用plsql程序来登陆数据库。在用户名、密码、数据库的地方分别输入对应的用户名、密码和数据库实例名称。

2

登陆完成后,新建sql窗口,并在sql窗口中执行以下语句:

-----------------------------------------------------------------------------

declare stmt

varchar2(200);begin for tb in (select table_name from user_tables where

segment_created='NO') loop stmt:='alter table '||tb.table_name||'

allocate extent'; begin execute immediate stmt; exception when

others then dbms_output.put_line(stmt); end; end loop;end;/

-----------------------------------------------------------------------------

此语句的作用是导出oracle 11g的空表

3

建立bat批处理文件

------------------------------------------------------------------------------

cd d:\bea\dbbackdel oa%date:~8,2%.dmpexpdp username/password@orcl directory=DIR_EXP dumpfile=oa%date:~8,2%.dmp

------------------------------------------------------------------------------

其中d:\bea\dbback是命令所在的目录

username/password@orcl 分别为登陆数据库的用户名、密码、数据库实例

DIR_EXP 是在plsql中建立的directory即目录,需要根据自己的需求来创建

在电脑附件中找到任务计划程序,然后点击打开,如下图

点击右侧的“创建基本任务”,创建一个任务计划,填写任务名字和描述,如下图:

设置任务的执行周期,这里周期选择每天,点击下一步

再设置开始时间,一般选择在夜间备份数据库,点击下一步

设置执行的操作是,这里是批处理,所以选择程序,点击下一步

选择前面我们只做的bat批处理文件。即oracle备份语句文件。参数填写文件所在的目录,点击下一步:

点击完成即可。

然后双击对应的计划任务名称,出现界面如下图:

然后在安全选项中选择“不管用户是否登陆都要运行此程序”

步骤阅读

然后点击确定,系统会让用户输入对应的系统登陆密码,如下图,输入完密码点击确定即可。

oracle数据库自动备份系统

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。下面我为大家分享一下oracle数据库自动备份系统的 方法 ,有需要的可以参考一下!

oracle数据库自动备份系统

实现过程:

1. 建立文件 backup.bat (自定义文件名.bat)

@echo off

REM ###########################################################

REM # Windows Server 2003下Oracle数据库自动备份批处理脚本

REM ###########################################################

REM 取当前系统时间,可能因 操作系统 不同而取值不一样

set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%

set CURMON=%date:~0,4%%date:~5,2%

set CURTIME=%time:~0,2%

REM 小时数如果小于10,则在前面补0

if "%CURTIME%"==" 0" set CURTIME=00

if "%CURTIME%"==" 1" set CURTIME=01

if "%CURTIME%"==" 2" set CURTIME=02

if "%CURTIME%"==" 3" set CURTIME=03

if "%CURTIME%"==" 4" set CURTIME=04

if "%CURTIME%"==" 5" set CURTIME=05

if "%CURTIME%"==" 6" set CURTIME=06

if "%CURTIME%"==" 7" set CURTIME=07

if "%CURTIME%"==" 8" set CURTIME=08

if "%CURTIME%"==" 9" set CURTIME=09

set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

REM 设置所有者、用户名和密码

set OWNER=orcl

set USER=bktcgl

set PASSWORD=bktcgl

REM 创建备份用目录,目录结构为oraclebak/YYYYMMDD/

if not exist "oraclebak" mkdir oraclebak

cd oraclebak

if not exist "%CURMON%" mkdir %CURMON%

set FILENAME=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%.DMP

set EXPLOG=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%_log.log

REM 调用ORACLE的exp命令导出用户数据

exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% log=%EXPLOG% owner=%USER% grants=n

exit

注:

1.bat文件可双击或直接在命令行执行,检查正确与否

2.检查时可注释掉exit

3.以上文件实现按月份创建文件夹,按时间生成备份文件

2.建立windows任务

步骤:

开始 - 所有程序 - 附件 - 系统工具 - 任务计划程序 - 操作 - 创建基本任务

- 任务名输入"oracle_backup"(自定义任务名),执行这个任务选择每天,下一步

- 起始时间下午12:00,起始日期2012-7-11,下一步 -(启动程序)下一步

-在 浏览 中查找刚刚写好的 backup.bat 文件 下一步 完成

注:

1.在任务计划栏目下新增一个名为"oracle_backup"的任务计划,表明已经配置完毕。

2.不同系统的任务计划略有不同,但基本换汤不换药,不做一一例举

问题:系统警告"已创建新任务,但可能不能运行,因为无法设置账户信息。指定的错误是:Ox80041315:任务计划程序服务没有运行"

原因:电脑的任务计划程序服务没有启动起来。

解决:开始 所有程序 管理工具 服务,找到"Task Scheduler"服务,发现启动类型为"已禁用",

右键单击更改为"自动",并把它启动起来,然后重新添加一次任务计划就可以了。

3.简单解释

1. bat:是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用 Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。

2. Echo 命令:打开回显或关闭请求回显功能,或显示消息。

3. @ 命令:表示不显示@后面的命令

4. Rem 命令:注释命令

5. If命令:if表示将判断是否符合规定的条件,从而决定执行不同的命令。

6. exit :退出命令行

7. GRANTS: 是权限的意思,在你导出的目标数据库中可能会有一些表的如select 权限等赋给了别的用户。

【GRANTS=Y】导出的时候将这些权限导出,导入的时候将这些权限导入。

【GRANTS=N】权限不被导入。


当前标题:oracle怎么自动备份,oracle数据库怎么备份
文章出自:http://azwzsj.com/article/hspgco.html