yihe_zang 发表于 2012-10-12 17:26

跪求oracle10/11 on windows平台的rman脚本 for NBU7

搞了许久,脚本和模版的备份都没有成功,哪位有没有现成的cmd脚本,贴出来参考一下啊?

huanglao2002 发表于 2012-10-12 20:56

7.X 脚本确实有问题。

yihe_zang 发表于 2012-10-14 16:26

回复 2# huanglao2002


    有没有搞成功过啊?就没有好用的脚本吗?分享一下啊!

有没有用NBU备份模版成功过的啊!

QaSanil 发表于 2012-10-16 19:38

楼主可以开个case叫他们发一个,或者用我的@REM $Header: hot_database_backup.cmd,v 1.3 from QaSanil 2005/11/28 19:01:53 $

@REM bcpyrght
@REM ***************************************************************************
@REM * $VRTScprght: Copyright 1993 - 2009 Symantec Corporation, All Rights Reserved $ *
@REM ***************************************************************************
@REM ecpyrght
@REM
@REM ---------------------------------------------------------------------------
@REM                        hot_database_backup.cmd
@REM ---------------------------------------------------------------------------
@REM This script uses Recovery Manager to take a hot (inconsistent) database
@REM backup. A hot backup is inconsistent because portions of the database are
@REM being modified and written to the disk while the backup is progressing.
@REM You must run your database in ARCHIVELOG mode to make hot backups.
@REM
@REM NOTE information for running proxy backups has been included.These
@REM information sections begin with a comment line of PROXY
@REM ---------------------------------------------------------------------------

@setlocal ENABLEEXTENSIONS

@REM ---------------------------------------------------------------------------
@REM No need to echo the commands.
@REM ---------------------------------------------------------------------------

@echo off

@REM ---------------------------------------------------------------------------
@REM Put output in the same filename, different extension.
@REM ---------------------------------------------------------------------------

@set RMAN_LOG_FILE="%~dpn0.out"

@REM ---------------------------------------------------------------------------
@REM You may want to delete the output file so that backup information does
@REM not accumulate.If not, delete the following command.
@REM ---------------------------------------------------------------------------

@if exist %RMAN_LOG_FILE% del %RMAN_LOG_FILE%

@REM ---------------------------------------------------------------------------
@REM Replace H:\oracle\ora81, below, with the Oracle home path.
@REM ---------------------------------------------------------------------------

@set ORACLE_HOME=D:\oracle\product\10.2.0\db_1

@REM ---------------------------------------------------------------------------
@REM Replace ora81, below, with the Oracle SID.
@REM ---------------------------------------------------------------------------

@set ORACLE_SID=oraoneb

@REM ---------------------------------------------------------------------------
@REM Replace sys/manager, below, with the target connect string.
@REM ---------------------------------------------------------------------------

@set TARGET_CONNECT_STR=sys/oracle

@REM ---------------------------------------------------------------------------
@REM Set the Oracle Recovery Manager.
@REM ---------------------------------------------------------------------------

@set RMAN=%ORACLE_HOME%\bin\rman.exe

@REM ---------------------------------------------------------------------------
@REM PROXY
@REM For a PROXY backup, uncomment the line below and replace the value.
@REM
@REM       NB_ORA_PC_STREAMS - specifies the number of parallel backup streams
@REM                           to be started.
@REM ---------------------------------------------------------------------------
@REM @set NB_ORA_PC_STREAMS=3


@REM ---------------------------------------------------------------------------
@REM Log the start of this scripts.
@REM ---------------------------------------------------------------------------

@for /F "tokens=1*" %%p in ('date /T') do @set DATE=%%p %%q
@for /F %%p in ('time /T') do @set DATE=%DATE% %%p

@echo ==== started on %DATE% ==== >> %RMAN_LOG_FILE%
@echo Script name: %0 >> %RMAN_LOG_FILE%

@REM ---------------------------------------------------------------------------
@REM Several RMAN commands use time parameters that require NLS_LANG and
@REM NLS_DATE_FORMAT to be set. This example uses the standard date format.
@REM Replace below with the desired language values.
@REM ---------------------------------------------------------------------------

@set NLS_LANG=american
@set NLS_DATE_FORMAT=YYYY-MM-DD:hh24:mi:ss

@REM ---------------------------------------------------------------------------
@REM Print out environment variables set in this script.
@REM ---------------------------------------------------------------------------

@echo #                                       >> %RMAN_LOG_FILE%
@echo   RMAN:%RMAN%                     >> %RMAN_LOG_FILE%
@echo   NLS_LANG:%NLS_LANG%               >> %RMAN_LOG_FILE%
@echo   ORACLE_HOME:%ORACLE_HOME%         >> %RMAN_LOG_FILE%
@echo   ORACLE_SID:%ORACLE_SID%         >> %RMAN_LOG_FILE%
@echo   NLS_DATE_FORMAT:%NLS_DATE_FORMAT% >> %RMAN_LOG_FILE%
@echo   RMAN_LOG_FILE:%RMAN_LOG_FILE%   >> %RMAN_LOG_FILE%

@REM ---------------------------------------------------------------------------
@REM PROXY
@REM For a PROXY backup, uncomment the line below.
@REM ---------------------------------------------------------------------------
@REM @echo   NB_ORA_PC_STREAMS:%NB_ORA_PC_STREAMS%   >> %RMAN_LOG_FILE%

@REM ---------------------------------------------------------------------------
@REM Print out environment variables set in bphdb.
@REM ---------------------------------------------------------------------------

@echo   NB_ORA_SERV:%NB_ORA_SERV%                     >> %RMAN_LOG_FILE%
@echo   NB_ORA_FULL:%NB_ORA_FULL%                     >> %RMAN_LOG_FILE%
@echo   NB_ORA_INCR:%NB_ORA_INCR%                     >> %RMAN_LOG_FILE%
@echo   NB_ORA_CINC:%NB_ORA_CINC%                     >> %RMAN_LOG_FILE%
@echo   NB_ORA_CLASS:%NB_ORA_CLASS%                   >> %RMAN_LOG_FILE%

@REM ---------------------------------------------------------------------------
@REM We assume that the database is properly opened. If desired, this would
@REM be the place to verify that.
@REM ---------------------------------------------------------------------------

@REM ---------------------------------------------------------------------------
@REM If this script is executed from a NetBackup schedule, NetBackup
@REM sets an NB_ORA environment variable based on the schedule type.
@REM For example, when:
@REM   schedule type is                BACKUP_TYPE is
@REM   ----------------                --------------
@REM Automatic Full                      INCREMENTAL LEVEL=0
@REM Automatic Differential IncrementalINCREMENTAL LEVEL=1
@REM Automatic Cumulative Incremental    INCREMENTAL LEVEL=1 CUMULATIVE
@REM
@REM For user initiated backups, BACKUP_TYPE defaults to incremental
@REM level 0 (Full).To change the default for a user initiated
@REM backup to incremental or incrementatl cumulative, uncomment
@REM one of the following two lines.
@REM @set BACKUP_TYPE="INCREMENTAL LEVEL=1"
@REM @set BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"
@REM
@REM Note that we use incremental level 0 to specify full backups.
@REM That is because, although they are identical in content, only
@REM the incremental level 0 backup can have incremental backups of
@REM level > 0 applied to it.
@REM ---------------------------------------------------------------------------

@REM ---------------------------------------------------------------------------
@REM What kind of backup will we perform.
@REM ---------------------------------------------------------------------------

@if "%NB_ORA_FULL%" EQU "1" @set BACKUP_TYPE=INCREMENTAL Level=0
@if "%NB_ORA_INCR%" EQU "1" @set BACKUP_TYPE=INCREMENTAL Level=1
@if "%NB_ORA_CINC%" EQU "1" @set BACKUP_TYPE=INCREMENTAL Level=1 CUMULATIVE
@if NOT DEFINED BACKUP_TYPE @set BACKUP_TYPE=INCREMENTAL Level=0

@REM ---------------------------------------------------------------------------
@REM Call Recovery Manager to initiate the backup. This example does not use a
@REM Recovery Catalog. If you choose to use one, remove the option, nocatalog,
@REM from the rman command line below and add a
@REM 'rcvcat <userid>/<passwd>@<tns alias>' statement.
@REM
@REMNOTE WHEN USING TNS ALIAS: When connecting to a database
@REMusing a TNS alias, you must use a send command or a parms operand to
@REMspecify environment variables.In other words, when accessing a database
@REMthrough a listener, the environment variables set at the system level are not
@REMvisible when RMAN is running.For more information on the environment
@REMvariables, please refer to the NetBackup for Oracle Admin. Guide.
@REM
@REM If you are getting an error that the input line is too long, you will need
@REM to put the RMAN run block in a separate file.Then use the "cmdfile"
@REM option of RMAN.For more information on the "cmdfile" options please
@REM refer to the RMAN documentation.
@REM ---------------------------------------------------------------------------

@REM ---------------------------------------------------------------------------
@REM PROXY
@REM For a PROXY backup, you must use a send command to specify
@REM the NB_ORA_PC_STREAMS environment variable. For example,
@REM echo ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
@REM echo SEND 'NB_ORA_PC_STREAMS=%%NB_ORA_PC_STREAMS%%';
@REM
@REM %BACKUP_TYPE% must also be removed and replaced with the PROXY parameter
@REM in the RMAN section associated with the data files.For example,
@REM echo BACKUP
@REM echo       PROXY
@REM echo       FORMAT 'bk_u%%u_s%%s_p%%p_t%%t'
@REM echo       DATABASE;
@REM            .
@REM            .
@REMNote that the controlfiles and archivelogs are not backed up using proxy
@REMcopy method. Rman will initiate non-proxy copy sessions to backup the
@REMcontrolfile and archivelogs.
@REM ---------------------------------------------------------------------------
@(
echo RUN {
echo ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
echo ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
echo BACKUP
echo       %BACKUP_TYPE%
echo       FORMAT 'bk_u%%u_s%%s_p%%p_t%%t'
echo       DATABASE;
echo sql 'alter system archive log current';
echo RELEASE CHANNEL ch00;
echo RELEASE CHANNEL ch01;
echo # Backup all archive logs
echo ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
echo BACKUP
echo       FILESPERSET 20
echo       FORMAT 'arch-s%%s-p%%p'
echo       ARCHIVELOG ALL;
echo RELEASE CHANNEL ch00;
echo ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
echo BACKUP
echo       FORMAT 'cntrl_%s_%p_%t'
echo       CURRENT CONTROLFILE;
echo RELEASE CHANNEL ch00;
echo }
) | %RMAN% target %TARGET_CONNECT_STR% nocatalog msglog '%RMAN_LOG_FILE%' append

@set ERRLEVEL=%ERRORLEVEL%

@REM ---------------------------------------------------------------------------
@REM NetBackup (bphdb) stores the name of a file in an environment variable,
@REM called STATUS_FILE. This file is used by an automatic schedule to
@REM communicate status information with NetBackup's job monitor. It is up to
@REM the script to write a 0 (passed) or 1 (failure) to the status file.
@REM ---------------------------------------------------------------------------

@if %ERRLEVEL% NEQ 0 @goto err

@set LOGMSG=ended successfully
@if "%STATUS_FILE%" EQU "" goto end
@echo 0 > "%STATUS_FILE%"
@goto end

:err
@set LOGMSG=ended in error
@if "%STATUS_FILE%" EQU "" @goto end
@echo 1 > "%STATUS_FILE%"

:end

@REM ---------------------------------------------------------------------------
@REM Log the completion of this script.
@REM ---------------------------------------------------------------------------

@for /F "tokens=1*" %%p in ('date /T') do @set DATE=%%p %%q
@for /F %%p in ('time /T') do @set DATE=%DATE% %%p

@echo #>> %RMAN_LOG_FILE%
@echo %==== %LOGMSG% on %DATE% ==== >> %RMAN_LOG_FILE%
@endlocal
@REM End of Main Program -----------------------------------------------------

xc5sm 发表于 2012-10-20 12:21

嗯,win下的7.x的脚本不能备份,一直用6.5的说:lol

xuman6601651 发表于 2012-10-20 18:10

可以用6.5的....

yihe_zang 发表于 2012-10-22 13:51

回复 4# QaSanil


    老大很强哦,用了这么多的脚本,就你的成功了,一直以为是Oracle安装的问题呢!

看来还是脚本的事啊!

用BE来备份Oracle很简单,那不知道用be提供的rman脚本给nbu用的话能不能行呢?在哪里找到be提供的rman脚本呢?

QaSanil 发表于 2012-10-22 15:14

回复 7# yihe_zang


    求教无牙大大吧。我只是半瓶水。

zhifa315 发表于 2012-11-06 10:08

我用NBU备份Oralce一闪就完成,应该也是7的脚本问题,先下载,在测试下。谢谢分享。

haivchen 发表于 2012-11-19 16:10

7.X的脚本是有问题,修改下就可以用了
echo off
setlocal ENABLEEXTENSIONS
set RMAN_LOG_FILE="%~dpn0.out"
if exist %RMAN_LOG_FILE% del %RMAN_LOG_FILE%
set ORACLE_HOME=d:\oracle\product\10.2.0\db_1
set ORACLE_SID=ecms
set TARGET_CONNECT_STR=backup/backup123
set RMAN=%ORACLE_HOME%\bin\rman.exe
for /F "tokens=1*" %%p in ('date /T') do @set DATE=%%p %%q
for /F %%p in ('time /T') do @set DATE=%DATE% %%p
echo ==== started on %DATE% ==== >> %RMAN_LOG_FILE%
echo Script name: %0 >> %RMAN_LOG_FILE%
set NLS_LANG=american
set NLS_DATE_FORMAT=YYYY-MM-DD:hh24:mi:ss
echo                                       >> %RMAN_LOG_FILE%
echo   RMAN:%RMAN%                     >> %RMAN_LOG_FILE%
echo   NLS_LANG:%NLS_LANG%               >> %RMAN_LOG_FILE%
echo   ORACLE_HOME:%ORACLE_HOME%         >> %RMAN_LOG_FILE%
echo   ORACLE_SID:%ORACLE_SID%         >> %RMAN_LOG_FILE%
echo   NLS_DATE_FORMAT:%NLS_DATE_FORMAT% >> %RMAN_LOG_FILE%
echo   RMAN_LOG_FILE:%RMAN_LOG_FILE%   >> %RMAN_LOG_FILE%

echo   NB_ORA_SERV:%NB_ORA_SERV%                     >> %RMAN_LOG_FILE%
echo   NB_ORA_FULL:%NB_ORA_FULL%                     >> %RMAN_LOG_FILE%
echo   NB_ORA_INCR:%NB_ORA_INCR%                     >> %RMAN_LOG_FILE%
echo   NB_ORA_CINC:%NB_ORA_CINC%                     >> %RMAN_LOG_FILE%

if "%NB_ORA_FULL%" EQU "1" @set BACKUP_TYPE=INCREMENTAL Level=0
if "%NB_ORA_INCR%" EQU "1" @set BACKUP_TYPE=INCREMENTAL Level=1
if "%NB_ORA_CINC%" EQU "1" @set BACKUP_TYPE=INCREMENTAL Level=1 CUMULATIVE
if NOT DEFINED BACKUP_TYPE @set BACKUP_TYPE=INCREMENTAL Level=0

(
echo RUN {
echo ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
echo ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
echo BACKUP
echo       %BACKUP_TYPE%
echo       FORMAT 'bk_u%%u_s%%s_p%%p_t%%t'
echo       DATABASE;
echo sql 'alter system archive log current';
echo RELEASE CHANNEL ch00;
echo RELEASE CHANNEL ch01;
echo # Backup all archive logs
echo ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
echo BACKUP
echo       FILESPERSET 20
echo       FORMAT 'arch-s%%s-p%%p-t%%t'
echo       ARCHIVELOG ALL DELETE INPUT;
echo RELEASE CHANNEL ch00;
echo ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
echo BACKUP
echo       FORMAT 'cntrl_%s_%p_%t'
echo       CURRENT CONTROLFILE;
echo RELEASE CHANNEL ch00;
echo }
) | %RMAN% target %TARGET_CONNECT_STR% nocatalog msglog '%RMAN_LOG_FILE%'
set ERRLEVEL=%ERRORLEVEL%
if %ERRLEVEL% NEQ 0 @goto err
set LOGMSG=ended successfully
if "%STATUS_FILE%" EQU "" goto end
echo 0 > "%STATUS_FILE%"
goto end

:err
set LOGMSG=ended in error
if "%STATUS_FILE%" EQU "" @goto end
echo 1 > "%STATUS_FILE%"

:end

for /F "tokens=1*" %%p in ('date /T') do @set DATE=%%p %%q
for /F %%p in ('time /T') do @set DATE=%DATE% %%p

echo #>> %RMAN_LOG_FILE%
echo %==== %LOGMSG% on %DATE% ==== >> %RMAN_LOG_FILE%
endlocal

echo on
页: [1] 2
查看完整版本: 跪求oracle10/11 on windows平台的rman脚本 for NBU7