Показаны сообщения с ярлыком NetBackup. Показать все сообщения
Показаны сообщения с ярлыком NetBackup. Показать все сообщения

четверг, 8 сентября 2011 г.

RMAN Duplicate without Target using Veritas Netbackup

1. Исходная промышленная СУБД (SPOD)

$ export ORACLE_SID=spod
$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.2.0 Production on Thu Sep 1 11:34:02 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u03/app/oradb/oradata/spod/system/system01.dbf
/u03/app/oradb/oradata/spod/sysaux/sysaux01.dbf
/u03/app/oradb/oradata/spod/undotbs/undotbs01.dbf
/u03/app/oradb/oradata/spod/users/users01.dbf

SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
/u03/app/oradb/oradata/spod/temp/temp01.dbf

SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u02/app/oradb/oradata/spod/redoa/redo01.log
/u02/app/oradb/oradata/spod/redoa/redo02.log
/u02/app/oradb/oradata/spod/redoa/redo03.log

SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u03/app/oradb/oradata/spod/control1/control01.ctl
/u03/app/oradb/oradata/spod/control2/control02.ctl

SQL> exit

$ strings spfilespod.ora
spod.__db_cache_size=1409286144
spod.__java_pool_size=16777216
spod.__large_pool_size=16777216
spod.__oracle_base='/u01/app'#ORACLE_BASE set from environment
spod.__pga_aggregate_target=1342177280
spod.__sga_target=2013265920
spod.__shared_io_pool_size=0
spod.__shared_pool_size=520093696
spod.__streams_pool_size=16777216
*.audit_file_dest='/u01/app/admin/spod/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u03/app/oradb/oradata/spod/control1/control01.ctl','/u03/app/oradb/oradata/spod/control2/control02.ctl'
*.db_block_size=8192
*.db_domain='oracle.sun.com'
*.db_name='spod'
*.db_recovery_file_dest='/u01/app/fast_recovery_area'
*.db_recovery_file_dest_size=5218762752
*.diagnostic_dest='/u01/app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=spodXDB)'
*.log_archive_dest_1='LOCATION=/u01/app/oradb/archlogs/arch01/spod/'
*.log_archive_dest_2='LOCATION=/u01/app/oradb/archlogs/arch02/spod OPTIONAL'
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
$

2. Создаем структуру каталогов для тестовой базы данных (SPODT2)

mkdir -p /u03/app/oradb/oradata/spodt2/system
mkdir -p /u03/app/oradb/oradata/spodt2/sysaux
mkdir -p /u03/app/oradb/oradata/spodt2/undotbs
mkdir -p /u03/app/oradb/oradata/spodt2/users
mkdir -p /u03/app/oradb/oradata/spodt2/temp
mkdir -p /u02/app/oradb/oradata/spodt2/redoa
mkdir -p /u03/app/oradb/oradata/spodt2/control1
mkdir -p /u03/app/oradb/oradata/spodt2/control2

mkdir -p /u01/app/oradb/archlogs/arch01/spodt2
mkdir -p /u01/app/oradb/archlogs/arch02/spodt2


3. Внесем изменения в фалйы: listener.ora и tnsnames.ora

$ more /u01/app/11.2.0.2/grid/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/11.2.0.2/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = spodt1.oracle.sun.com)
(ORACLE_HOME = /u01/app/oradb/product/11.2.0.2/dbhome_1)
(SID_NAME = spodt1)
)
(SID_DESC =
(GLOBAL_DBNAME = spodt2.oracle.sun.com)
(ORACLE_HOME = /u01/app/oradb/product/11.2.0.2/dbhome_1)
(SID_NAME = spodt2)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = kr400.oracle.sun.com)(PORT = 1521))
)
)

ADR_BASE_LISTENER = /u01/app/oragrid

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
$


$ more /u01/app/oradb/product/11.2.0.2/dbhome_1/network/admin/tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oradb/product/11.2.0.2/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

SPOD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = kr400.oracle.sun.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = spod.oracle.sun.com)
)
)

SPODT1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = kr400.oracle.sun.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = spodt1.oracle.sun.com)
)
)

SPODT2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = kr400.oracle.sun.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = spodt2.oracle.sun.com)
)
)

4. Подготовим скрипт backupSPOD_tape.sh для создания резервной копии промышленной СУБД (SPOD)

$ more backupSPOD_tape.sh

ORACLE_HOME=/u01/app/oradb/product/11.2.0.2/dbhome_1
export ORACLE_HOME
ORACLE_SID=spod
export ORACLE_SID
rman target / catalog 'rman/passwd@catdb' << EOF

########################################## Clear configuration ###########################################
CONFIGURE RETENTION POLICY CLEAR;
CONFIGURE BACKUP OPTIMIZATION CLEAR;
CONFIGURE DEFAULT DEVICE TYPE CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT CLEAR;
CONFIGURE DEVICE TYPE DISK CLEAR;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK CLEAR;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT CLEAR;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK CLEAR;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT CLEAR;
CONFIGURE CHANNEL DEVICE TYPE DISK CLEAR;
CONFIGURE CHANNEL DEVICE TYPE SBT CLEAR;
CONFIGURE MAXSETSIZE CLEAR;
CONFIGURE SNAPSHOT CONTROLFILE NAME CLEAR;
########################################### Configure #####################################################

CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 1;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/snapcf_orcl.f';
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

########################################### BACKUP SCRIPT #################################################

DELETE NOPROMPT obsolete redundancy 2;
CROSSCHECK BACKUP;
CROSSCHECK archivelog all;
CROSSCHECK COPY;
CROSSCHECK backup of database;
CROSSCHECK backup of controlfile;

RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=nbsrv-1,NB_ORA_CLIENT=kr400-1,NB_ORA_POLICY=KR400_Oracle';

sql 'alter system switch logfile';
sql 'alter system archive log current';
backup database plus archivelog delete input;
sql 'alter system switch logfile';
sql 'alter system archive log current';

delete noprompt obsolete;
RELEASE CHANNEL ch00;
}
EOF
exit 0

$

5. Выполним резервное копирование промышленной СУБД (SPOD):

$ ./backupSPOD_tape.sh
Recovery Manager: Release 11.2.0.2.0 - Production on Thu Sep 8 16:04:28 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connected to target database: SPOD (DBID=1675227431)
connected to recovery catalog database

RMAN>
RMAN> 2>
starting full resync of recovery catalog
full resync complete
old RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION OFF;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u03/app/oradb/backups/rman/spod/cf_%F';
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
RMAN configuration parameters are successfully reset to default value

RMAN>
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters:
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
RMAN configuration parameters are successfully reset to default value

RMAN>
old RMAN configuration parameters:
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
RMAN configuration parameters are successfully reset to default value

RMAN>
old RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u03/app/oradb/backups/rman/spod/%U';
old RMAN configuration parameters are successfully deleted
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters are successfully deleted

RMAN>
old RMAN configuration parameters:
CONFIGURE MAXSETSIZE TO UNLIMITED;
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u03/app/oradb/backups/rman/spod/snapcf_syslog.f';
RMAN configuration parameters are successfully reset to default value
starting full resync of recovery catalog
full resync complete

RMAN> 2> 3>
new RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO '%F';
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
new RMAN configuration parameters:
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 1;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 1;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
new RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/snapcf_orcl.f';
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

RMAN>
RMAN> 2> 3>
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=100 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: Veritas NetBackup for Oracle - Release 6.5 (2010042404)
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=131 device type=DISK
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 240920 08-SEP-11
Backup Piece 240932 08-SEP-11 8jmm1de7_1_1
Backup Set 240944 08-SEP-11
Backup Piece 240949 08-SEP-11 8kmm1dgv_1_1
Backup Set 240958 08-SEP-11
Backup Piece 240960 08-SEP-11 c-1675227431-20110908-06
Backup Set 241065 08-SEP-11
Backup Piece 241070 08-SEP-11 8mmm1mrk_1_1
Backup Set 241066 08-SEP-11
Backup Piece 241071 08-SEP-11 8omm1mv8_1_1
Backup Set 241067 08-SEP-11
Backup Piece 241072 08-SEP-11 8nmm1mrk_1_1
deleted backup piece
backup piece handle=8jmm1de7_1_1 RECID=207 STAMP=761312711
deleted backup piece
backup piece handle=8kmm1dgv_1_1 RECID=208 STAMP=761312799
deleted backup piece
backup piece handle=c-1675227431-20110908-06 RECID=209 STAMP=761312856
deleted backup piece
backup piece handle=8mmm1mrk_1_1 RECID=210 STAMP=761322356
deleted backup piece
backup piece handle=8omm1mv8_1_1 RECID=211 STAMP=761322472
deleted backup piece
backup piece handle=8nmm1mrk_1_1 RECID=212 STAMP=761322356
Deleted 6 objects


RMAN>
using channel ORA_SBT_TAPE_1
using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=8qmm1n29_1_1 RECID=213 STAMP=761322570
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=8pmm1n29_1_1 RECID=214 STAMP=761322570
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=8rmm1n4o_1_1 RECID=215 STAMP=761322648
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=c-1675227431-20110908-07 RECID=216 STAMP=761322705
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u03/app/oradb/backups/rman/spod/8tmm1s7i_1_1 RECID=217 STAMP=761327858
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u03/app/oradb/backups/rman/spod/8umm1s7j_1_1 RECID=218 STAMP=761327860
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u03/app/oradb/backups/rman/spod/8vmm1s8n_1_1 RECID=219 STAMP=761327895
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u03/app/oradb/backups/rman/spod/cf_c-1675227431-20110908-08 RECID=220 STAMP=761327897
Crosschecked 8 objects


RMAN>
released channel: ORA_SBT_TAPE_1
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=100 device type=DISK
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_409_760029095.dbf RECID=639 STAMP=761322763
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_410_760029095.dbf RECID=641 STAMP=761322765
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_411_760029095.dbf RECID=643 STAMP=761327856
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_412_760029095.dbf RECID=646 STAMP=761327856
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_413_760029095.dbf RECID=648 STAMP=761327857
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_414_760029095.dbf RECID=650 STAMP=761327895
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_415_760029095.dbf RECID=651 STAMP=761327900
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_415_760029095.dbf RECID=652 STAMP=761327900
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_416_760029095.dbf RECID=653 STAMP=761327902
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_416_760029095.dbf RECID=654 STAMP=761327902
Crosschecked 10 objects


RMAN>
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=100 device type=DISK
specification does not match any datafile copy in the repository
specification does not match any control file copy in the repository
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_409_760029095.dbf RECID=639 STAMP=761322763
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_410_760029095.dbf RECID=641 STAMP=761322765
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_411_760029095.dbf RECID=643 STAMP=761327856
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_412_760029095.dbf RECID=646 STAMP=761327856
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_413_760029095.dbf RECID=648 STAMP=761327857
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_414_760029095.dbf RECID=650 STAMP=761327895
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_415_760029095.dbf RECID=651 STAMP=761327900
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_415_760029095.dbf RECID=652 STAMP=761327900
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_416_760029095.dbf RECID=653 STAMP=761327902
validation succeeded for archived log
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_416_760029095.dbf RECID=654 STAMP=761327902
Crosschecked 10 objects


RMAN>
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=131 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: Veritas NetBackup for Oracle - Release 6.5 (2010042404)
using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u03/app/oradb/backups/rman/spod/8umm1s7j_1_1 RECID=218 STAMP=761327860
Crosschecked 1 objects

crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=8qmm1n29_1_1 RECID=213 STAMP=761322570
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=8pmm1n29_1_1 RECID=214 STAMP=761322570
Crosschecked 2 objects


RMAN>
using channel ORA_SBT_TAPE_1
using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u03/app/oradb/backups/rman/spod/cf_c-1675227431-20110908-08 RECID=220 STAMP=761327897
Crosschecked 1 objects

crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=c-1675227431-20110908-07 RECID=216 STAMP=761322705
Crosschecked 1 objects


RMAN>
RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13>
released channel: ORA_SBT_TAPE_1
released channel: ORA_DISK_1
allocated channel: ch00
channel ch00: SID=100 device type=SBT_TAPE
channel ch00: Veritas NetBackup for Oracle - Release 6.5 (2010042404)

sent command to channel: ch00

sql statement: alter system switch logfile

sql statement: alter system archive log current


Starting backup at 08-SEP-11
current log archived
channel ch00: starting archived log backup set
channel ch00: specifying archived log(s) in backup set
input archived log thread=1 sequence=409 RECID=639 STAMP=761322763
input archived log thread=1 sequence=410 RECID=641 STAMP=761322765
input archived log thread=1 sequence=411 RECID=643 STAMP=761327856
input archived log thread=1 sequence=412 RECID=646 STAMP=761327856
input archived log thread=1 sequence=413 RECID=648 STAMP=761327857
input archived log thread=1 sequence=414 RECID=650 STAMP=761327895
input archived log thread=1 sequence=415 RECID=651 STAMP=761327900
input archived log thread=1 sequence=416 RECID=653 STAMP=761327902
input archived log thread=1 sequence=417 RECID=655 STAMP=761328334
input archived log thread=1 sequence=418 RECID=657 STAMP=761328335
input archived log thread=1 sequence=419 RECID=660 STAMP=761328339
channel ch00: starting piece 1 at 08-SEP-11
channel ch00: finished piece 1 at 08-SEP-11
piece handle=91mm1sml_1_1 tag=TAG20110908T160540 comment=API Version 2.0,MMS Version 5.0.0.0
channel ch00: backup set complete, elapsed time: 00:02:55
channel ch00: deleting archived log(s)
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_409_760029095.dbf RECID=639 STAMP=761322763
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_410_760029095.dbf RECID=641 STAMP=761322765
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_411_760029095.dbf RECID=643 STAMP=761327856
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_412_760029095.dbf RECID=646 STAMP=761327856
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_413_760029095.dbf RECID=648 STAMP=761327857
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_414_760029095.dbf RECID=650 STAMP=761327895
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_415_760029095.dbf RECID=651 STAMP=761327900
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_416_760029095.dbf RECID=653 STAMP=761327902
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_417_760029095.dbf RECID=655 STAMP=761328334
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_418_760029095.dbf RECID=657 STAMP=761328335
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_419_760029095.dbf RECID=660 STAMP=761328339
Finished backup at 08-SEP-11

Starting backup at 08-SEP-11
channel ch00: starting full datafile backup set
channel ch00: specifying datafile(s) in backup set
input datafile file number=00001 name=/u03/app/oradb/oradata/spod/system/system01.dbf
input datafile file number=00003 name=/u03/app/oradb/oradata/spod/undotbs/undotbs01.dbf
input datafile file number=00002 name=/u03/app/oradb/oradata/spod/sysaux/sysaux01.dbf
input datafile file number=00004 name=/u03/app/oradb/oradata/spod/users/users01.dbf
channel ch00: starting piece 1 at 08-SEP-11
channel ch00: finished piece 1 at 08-SEP-11
piece handle=92mm1ss6_1_1 tag=TAG20110908T160837 comment=API Version 2.0,MMS Version 5.0.0.0
channel ch00: backup set complete, elapsed time: 00:01:25
Finished backup at 08-SEP-11

Starting backup at 08-SEP-11
current log archived
channel ch00: starting archived log backup set
channel ch00: specifying archived log(s) in backup set
input archived log thread=1 sequence=420 RECID=662 STAMP=761328604
channel ch00: starting piece 1 at 08-SEP-11
channel ch00: finished piece 1 at 08-SEP-11
piece handle=93mm1suv_1_1 tag=TAG20110908T161005 comment=API Version 2.0,MMS Version 5.0.0.0
channel ch00: backup set complete, elapsed time: 00:00:55
channel ch00: deleting archived log(s)
archived log file name=/u01/app/oradb/archlogs/arch02/spod/1_420_760029095.dbf RECID=662 STAMP=761328604
Finished backup at 08-SEP-11

Starting Control File and SPFILE Autobackup at 08-SEP-11
piece handle=c-1675227431-20110908-09 comment=API Version 2.0,MMS Version 5.0.0.0
Finished Control File and SPFILE Autobackup at 08-SEP-11

sql statement: alter system switch logfile

sql statement: alter system archive log current

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 241093 08-SEP-11
Backup Piece 241098 08-SEP-11 8qmm1n29_1_1
Backup Set 241094 08-SEP-11
Backup Piece 241099 08-SEP-11 8pmm1n29_1_1
Backup Set 241111 08-SEP-11
Backup Piece 241114 08-SEP-11 8rmm1n4o_1_1
Backup Set 241123 08-SEP-11
Backup Piece 241125 08-SEP-11 c-1675227431-20110908-07
Backup Set 241191 08-SEP-11
Backup Piece 241197 08-SEP-11 /u03/app/oradb/backups/rman/spod/8tmm1s7i_1_1
deleted backup piece
backup piece handle=/u03/app/oradb/backups/rman/spod/8tmm1s7i_1_1 RECID=217 STAMP=761327858
Deleted 1 objects

deleted backup piece
backup piece handle=8qmm1n29_1_1 RECID=213 STAMP=761322570
deleted backup piece
backup piece handle=8pmm1n29_1_1 RECID=214 STAMP=761322570
deleted backup piece
backup piece handle=8rmm1n4o_1_1 RECID=215 STAMP=761322648
deleted backup piece
backup piece handle=c-1675227431-20110908-07 RECID=216 STAMP=761322705
Deleted 4 objects


released channel: ch00

RMAN>

Recovery Manager complete.
$

6. Подготовим скрипт makeSPODT2.sh для создания тестовой СУБД (SPODT2)

$ more makeSPODT2_tape.sh

#!/bin/bash

# Create temporary password file, must have same password as primary
rm /u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/orapwspodt2
orapwd file=/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/orapwspodt2 password=oracle

# Create temporary parameter file
echo "db_name=spodt2" > /u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/initspodt2.ora

export ORACLE_SID=spodt2
export ORACLE_HOME=/u01/app/oradb/product/11.2.0.2/dbhome_1

# Start up the auxiliary instance nomount
sqlplus '/ as sysdba' << EOF
shutdown immediate;
STARTUP PFILE='/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/initspodt2.ora' NOMOUNT;
EOF

rman << EOF
connect catalog rman/passwd@catdb;
connect auxiliary sys/oracle@spodt2;
run {
ALLOCATE AUXILIARY CHANNEL c1 DEVICE TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=nbsrv-1,NB_ORA_CLIENT=kr400-1,NB_ORA_POLICY=KR400_Oracle';
duplicate database 'spod' to 'spodt2'
spfile
SET CONTROL_FILES '/u03/app/oradb/oradata/spodt2/control1/control01.ctl','/u03/app/oradb/oradata/spodt2/control2/control02.ctl'
SET LOG_FILE_NAME_CONVERT '/u02/app/oradb/oradata/spod/','/u02/app/oradb/oradata/spodt2/'
SET DB_FILE_NAME_CONVERT '/u03/app/oradb/oradata/spod/','/u03/app/oradb/oradata/spodt2/'
;
}

EOF
exit 0

$

7. Выполним этот скрипт :

$ ./makeSPODT2_tape.sh
SQL*Plus: Release 11.2.0.2.0 Production on Thu Sep 8 16:23:58 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> ORACLE instance started.

Total System Global Area 217157632 bytes
Fixed Size 2225064 bytes
Variable Size 159386712 bytes
Database Buffers 50331648 bytes
Redo Buffers 5214208 bytes
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Recovery Manager: Release 11.2.0.2.0 - Production on Thu Sep 8 16:24:22 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

RMAN>
connected to recovery catalog database

RMAN>
connected to auxiliary database: SPODT2 (not mounted)

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10>
allocated channel: c1
channel c1: SID=67 device type=SBT_TAPE
channel c1: Veritas NetBackup for Oracle - Release 6.5 (2010042404)

sent command to channel: c1

Starting Duplicate Db at 08-SEP-11

contents of Memory Script:
{
set until scn 2836104;
restore clone spfile to '/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/spfilespodt2.ora';
sql clone "alter system set spfile= ''/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/spfilespodt2.ora''";
}
executing Memory Script

executing command: SET until clause

Starting restore at 08-SEP-11

WARNING: A restore time was estimated based on the supplied UNTIL SCN
channel c1: starting datafile backup set restore
channel c1: restoring SPFILE
output file name=/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/spfilespodt2.ora
channel c1: reading from backup piece c-1675227431-20110908-09
channel c1: piece handle=c-1675227431-20110908-09 tag=TAG20110908T161103
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:02:35
Finished restore at 08-SEP-11

sql statement: alter system set spfile= ''/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/spfilespodt2.ora''

contents of Memory Script:
{
sql clone "alter system set db_name =
''SPODT2'' comment=
''duplicate'' scope=spfile";
sql clone "alter system set CONTROL_FILES =
''/u03/app/oradb/oradata/spodt2/control1/control01.ctl'', ''/u03/app/oradb/oradata/spodt2/control2/control02.ctl'' comment=
'''' scope=spfile";
sql clone "alter system set LOG_FILE_NAME_CONVERT =
''/u02/app/oradb/oradata/spod/'', ''/u02/app/oradb/oradata/spodt2/'' comment=
'''' scope=spfile";
sql clone "alter system set db_file_name_convert =
''/u03/app/oradb/oradata/spod/'', ''/u03/app/oradb/oradata/spodt2/'' comment=
'''' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script

sql statement: alter system set db_name = ''SPODT2'' comment= ''duplicate'' scope=spfile

sql statement: alter system set CONTROL_FILES = ''/u03/app/oradb/oradata/spodt2/control1/control01.ctl'', ''/u03/app/oradb/oradata/s podt2/control2/control02.ctl'' comment= '''' scope=spfile

sql statement: alter system set LOG_FILE_NAME_CONVERT = ''/u02/app/oradb/oradata/spod/'', ''/u02/app/oradb/oradata/spodt2/'' comment = '''' scope=spfile

sql statement: alter system set db_file_name_convert = ''/u03/app/oradb/oradata/spod/'', ''/u03/app/oradb/oradata/spodt2/'' comment= '''' scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area 217157632 bytes

Fixed Size 2225064 bytes
Variable Size 159386712 bytes
Database Buffers 50331648 bytes
Redo Buffers 5214208 bytes
allocated channel: c1
channel c1: SID=156 device type=SBT_TAPE
channel c1: Veritas NetBackup for Oracle - Release 6.5 (2010042404)

contents of Memory Script:
{
sql clone "alter system set db_name =
''SPOD'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''SPODT2'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
restore clone primary controlfile;
alter clone database mount;
}
executing Memory Script

sql statement: alter system set db_name = ''SPOD'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system set db_unique_name = ''SPODT2'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area 217157632 bytes

Fixed Size 2225064 bytes
Variable Size 159386712 bytes
Database Buffers 50331648 bytes
Redo Buffers 5214208 bytes
allocated channel: c1
channel c1: SID=156 device type=SBT_TAPE
channel c1: Veritas NetBackup for Oracle - Release 6.5 (2010042404)

Starting restore at 08-SEP-11

channel c1: starting datafile backup set restore
channel c1: restoring control file
channel c1: reading from backup piece c-1675227431-20110908-09
channel c1: piece handle=c-1675227431-20110908-09 tag=TAG20110908T161103
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:00:45
output file name=/u03/app/oradb/oradata/spodt2/control1/control01.ctl
output file name=/u03/app/oradb/oradata/spodt2/control2/control02.ctl
Finished restore at 08-SEP-11

database mounted

contents of Memory Script:
{
set until scn 2836104;
set newname for datafile 1 to
"/u03/app/oradb/oradata/spodt2/system/system01.dbf";
set newname for datafile 2 to
"/u03/app/oradb/oradata/spodt2/sysaux/sysaux01.dbf";
set newname for datafile 3 to
"/u03/app/oradb/oradata/spodt2/undotbs/undotbs01.dbf";
set newname for datafile 4 to
"/u03/app/oradb/oradata/spodt2/users/users01.dbf";
restore
clone database
;
}
executing Memory Script

executing command: SET until clause

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 08-SEP-11

channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00001 to /u03/app/oradb/oradata/spodt2/system/system01.dbf
channel c1: restoring datafile 00002 to /u03/app/oradb/oradata/spodt2/sysaux/sysaux01.dbf
channel c1: restoring datafile 00003 to /u03/app/oradb/oradata/spodt2/undotbs/undotbs01.dbf
channel c1: restoring datafile 00004 to /u03/app/oradb/oradata/spodt2/users/users01.dbf
channel c1: reading from backup piece 92mm1ss6_1_1
channel c1: piece handle=92mm1ss6_1_1 tag=TAG20110908T160837
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:01:35
Finished restore at 08-SEP-11

contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=62 STAMP=761329812 file name=/u03/app/oradb/oradata/spodt2/system/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=63 STAMP=761329812 file name=/u03/app/oradb/oradata/spodt2/sysaux/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=64 STAMP=761329812 file name=/u03/app/oradb/oradata/spodt2/undotbs/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=65 STAMP=761329812 file name=/u03/app/oradb/oradata/spodt2/users/users01.dbf

contents of Memory Script:
{
set until scn 2836104;
recover
clone database
delete archivelog
;
}
executing Memory Script

executing command: SET until clause

Starting recover at 08-SEP-11

starting media recovery

archived log for thread 1 with sequence 420 is already on disk as file /u01/app/oradb/archlogs/arch01/spod/1_420_760029095.dbf
archived log for thread 1 with sequence 421 is already on disk as file /u01/app/oradb/archlogs/arch01/spod/1_421_760029095.dbf
archived log for thread 1 with sequence 422 is already on disk as file /u01/app/oradb/archlogs/arch01/spod/1_422_760029095.dbf
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_420_760029095.dbf thread=1 sequence=420
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_421_760029095.dbf thread=1 sequence=421
archived log file name=/u01/app/oradb/archlogs/arch01/spod/1_422_760029095.dbf thread=1 sequence=422
media recovery complete, elapsed time: 00:00:00
Finished recover at 08-SEP-11
Oracle instance started

Total System Global Area 217157632 bytes

Fixed Size 2225064 bytes
Variable Size 159386712 bytes
Database Buffers 50331648 bytes
Redo Buffers 5214208 bytes

contents of Memory Script:
{
sql clone "alter system set db_name =
''SPODT2'' comment=
''Reset to original value by RMAN'' scope=spfile";
sql clone "alter system reset db_unique_name scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script

sql statement: alter system set db_name = ''SPODT2'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset db_unique_name scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area 217157632 bytes

Fixed Size 2225064 bytes
Variable Size 159386712 bytes
Database Buffers 50331648 bytes
Redo Buffers 5214208 bytes
allocated channel: c1
channel c1: SID=156 device type=SBT_TAPE
channel c1: Veritas NetBackup for Oracle - Release 6.5 (2010042404)
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "SPODT2" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '/u02/app/oradb/oradata/spodt2/redoa/redo01.log' ) SIZE 50 M REUSE,
GROUP 2 ( '/u02/app/oradb/oradata/spodt2/redoa/redo02.log' ) SIZE 50 M REUSE,
GROUP 3 ( '/u02/app/oradb/oradata/spodt2/redoa/redo03.log' ) SIZE 50 M REUSE
DATAFILE
'/u03/app/oradb/oradata/spodt2/system/system01.dbf'
CHARACTER SET CL8MSWIN1251


contents of Memory Script:
{
set newname for tempfile 1 to
"/u03/app/oradb/oradata/spodt2/temp/temp01.dbf";
switch clone tempfile all;
catalog clone datafilecopy "/u03/app/oradb/oradata/spodt2/sysaux/sysaux01.dbf",
"/u03/app/oradb/oradata/spodt2/undotbs/undotbs01.dbf",
"/u03/app/oradb/oradata/spodt2/users/users01.dbf";
switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /u03/app/oradb/oradata/spodt2/temp/temp01.dbf in control file

cataloged datafile copy
datafile copy file name=/u03/app/oradb/oradata/spodt2/sysaux/sysaux01.dbf RECID=1 STAMP=761329853
cataloged datafile copy
datafile copy file name=/u03/app/oradb/oradata/spodt2/undotbs/undotbs01.dbf RECID=2 STAMP=761329853
cataloged datafile copy
datafile copy file name=/u03/app/oradb/oradata/spodt2/users/users01.dbf RECID=3 STAMP=761329853

datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=761329853 file name=/u03/app/oradb/oradata/spodt2/sysaux/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=761329853 file name=/u03/app/oradb/oradata/spodt2/undotbs/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=761329853 file name=/u03/app/oradb/oradata/spodt2/users/users01.dbf

contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script

database opened
Finished Duplicate Db at 08-SEP-11
released channel: c1

RMAN>
RMAN>

Recovery Manager complete.
$

8. Проверяем созданную базу данных (SPODT2)

$ ps -ef|grep pmon
oradb 8900 1 0 12:43 ? 00:00:01 ora_pmon_spod
oragrid 9167 1 0 12:43 ? 00:00:01 asm_pmon_+ASM
oradb 20306 1 0 14:25 ? 00:00:00 ora_pmon_spodt2
oradb 27736 1 0 Sep01 ? 00:00:14 ora_pmon_spodt1

$ export ORACLE_SID=spodt2
$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.2.0 Production on Thu Sep 1 12:32:10 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u03/app/oradb/oradata/spodt2/system/system01.dbf
/u03/app/oradb/oradata/spodt2/sysaux/sysaux01.dbf
/u03/app/oradb/oradata/spodt2/undotbs/undotbs01.dbf
/u03/app/oradb/oradata/spodt2/users/users01.dbf

SQL> select name from v$tempfile;

NAME
--------------------------------------------------------------------------------
/u03/app/oradb/oradata/spodt2/temp/temp01.dbf

SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u02/app/oradb/oradata/spodt2/redoa/redo03.log
/u02/app/oradb/oradata/spodt2/redoa/redo02.log
/u02/app/oradb/oradata/spodt2/redoa/redo01.log


SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u03/app/oradb/oradata/spodt2/control1/control01.ctl
/u03/app/oradb/oradata/spodt2/control2/control02.ctl

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
$




среда, 25 марта 2009 г.

NetBackup Installing the NetBackup Client

NetBackup
Installing the NetBackup Client on a Solaris server

On the NetBackup Client, add the line:
sirius-g root
to /.rhosts.

Log onto sirius as root.

List available backup policies, and select a suitable one for the client:

# /usr/openv/netbackup/bin/admincmd/bppllist

Cougar-Servers
Development-Oracle
Development-Servers
INFINITY
NetBackup-Servers
Off-Site
Off-Site-Oracle
Production-Oracle
Production-Servers
Test-backup
Vault-Jobs

Add the client to the desired policy:

# /usr/openv/netbackup/bin/admincmd/bpplclients policy_name -add hostname hardware OS

You can determine the syntax for the hardware and OS by listing existing clients within a particular policy:

# bpplclients Development-Servers

Hardware OS Client
--------------- --------------- --------------
Solaris Solaris8 redback-g
Solaris Solaris8 tarantula-g
Solaris Solaris8 incywincy-g
... ... ...
Solaris Solaris8 melrose-g
Solaris Solaris8 aspen-g
Solaris Solaris7 lasvegas-g

So, to add a Solaris 8 host called fortuna, (using it's gigabit interface) to the Development-Servers policy, you would use the command:

# /usr/openv/netbackup/bin/admincmd/bpplclients Development-Servers -add fortuna-g Solaris Solaris8

After this, the last line of the output from bpplclients Development-Servers should now read:

Solaris Solaris8 fortuna-g

Now install the client software:

# cd /opt/openv/netbackup/bin
# ./install_client_files rsh servername-g

Remove
sirius-g root
from /.rhosts.



четверг, 19 февраля 2009 г.

NetBackup robtest

mt -f /dev/rmt/0cbn status
mt -f /dev/rmt/1cbn status
mt -f /dev/rmt/2cbn status

/usr/openv/volmgr/bin/robtest

s d
unload d2
m d2 s2
m s2 d2
q




BACKUP DATABASE:


Level 0 incremental = Full backup

$ export ORACLE_SID=TESTDB
$ rman catalog rman/pwd@catdb target /

RMAN> run {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=MONTHLY';

BACKUP INCREMENTAL LEVEL=0
FORMAT 'orabk_%d_%T_%s_%p_%t'
DATABASE
INCLUDE CURRENT CONTROLFILE;

sql "alter system archive log current";

BACKUP
FORMAT 'orabk_arc_%d_%T_%s_%p_%t'
ARCHIVELOG ALL;

CROSSCHECK BACKUP;
DELETE NOPROMPT EXPIRED BACKUP;
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
DELETE NOPROMPT ARCHIVELOG ALL BACKED UP 1 TIMES TO DEVICE TYPE sbt COMPLETED BEFORE 'sysdate-7';

RELEASE CHANNEL ch00;
}

RMAN>
RMAN> list backup;
RMAN> exit

$

Вы также можете запустить команду netbackup bplist, чтобы отобразить все файлы,
забэкапленные с определенного хоста
(Тип = 4 - Файлы типа Oracle)

$ bplist -C omega01 -t 4 -l -R  /




Incremental Cumulative Backup:

SEND 'NB_ORA_SERV=nbsrv,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=DAILY';

BACKUP INCREMENTAL LEVEL=1 CUMULATIVE
FORMAT 'orabkIC_%d_%T_%s_%p_%t'
DATABASE
INCLUDE CURRENT CONTROLFILE;



Backup Archive Logs:
RMAN> run {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=DAILY';

sql "alter system archive log current";
BACKUP
FORMAT 'orabk_arc_%d_%T_%s_%p_%t'
ARCHIVELOG ALL;

RELEASE CHANNEL ch00;
}



RESTORE DATABASE:




Restore TESTDB database on TESTDB01 instance
- Shutdown database on TESTDB instance (no files are removed)
- Startup TESTDB database instance in Mount state
- Restore TESTDB database on TESTDB01 instance using RMAN

As we have control file intact, redologs intact, we have a clean recovery and the database is open as normal post recovery;
Поскольку у нас доступны и не повреждены:

-текущий controlfile 
-online redologs

то у нас будет полное восстановление

$ sqlplus / as sysdba

SQL> shutdown immediate;
SQL> startup mount;
SQL> exit

$

$ export $ORACLE_SID=TESTDB01

$ rman catalog rman/pwd@catdb target /

RMAN>

RMAN> run {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=MONTHLY';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=DAILY';

RESTORE DATABASE;
RECOVER DATABASE;

RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}


RMAN> ALTER DATABASE OPEN;

database opened

RMAN> list incarnation of database TESTDB;
RMAN> exit
$





Restore TESTDB database on TESTDB01 instance point-in-time using using SCN

For this restore, delete control file, redologs and all datafiles:
- Shutdown TESTDB01 database instance
- Remove all files(datafiles/redologs/controlfiles)
- Startup TESTDB01 database instance in nomount state
- Restore TESTDB database on TESTDB01 instance using RMAN
-- List the DB files to remove

SQL> shutdown immediate;
SQL> exit

$

-- Remove all DB files

$
$ rm /u02/oracle/TESTDB01/data/temp01.dbf
$ rm /u02/oracle/TESTDB01/data/users01.dbf
$ rm /u02/oracle/TESTDB01/data/undotbs01.dbf
$ rm /u02/oracle/TESTDB01/data/sysaux01.dbf
$ rm /u02/oracle/TESTDB01/data/system01.dbf
$ rm /u02/oracle/TESTDB01/data/ora_control1
$ rm /u02/oracle/TESTDB01/data/ora_control2
$ rm /u02/oracle/TESTDB01/data/redoA01.log
$ rm /u02/oracle/TESTDB01/data/redoB01.log
$ rm /u02/oracle/TESTDB01/data/redoA02.log
$ rm /u02/oracle/TESTDB01/data/redoB02.log
$

-- Startup Database instance in NOMOUNT state

$
$ export ORACLE_SID=TESTDB01

$ sqlplus / as sysdba
SQL> startup nomount ;
SQL>
SQL> exit
$

-- List archivelogs to grab SCN #

$ rman catalog rman/pwd@catdb target /

RMAN> list backup of archivelog all;

Archived Logs

in backup set 1842

Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
---- ------- ---------- --------- ---------- ---------
1    5       230871     11-APR-17 262878     11-APR-17
1    6       262878     11-APR-17 262897     11-APR-17
1    7       262897     11-APR-17 264000     11-APR-17
1    8       264000     11-APR-17 264019     11-APR-17
1    9       264019     11-APR-17 264636     11-APR-17
1    10      264636     11-APR-17 264655     11-APR-17

RMAN>
RMAN>


Perfrom Point-in-time recovery

RMAN>

RMAN> run {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=MONTHLY';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=DAILY';

# Set the RESTOR SCN
SET UNTIL SCN 264655;

# Set the RESTOR time 6:30pm
# SET UNTIL TIME "to_date('2017-04-11:18:30:00', 'yyyy-mm-dd:hh24:mi:ss')";


RESTORE CONTROLFILE;
ALTER DATABASE MOUNT;

RESTORE DATABASE;
RECOVER DATABASE;

RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}

RMAN>
RMAN> ALTER DATABASE OPEN RESETLOGS;

RMAN>
RMAN> list incarnation of database TESTDB;

RMAN> exit




Restore ORADB database using RMAN to different Unix Host

Для восстановления базы данных из Netbackup на другой хост нам необходимо следующее:

ALTERNATE CLIENT SETUP:

NetBackup позволяет восстановить базу данных для клиента, отличного от того, который первоначально выполнял резервное копирование.
Это называется called alternate client restore.

Администратор Netbackup должен включить эту функцию, добавив client names в файл на Netbackup Master Server:
/usr/openv/netbackup/db/altnames/< client_name >

Например, резервное копирование производится с хоста omega01 и для его восстановления на хост omega02, тогда нужно

1) создать файл /usr/openv/netbackup/db/altnames/omega02
2) добавить запись omega01 в этот файл

RMAN CLIENT PARAMETER: при запуске RMAN вам нужно будет использовать NB_ORA_CLIENT = omega01 в команде SEND.

Это позволяет главному серверу Netbackup искать резервные копии на соответствующем носителе, где он был скопирован.


$ rman catalog rman/pwd@catdb
RMAN>
RMAN> LIST DB_UNIQUE_NAME ALL;

List of Databases
DB Key  DB Name  DB ID            Database Role    Db_unique_name
------- ------- ----------------- ---------------  ------------------
1702    TESTDB   2565746290       PRIMARY          TESTDB

RMAN>
RMAN> exit
$

-- Create dummy pfile with DB_NAME = TESTDB

$
$ cat $ORACLE_HOME/dbs/initTESTDB.ora
*.audit_file_dest='/u01/apps/oracle/admin/adump'
*.db_block_size=8192
*.db_name='TESTDB'
*.diagnostic_dest='/u01/apps/oracle'
*.memory_max_target=1000M
$


-- Start instance in NOMOUNT state

$
$ export ORACLE_SID=TESTDB
$



$ sqlplus / as sysdba
SQL> startup nomount;
SQL> exit
$

-- Launch RMAN and restore SPFILE for ORADB database

$
$ rman catalog rman/pwd@catdb target /

RMAN>
RMAN> run {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_CLIENT=omega01,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=MONTHLY';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_CLIENT=omega01,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=DAILY';

# Run Restore command
RESTORE SPFILE TO '/u01/apps/oracle/product/11.2.0/dbhome_1/dbs/testdb01_restored_spfile.ora' ;
}

RMAN> exit
$

-- verify the spfile is > 0 bytes

$ ls -ltr /u01/apps/oracle/product/11.2.0/dbhome_1/dbs/testdb01_restored_spfile.ora
-rw-r-----   1 oracle    dba        3584 Apr 17 22:42 /u01/apps/oracle/product/11.2.0/dbhome_1/dbs/testdb01_restored_spfile.ora
$


-- Create PFILE from RESTORED SPFILE

$ strings $ORACLE_HOME/dbs/testdb01_restored_spfile.ora

Note, values for audit_file_dest,
      control_files,
      diagnostic_dest,
      log_archive_dest
      db_name,
      service_name,
      instance_name

1) Create the initial directory structure with values noted above.
2) Set the ORACLE_SID to the instance_name noted above
3) Create init${ORACLE_SID}.ora pfile with the values from testdb01_restored_spfile.ora


-- Start oracle instance in NOMOUNT state with new pfile

$
$ export ORACLE_SID=TESTDB01

$ sqlplus / as sysdba
SQL> startup nomount ;
SQL> exit
$

-- Restore Control file now

$
$ rman catalog rman/pwd@catdb target /


RMAN> list backup ;


Handle: orabkIC_ORADB_20130411_5_1_812488789

   Media: XXX
  SPFILE Included: Modification time: 17-APR-17
  SPFILE db_unique_name: OTESTDB


RMAN>
RMAN>
RMAN>

RMAN> run {
# Restoring control file (NB_ORA_CLIENT is set to original host)

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_CLIENT=omega01,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=MONTHLY';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_CLIENT=omega01,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=DAILY';

restore controlfile from  'orabkIC_ORADB_20130411_5_1_812488789';

}

RMAN> exit
$


$
$ mkdir -p /u02/oracle/DB01/data/
$ mkdir -p /u05/oracle/DB01/data/
$ mkdir -p /u03/oracle/DB01/data/
$ mkdir -p /u03/oracle/DB01/data/arch/
$
$

-- From archivelog backup, get the latest SCN number
-- RESTORE DATABASE until SCN Nubmer


$
$ rman catalog rman/pwd@catdb target /

RMAN>
RMAN> list backup of archivelog all ;

Archived Logs

 in backup set 1842
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    5       230871     11-APR-17 262878     11-APR-17
  1    6       262878     11-APR-17 262897     11-APR-17
  1    7       262897     11-APR-17 264000     11-APR-17
  1    8       264000     11-APR-17 264019     11-APR-17
  1    9       264019     11-APR-17 264636     11-APR-17
  1    10      264636     11-APR-17 264655     11-APR-17



RMAN>
RMAN>
RMAN>
RMAN> run {

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_CLIENT=omega01,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=MONTHLY';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE'
SEND 'NB_ORA_SERV=nbsrv,NB_ORA_CLIENT=omega01,NB_ORA_POLICY=POL_ORADBBackup,NB_ORA_SCHED=DAILY';

# Set the RESTOR SCN
SET UNTIL SCN 264655;
# Restore Database
RESTORE DATABASE;
RECOVER DATABASE;

# Release Channel
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}

RMAN>
RMAN> ALTER DATABASE OPEN RESETLOGS;
RMAN>
RMAN> exit
$
$



















NetBackup Media manager Device Configuration

На платформе Solaris:


cd /dev/rmt/
rm *
devfsadm -Cv


cd /usr/openv/volmgr/bin/driver
/usr/openv/volmgr/bin/sg.build all -mt 15 -ml 2
rm /kernel/drv/sg.conf
/usr/openv/volmgr/bin/driver/sg.install
/usr/openv/volmgr/bin/sgscan all

Запускаем
Configure Storage Device




Netbackup Status Code

Recommeddation action command

bperror -S -r


0 the requested operation was successfully completed
1 the requested operation was partially successful
2 none of the requested files were backed up
3 valid archive image produced, but no files deleted due to non-fatal problems
4 archive file removal failed
5 the restore failed to recover the requested files
6 the backup failed to back up the requested files
7 the archive failed to back up the requested files
8 unable to determine the status of rbak
9 an extension package is needed, but was not installed
10 allocation failed
11 system call failed
12 file open failed
13 file read failed
14 file write failed
15 file close failed
16 unimplemented feature
17 pipe open failed
18 pipe close failed
19 getservbyname failed
20 invalid command parameter
21 socket open failed
22 socket close failed
23 socket read failed
24 socket write failed
25 cannot connect on socket
26 client/server handshaking failed
27 child process killed by signal
28 failed trying to fork a process
29 failed trying to exec a command
30 could not get passwd information
31 could not set user id for process
32 could not set group id for process
33 failed while trying to send mail
34 failed waiting for child process
35 cannot make required directory
36 failed trying to allocate memory
37 operation requested by an invalid server
38 could not get group information
39 client name mismatch
40 network connection broken
41 network connection timed out
42 network read failed
43 unexpected message received
44 network write failed
45 request attempted on a non reserved port
46 server not allowed access
47 host is unreachable
48 client hostname could not be found
49 client did not start
50 client process aborted
51 timed out waiting for database information
52 timed out waiting for media manager to mount volume
53 backup restore manager failed to read the file list
54 timed out connecting to client
55 permission denied by client during rcmd
56 client’s network is unreachable
57 client connection refused
58 can’t connect to client
59 access to the client was not allowed
60 client cannot read the mount table
61 wbak was killed
62 wbak exited abnormally
63 process was killed by a signal
64 timed out waiting for the client backup to start
65 client timed out waiting for the continue message from the media manager
66 client backup failed to receive the CONTINUE BACKUP message
67 client backup failed to read the file list
68 client timed out waiting for the file list
69 invalid filelist specification
70 an entry in the filelist expanded to too many characters
71 none of the files in the file list exist
72 the client type is incorrect in the configuration database
73 bpstart_notify failed
74 client timed out waiting for bpstart_notify to complete
75 client timed out waiting for bpend_notify to complete
76 client timed out reading file
77 execution of the specified system command returned a nonzero status
78 afs/dfs command failed
79 unimplemented error code 79
80 Media Manager device daemon (ltid) is not active
81 Media Manager volume daemon (vmd) is not active
82 media manager killed by signal
83 media open error
84 media write error
85 media read error
86 media position error
87 media close error
88 Auspex SP/Backup failure
89 fatal error in Unitree file system
90 media manager received no data for backup image
91 fatal NB media database error
92 media manager detected image that was not in tar format
93 media manager found wrong tape in drive
94 cannot position to correct image
95 requested media id was not found in NB media database and/or MM volume database
96 unable to allocate new media for backup, storage unit has none available
97 requested media id is in use, cannot process request
98 error requesting media (tpreq)
99 NDMP backup failure
100 system error occurred while processing user command
101 failed opening mail pipe
102 failed closing mail pipe
103 error occurred during initialization, check configuration file
104 invalid file pathname
105 file pathname exceeds the maximum length allowed
106 invalid file pathname found, cannot process request
107 too many arguments specified
108 invalid date format specified
109 invalid date specified
110 Cannot find the NetBackup configuration information
111 No entry was found in the server list
112 no files specified in the file list
113 unimplemented error code 113
114 unimplemented error code 114
115 unimplemented error code 115
116 unimplemented error code 116
117 unimplemented error code 117
118 unimplemented error code 118
119 unimplemented error code 119
120 cannot find configuration database record for requested NB database backup
121 no media is defined for the requested NB database backup
122 specified device path does not exist
123 specified disk path is not a directory
124 NB database backup failed, a path was not found or is inaccessable
125 another NB database backup is already in progress
126 NB database backup header is too large, too many paths specified
127 specified media or path does not contain a valid NB database backup header
128 unimplemented error code 128
129 unimplemented error code 129
130 system error occurred
131 client is not validated to use the server
132 user is not validated to use the server from this client
133 invalid request
134 unable to process request because the server resources are busy
135 client is not validated to perform the requested operation
136 unimplemented error code 136
137 unimplemented error code 137
138 unimplemented error code 138
139 unimplemented error code 139
140 user id was not superuser
141 file path specified is not absolute
142 file does not exist
143 invalid command protocol
144 invalid command usage
145 daemon is already running
146 cannot get a bound socket
147 required or specified copy was not found
148 daemon fork failed
149 master server request failed
150 termination requested by administrator
151 Backup Exec operation failed
152 required value not set
153 server is not the master server
154 storage unit characteristics mismatched to request
155 unused b
156 unused f
157 unused d
158 failed accessing daemon lock file
159 licensed use has been exceeded
160 authentication failed
161 Evaluation software has expired. See www.veritas.com for ordering information
162 unimplemented error code 162
163 unimplemented error code 163
164 unable to mount media because its in a DOWN drive or misplaced
165 NB image database contains no image fragments for requested backup id/copy number
166 backups are not allowed to span media
167 cannot find requested volume pool in Media Manager volume database
168 cannot overwrite media, data on it is protected
169 media id is either expired or will exceed maximum mounts
170 unimplemented error code 170
171 media id must be 6 or less characters
172 cannot read media header, may not be NetBackup media or is corrupted
173 cannot read backup header, media may be corrupted
174 media manager - system error occurred
175 not all requested files were restored
176 cannot perform specified media import operation
177 could not deassign media due to Media Manager error
178 media id is not in NetBackup volume pool
179 density is incorrect for the media id
180 tar was successful
181 tar received an invalid argument
182 tar received an invalid file name
183 tar received an invalid archive
184 tar had an unexpected error
185 tar did not find all the files to be restored
186 tar received no data
187 unimplemented error code 187
188 unimplemented error code 188
189 the server is not allowed to write to the client’s filesystems
190 found no images or media matching the selection criteria
191 no images were successfully processed
192 unimplemented error code 192
193 unimplemented error code 193
194 the maximum number of jobs per client is set to 0
195 client backup was not attempted
196 client backup was not attempted because backup window closed
197 the specified schedule does not exist in the specified class
198 no active classes contain schedules of the requested type for this client
199 operation not allowed during this time period
200 scheduler found no backups due to run
201 handshaking failed with server backup restore manager
202 timed out connecting to server backup restore manager
203 server backup restore manager’s network is unreachable
204 connection refused by server backup restore manager
205 cannot connect to server backup restore manager
206 access to server backup restore manager denied
207 error obtaining date of last backup for client
208 failed reading user directed filelist
209 error creating or getting message queue
210 error receiving information on message queue
211 scheduler child killed by signal
212 error sending information on message queue
213 no storage units available for use
214 regular bpsched is already running
215 failed reading global config database information
216 failed reading retention database information
217 failed reading storage unit database information
218 failed reading class database information
219 the required storage unit is unavailable
220 database system error
221 continue
222 done
223 an invalid entry was encountered
224 there was a conflicting specification
225 text exceeded allowed length
226 the entity already exists
227 no entity was found
228 unable to process request
229 events out of sequence - image inconsistency
230 the specified class does not exist in the configuration database
231 schedule windows overlap
232 a protocol error has occurred
233 premature eof encountered
234 communication interrupted
235 inadequate buffer space
236 the specified client does not exist in an active class within the configuration database
237 the specified schedule does not exist in an active class in the configuration database
238 the database contains conflicting or erroneous entries
239 the specified client does not exist in the specified class
240 no schedules of the correct type exist in this class
241 the specified schedule is the wrong type for this request
242 operation would cause an illegal duplication
243 the client is not in the configuration
244 main bpsched is already running
245 the specified class is not of the correct client type
246 no active classes in the configuration database are of the correct client type
247 the specified class is not active
248 there are no active classes in the configuration database
249 the file list is incomplete
250 the image was not created with TIR information
251 the tir information is zero length
252 unused TIR error 2
253 unused TIR error 1
254 server name not found in the bp.conf file
255 unimplemented error code 255



NetBackup и Rman

 

The NetBackup provides sample scripts at following location:

UNIX/Linux: /usr/openv/netbackup/ext/db_ext/oracle/samples/rman
Windows: install_path\NetBackup\dbext\oracle\samples\rman

- UNIX and Linux: hot_database_backup.sh
- Windows: hot_database_backup.cmd
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
Add the send parameter line
BACKUP

# backup all archive logs
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
Add the send parameter line
BACKUP

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
Add the send parameter line
BACKUP
    # recommended format
    FORMAT 'cntrl_%s_%p_%t'
    CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
}

SEND 'NB_ORA_SERV= master server name, NB_ORA_CLIENT= oracle server name, NB_ORA_POLICY= backup policy name';

In case of Unix Platform, send parameters values (i.e Master server name, Client name & Policy name) is case sensitive. We must use the same case in backup policy.

 

RMAN-03009: failure of allocate command on ch00 channel at 06/18/2014 08:36:11
ORA-19554: error allocating device, device type: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
Additional information: 2

If the Library is not linked, run following command on Netbackup client.

Browse to "installpath/netbackup/bin" or "/usr/openv/netbackup/bin"

[root@dbclient1 bin]# ./oracle_link
Wed Jun 18 04:52:26 EDT 2014
All Oracle instances should be shutdown before running this script.

Please log into the Unix system as the Oracle owner for running this script

Do you want to continue? (y/n) [n] oracle_link

NOTE : We can ignore the above prompt and continue by selecting 'Yes'.



$ more backupSPOD_tape.sh

ORACLE_HOME=/u01/app/oradb/product/11.2.0.2/dbhome_1
export ORACLE_HOME
ORACLE_SID=spod
export ORACLE_SID
rman target / catalog 'rman/passwd@catdb' << EOF

########################################## Clear configuration ###########################################
CONFIGURE RETENTION POLICY CLEAR;
CONFIGURE BACKUP OPTIMIZATION CLEAR;
CONFIGURE DEFAULT DEVICE TYPE CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT CLEAR;
CONFIGURE DEVICE TYPE DISK CLEAR;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK CLEAR;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT CLEAR;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK CLEAR;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT CLEAR;
CONFIGURE CHANNEL DEVICE TYPE DISK CLEAR;
CONFIGURE CHANNEL DEVICE TYPE SBT CLEAR;
CONFIGURE MAXSETSIZE CLEAR;
CONFIGURE SNAPSHOT CONTROLFILE NAME CLEAR;
########################################### Configure #####################################################

CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 1;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/snapcf_orcl.f';
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

########################################### BACKUP SCRIPT #################################################

DELETE NOPROMPT obsolete redundancy 2;
CROSSCHECK BACKUP;
CROSSCHECK archivelog all;
CROSSCHECK COPY;
CROSSCHECK backup of database;
CROSSCHECK backup of controlfile;

RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=nbsrv-1,NB_ORA_CLIENT=kr400-1,NB_ORA_POLICY=KR400_Oracle';


sql 'alter system switch logfile';
sql 'alter system archive log current';
backup database plus archivelog delete input;
sql 'alter system switch logfile';
sql 'alter system archive log current';

delete noprompt obsolete;
RELEASE CHANNEL ch00;
}
EOF
exit 0
$


$ more makeSPODT2_tape.sh
#!/bin/bash

# Create temporary password file, must have same password as primary
rm /u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/orapwspodt2
orapwd file=/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/orapwspodt2 password=oracle

# Create temporary parameter file
echo "db_name=spodt2" > /u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/initspodt2.ora

export ORACLE_SID=spodt2
export ORACLE_HOME=/u01/app/oradb/product/11.2.0.2/dbhome_1

# Start up the auxiliary instance nomount
sqlplus '/ as sysdba' << EOF
shutdown immediate;
STARTUP PFILE='/u01/app/oradb/product/11.2.0.2/dbhome_1/dbs/initspodt2.ora' NOMOUNT;
EOF

rman << EOF

connect catalog rman/passwd@catdb;
connect auxiliary sys/oracle@spodt2;

run {
ALLOCATE AUXILIARY CHANNEL c1 DEVICE TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=nbsrv-1,NB_ORA_CLIENT=kr400-1,NB_ORA_POLICY=KR400_Oracle';


duplicate database 'spod' to 'spodt2'
spfile
SET CONTROL_FILES '/u03/app/oradb/oradata/spodt2/control1/control01.ctl','/u03/app/oradb/oradata/spodt2/control2/control02.ctl'
SET LOG_FILE_NAME_CONVERT '/u02/app/oradb/oradata/spod/','/u02/app/oradb/oradata/spodt2/'
SET DB_FILE_NAME_CONVERT '/u03/app/oradb/oradata/spod/','/u03/app/oradb/oradata/spodt2/'
;
}

EOF
exit 0

$


hot_database_backup.sh

#!/bin/sh
# ---------------------------------------------------------------------------
# Replace variables below, with the real data.
# ---------------------------------------------------------------------------
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2
ORACLE_SID=TESTDB
ORACLE_USER=oracle
RMAN=rman
TARGET='target /'
RCVCAT='nocatalog'
BACKUP_HOME=${ORACLE_HOME}/admin/backup
NB_ORA_SCRIPTS=${BACKUP_HOME}/cmd
NBADMIN_MAIL='root'
LSM_SAVECTL="/usr/sbin/savefs -l full $BACKUP_HOME/ctl"
LSM_SAVEBOOT="/usr/sbin/savegrp -O"

# Function for find error in logfile. Usage: find_errors file err1 [ err2 ... ]
find_errors()
{
    FILE=$1
    while [ "$#" -gt 1 ]
    do
        if [ -f "$FILE" ] && grep "$2:" "$FILE" >/dev/null
        then
            echo "Checking for $2 ... found."
            return 0
        else
            echo "Checking for $2 ... not found."
        fi
        shift
    done
    return 1
}

OUTF=${BACKUP_HOME}/logs/`basename ${0} .sh`.`date +"%m%d%H%M%S"`
{ # output block

echo "`date` ----------------Beginning of Script------------"
echo "Script name: $0"

echo 
echo   "RMAN: $RMAN"
echo   "ORACLE_SID: $ORACLE_SID"
echo   "ORACLE_USER: $ORACLE_USER"
echo   "ORACLE_HOME: $ORACLE_HOME"
echo   "BACKUP_HOME: $BACKUP_HOME"
echo   "NB_ORA_SCRIPTS: $NB_ORA_SCRIPTS"
echo   "NBADMIN_MAIL: $NBADMIN_MAIL"
echo   "LSM_SAVECTL: $LSM_SAVECTL"
echo

case "$1" in
    *logs*) # backup archivelogs
    echo "archivelog backup requested"
    BACKUP_TYPE="archivelogs"
    CMDFILE=${NB_ORA_SCRIPTS}/archivelog_backup.rcv
    ;;

    *incr*)
    echo "hot database differential incremental backup requested"
    BACKUP_TYPE="differentional level 1"
    CMDFILE=${NB_ORA_SCRIPTS}/hot_database_backup_level1_differential.rcv
    ;;

    *cum*)
    echo "hot database cumulative incremental backup requested"
    BACKUP_TYPE="cumulative level 1"
    CMDFILE=${NB_ORA_SCRIPTS}/hot_database_backup_level1_cumulative.rcv
    ;;

    *full*)
    echo "hot database backup requested (incremental level 0)"
    BACKUP_TYPE="full"
    CMDFILE=${NB_ORA_SCRIPTS}/hot_database_backup_level0.rcv
    ;;

    *)
        echo "Usage: `basename $0` full|incr|cum|logs"
        exit 1
    ;;
esac

echo
echo "% ${ORACLE_HOME}/bin/$RMAN $TARGET $RCVCAT cmdfile '$CMDFILE'"
echo

su - $ORACLE_USER -c "
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
${ORACLE_HOME}/bin/$RMAN $TARGET $RCVCAT cmdfile "$CMDFILE"
"
RETURN_STATUS=$?

if [ "$RETURN_STATUS" != "0" ]; then
    echo
    echo "Check for ignored errors:"
    if find_errors $OUTF "RMAN-20242"
    then
        RETURN_STATUS=0
    fi
    echo "Check done."
fi

echo
echo "% $LSM_SAVECTL"
echo

[ -n "$LSM_SAVECTL" ] && $LSM_SAVECTL

echo
echo "% $LSM_SAVEBOOT"
echo

[ -n "$LSM_SAVEBOOT" ] && $LSM_SAVEBOOT

echo
echo "`date` ----------------End of Script------------------"
echo
echo "exit $RETURN_STATUS"

if [ "$RETURN_STATUS" != "0" -o "$BACKUP_TYPE" = "full" ]; then
    [ "$RETURN_STATUS" != "0" ] && STAT="FAILED" || STAT="SUCCESSED"
    cat $OUTF | \
        mailx -s "RMAN(`hostname`)  sid: $ORACLE_SID  backup: $BACKUP_TYPE  status: $STAT" $NBADMIN_MAIL
fi

if [ "$RETURN_STATUS" = "0" ]; then
    rm -f $OUTF
fi

exit $RETURN_STATUS

} >> $OUTF 2>&1





archivelog_backup.rcv


run {
    allocate channel t1 type 'SBT_TAPE';
    allocate channel t2 type 'SBT_TAPE';

    backup
        filesperset 5
        format 'DB.LOGS.%d.s%s.p%p'
        (archivelog all delete input);

    release channel t1;
    release channel t2;

    allocate channel d1 type disk;
    copy
        current controlfile
            to '?/admin/backup/ctl/controlfile.bk';
    release channel d1;
}
 

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

run {
    allocate channel t1 type 'SBT_TAPE';

    backup
        filesperset 5
        format 'DB.LOGS.%d.s%s.p%p'
                (archivelog from logseq = 2913 like '/arch/testdb_%' delete input);

    release channel t1;

    allocate channel d1 type disk;
    copy
        current controlfile
            to '?/admin/backup/ctl/controlfile.bk';
    release channel d1;
}



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

run {
    allocate channel d1 type disk format '/backup/db/DB.LOGS.%d.s%s.p%p';
    allocate channel d2 type disk format '/backup/db/DB.LOGS.%d.s%s.p%p';
    set limit channel d1 kbytes 1048576;
    set limit channel d2 kbytes 1048576;

    backup
        (archivelog all delete input);

   copy
        current controlfile
            to '/oracle/admin/backup/ctl/controlfile.bk';
 release channel d1;
 release channel d2;
}




hot_database_backup_level1_differential.rcv

run
{
    allocate channel t1 type 'SBT_TAPE';
    allocate channel t2 type 'SBT_TAPE';

    backup incremental level 1
    skip offline
    skip readonly
    skip inaccessible
    filesperset 1
        database format 'DB.INC1.%d.s%s.p%p'
        include current controlfile;
   
    sql 'alter system archive log current';

    backup
        filesperset 5
        format 'DB.LOGS.%d.s%s.p%p'
        (archivelog all delete input);

    release channel t1;
    release channel t2;

    allocate channel d1 type disk;
    copy
        current controlfile
            to '?/admin/backup/ctl/controlfile.bk';
    release channel d1;
}



hot_database_backup_level1_cumulative.rcv

run
{
    allocate channel t1 type 'SBT_TAPE';
    allocate channel t2 type 'SBT_TAPE';

    backup incremental level 1
    cumulative
    skip offline
    skip readonly
    skip inaccessible
    filesperset 1
        database format 'DB.CUM1.%d.s%s.p%p'
        include current controlfile;

    sql 'alter system archive log current';

    backup
        filesperset 5
        format 'DB.LOGS.%d.s%s.p%p'
        (archivelog all delete input);
   
    release channel t1;
    release channel t2;

    allocate channel d1 type disk;
    copy
        current controlfile
            to '?/admin/backup/ctl/controlfile.bk';
    release channel d1;
}
 




hot_database_backup_level0.rcv


run
{
    allocate channel t1 type 'SBT_TAPE';
    allocate channel t2 type 'SBT_TAPE';

    backup incremental level 0
    filesperset 4
        database format 'DB.INC0.%d.s%s.p%p'
        include current controlfile;

    sql 'alter system archive log current';

    backup
        filesperset 5
        format 'DB.LOGS.%d.s%s.p%p'
        (archivelog all delete input);
   
    release channel t1;
    release channel t2;

    allocate channel d1 type disk;
    copy
        current controlfile
            to '?/admin/backup/ctl/controlfile.bk';
    release channel d1;
}
 

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

run
{
    allocate channel t1 type 'SBT_TAPE';

    backup incremental level 0
    filesperset 5
        database format 'DB.INC0.%d.s%s.p%p'
        include current controlfile;

    sql 'alter system archive log current';

    backup
        filesperset 20
        format 'DB.LOGS.%d.s%s.p%p'
        (archivelog like '%arch/%' delete input);
   
    release channel t1;

    allocate channel d1 type disk;
    copy
        current controlfile
            to '?/admin/backup/ctl/controlfile.bk';
    release channel d1;
}

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

run
{
    allocate channel d1 type disk format '/backup/db/DB.INC0.%d.s%s.p%p';
    allocate channel d2 type disk format '/backup/db/DB.INC0.%d.s%s.p%p';
    set limit channel d1 kbytes 1048576;
    set limit channel d2 kbytes 1048576;

    backup incremental level 0
    filesperset 2
    database
        include current controlfile;

    sql 'alter system archive log current';
    release channel d1;
    release channel d2;

    allocate channel d1 type disk format '/backup/db/DB.LOGS.%d.s%s.p%p';
    allocate channel d2 type disk format '/backup/db/DB.LOGS.%d.s%s.p%p';
    set limit channel d1 kbytes 1048576;
    set limit channel d2 kbytes 1048576;
    backup
        (archivelog all delete input);
   
    copy
        current controlfile
            to '/oracle/admin/backup/ctl/controlfile.bk';
    release channel d1;
    release channel d2;
}




restore_arch.rcv

run {
     allocate channel t1 type 'SBT_TAPE';
     set archivelog destination to '/tmp/';

     restore archivelog from logseq 200 until logseq 202;
     release channel t1;
}



change.rcv

run {
    change archivelog all validate;
}




[oracle@omega01]$ tail -10000 hot_database_backup.sh

#!/bin/bash
. `dirname ${0}`\/mutex.sh

CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`

export ORACLE_USER=oracle

export ORAUSER_HOME_DIR=`getent passwd ora|awk -F: '{print $6;}'`

export ORACLE_SID_ENV=`echo $NB_ORA_POLICY|awk -F_ '{print $3;}'|tr "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz"`

. $ORAUSER_HOME_DIR/.oraenv $ORACLE_SID_ENV
export TARGET_CONNECT_STR=/
export CATALOG_CONNECT_STRING=rman/pwd@catdb
export RMAN=$ORACLE_HOME/bin/rman
export NB_ORA_CLIENT=$NB_ORA_CLIENT

# ---------------------------------------------------------------------------
# Put output in .out. Change as desired.
# Note: output directory requires write permission.
# ---------------------------------------------------------------------------

RMAN_LOG_FILE=${0}.out
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
chown ${ORACLE_USER}:dba $RMAN_LOG_FILE

# ---------------------------------------------------------------------------
# Print out the value of the variables set by bphdb.
# ---------------------------------------------------------------------------

echo >> $RMAN_LOG_FILE
echo   "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE


echo  >> $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_SERV: $NB_ORA_SERV" >> $RMAN_LOG_FILE
echo   "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE
echo   "NB_ORA_CLIENT: $NB_ORA_CLIENT" >> $RMAN_LOG_FILE

# ---------------------------------------------------------------------------
# NOTE: This script assumes that the database is properly opened. If desired,
# this would be the place to verify that.
# ---------------------------------------------------------------------------

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

if [ "$NB_ORA_FULL" = "1" ]
then
        echo "Full backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=0"

elif [ "$NB_ORA_INCR" = "1" ]
then
        echo "Differential incremental backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1"

elif [ "$NB_ORA_CINC" = "1" ]
then
        echo "Cumulative incremental backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"

elif [ "$BACKUP_TYPE" = "" ]
then
        echo "Default - Full backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=0"
fi


CMD_STR="

. $ORAUSER_HOME_DIR/.oraenv $ORACLE_SID_ENV
export ORACLE_HOME=$ORACLE_HOME
export ORACLE_SID=$ORACLE_SID
export NB_ORA_CLIENT=$NB_ORA_CLIENT

$RMAN target $TARGET_CONNECT_STR catalog $CATALOG_CONNECT_STRING msglog $RMAN_LOG_FILE append << EOF
#$RMAN target $TARGET_CONNECT_STR nocatalog  msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch02 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch03 TYPE 'SBT_TAPE';

SEND 'NB_ORA_POLICY=$NB_ORA_POLICY, NB_ORA_SERV=$NB_ORA_SERV';

BACKUP
    $BACKUP_TYPE
#    SKIP INACCESSIBLE
#   TAG hot_db_bk_level0
    FILESPERSET 1
    # recommended format
    FORMAT 'bk_%s_%p_%t'
    DATABASE;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
RELEASE CHANNEL ch02;
RELEASE CHANNEL ch03;
}

#ALLOCATE CHANNEL FOR MAINTENANCE TYPE 'SBT_TAPE';
#DELETE FORCE NOPROMPT OBSOLETE;
#DELETE FORCE NOPROMPT EXPIRED BACKUP;
#RELEASE CHANNEL;
exit;
EOF
"
# Initiate the command string
mutex_enter /tmp/oracle-${ORACLE_SID}
chown $ORACLE_USER:dba /tmp/oracle-${ORACLE_SID}
if [ "$CUSER" = "root" ]
then
    su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
else
    /bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
fi
mutex_exit /tmp/oracle-${ORACLE_SID}
# ---------------------------------------------------------------------------
# Log the completion of this script.
# ---------------------------------------------------------------------------

if [ "$RSTAT" = "0" ]
then
    LOGMSG="ended successfully"
else
    LOGMSG="ended in error"
fi

echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ======================================================================= >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT




[oracle@omega01]$ tail -10000 archivelog_backup.sh


#!/bin/bash
. `dirname ${0}`\/mutex.sh

CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`

export ORACLE_USER=oracle

export ORAUSER_HOME_DIR=`getent passwd ora|awk -F: '{print $6;}'`

export ORACLE_SID_ENV=`echo $NB_ORA_POLICY|awk -F_ '{print $3;}'|tr "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz"`

# ---------------------------------------------------------------------------
export NLS_DATE_FORMAT='DD-Mon-YYYY HH24:MI:SS'
# ---------------------------------------------------------------------------

. $ORAUSER_HOME_DIR/.oraenv $ORACLE_SID_ENV
export TARGET_CONNECT_STR=/
export CATALOG_CONNECT_STRING=rman/pwd@catdb
export RMAN=$ORACLE_HOME/bin/rman
export NB_ORA_CLIENT=$NB_ORA_CLIENT

# ---------------------------------------------------------------------------
# Put output in .out. Change as desired.
# Note: output directory requires write permission.
# ---------------------------------------------------------------------------

RMAN_LOG_FILE=${0}.out
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
chown ${ORACLE_USER}:dba $RMAN_LOG_FILE

# ---------------------------------------------------------------------------
# Print out the value of the variables set by bphdb.
# ---------------------------------------------------------------------------

echo >> $RMAN_LOG_FILE
echo   "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE


echo  >> $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_SERV: $NB_ORA_SERV" >> $RMAN_LOG_FILE
echo   "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE
echo   "NB_ORA_CLIENT: $NB_ORA_CLIENT" >> $RMAN_LOG_FILE

# ---------------------------------------------------------------------------
# NOTE: This script assumes that the database is properly opened. If desired,
# this would be the place to verify that.
# ---------------------------------------------------------------------------

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

if [ "$NB_ORA_FULL" = "1" ]
then
        echo "Full backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=0"

elif [ "$NB_ORA_INCR" = "1" ]
then
        echo "Differential incremental backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1"

elif [ "$NB_ORA_CINC" = "1" ]
then
        echo "Cumulative incremental backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"

elif [ "$BACKUP_TYPE" = "" ]
then
        echo "Default - Full backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=0"
fi


CMD_STR="

. $ORAUSER_HOME_DIR/.oraenv $ORACLE_SID_ENV
export ORACLE_HOME=$ORACLE_HOME
export ORACLE_SID=$ORACLE_SID
export NB_ORA_CLIENT=$NB_ORA_CLIENT

$RMAN target $TARGET_CONNECT_STR catalog $CATALOG_CONNECT_STRING msglog $RMAN_LOG_FILE append << EOF
#$RMAN target $TARGET_CONNECT_STR nocatalog  msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
SEND 'NB_ORA_POLICY=$NB_ORA_POLICY, NB_ORA_SERV=$NB_ORA_SERV';
BACKUP
filesperset 10
FORMAT 'al_%s_%p_%t'
ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
exit;
EOF
"
# Initiate the command string
mutex_enter /tmp/oracle-${ORACLE_SID}-arch
chown $ORACLE_USER:dba /tmp/oracle-${ORACLE_SID}-arch
if [ "$CUSER" = "root" ]
then
    su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
else
    /usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
fi
mutex_exit /tmp/oracle-${ORACLE_SID}-arch
# ---------------------------------------------------------------------------
# Log the completion of this script.
# ---------------------------------------------------------------------------

if [ "$RSTAT" = "0" ]
then
    LOGMSG="ended successfully"
else
    LOGMSG="ended in error"
fi

echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ======================================================================= >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT



[oracle@omega01]$ tail -10000 mutex.sh

function mutex_message {
        echo `date "+%b %e %T"` "$$" "$*"
}

function mutex_enter {
        mutex_message "Trying to acquire the mutex $1"
        mkdir $1 > /dev/null 2>&1
        if [ $? -eq 0 ]; then
                mutex_message "Acquired mutex $1"
                return
        fi
        mutex_message "Entering spinlock"
        while [ -d $1 ]; do
                sleep 10
        done
        mutex_message "Exited spinlock"
        mutex_enter $1
}

function mutex_exit {
        rmdir $1
        mutex_message "Released mutex $1"
}





[oracle@omega01]$ tail -10000 /usr/openv/netbackup/ext/db_ext/oracle/database_backup_TESTDB1.sh

#!/bin/bash

#----------------------------------------------------
export ORACLE_HOME="/u01/app/oracle/product/12.1.0.2"
export ORACLE_SID=TESTDB1
export ORACLE_USER=oracle
export HOSTNAME=omega01
export NB_ORA_CL_CLIENT=omega01-priv
export NB_ORA_POLICY="ORA-TESTDB"
export NB_ORA_SERV=nbsrv
export PWD="/usr/openv/netbackup/ext/db_ext/oracle"
#----------------------------------------------------
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT=YYYY-MM-DD:HH24:MI:SS
export LIBPATH=$ORACLE_HOME/lib:/usr/lib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#----------------------------------------------------

if [ "$NB_ORA_FULL" = "1" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-full_backup.out"

elif [ "$NB_ORA_INCR" = "1" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-incremental_backup.out"

elif [ "$NB_ORA_CINC" = "1" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-archivelogs_backup.out"

elif [ "$BACKUP_TYPE" = "" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-full_backup.out"
fi


TARGET_CONNECT_STR=/
RMAN=$ORACLE_HOME/bin/rman
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`


echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE

echo >> $RMAN_LOG_FILE
echo   "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo   "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE
echo  >> $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_SERV: $NB_ORA_SERV" >> $RMAN_LOG_FILE
echo   "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE

function mutex_message {
        echo `date "+%b %e %T"` "$$" "$*"
}

function mutex_enter {
        mutex_message "Trying to acquire the mutex $1"
        mkdir $1 > /dev/null 2>&1
        if [ $? -eq 0 ]; then
                mutex_message "Acquired mutex $1"
                return
        fi
        mutex_message "Entering spinlock"
        while [ -d $1 ]; do
                sleep 10
        done
        mutex_message "Exited spinlock"
        mutex_enter $1
}

function mutex_exit {
        rmdir $1
        mutex_message "Released mutex $1"
}

if [ "$NB_ORA_FULL" = "1" ]
then
        echo "Full backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=0"
        BACKUP_NAME="INC_0"
        export SCHED_NAME="Default-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=1

elif [ "$NB_ORA_INCR" = "1" ]
then
        echo "Differential incremental backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1"
        BACKUP_NAME="INC_1"
        export SCHED_NAME="Default-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=1

elif [ "$NB_ORA_CINC" = "1" ]
then
        echo "Archivelog only backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"
        BACKUP_NAME="INC_1_CUMUL"
        export SCHED_NAME="Archivelog-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=0

elif [ "$BACKUP_TYPE" = "" ]
then
        echo "Default - Full backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=0"
        BACKUP_NAME="INC_0"
        export SCHED_NAME="Default-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=1
fi

############################
# Backup name for TAG
############################
BACKUP_NAME=${BACKUP_NAME}_`date +'%Y%m%d_%H%M%S'`
echo "BACKUP_NAME=$BACKUP_NAME"
echo >> $RMAN_LOG_FILE
echo "BACKUP_NAME=$BACKUP_NAME"  >> $RMAN_LOG_FILE


export SEND="'NB_ORA_POLICY=$NB_ORA_POLICY, NB_ORA_SCHED=$SCHED_NAME, NB_ORA_CLIENT=$NB_ORA_CL_CLIENT'"

if [ "$BACKUP_DATABASE" = "1" ] ; then
        BACKUP_DATABASE_TEXT="BACKUP
    $BACKUP_TYPE
    SKIP INACCESSIBLE NOEXCLUDE
    TAG '${BACKUP_NAME}'
    FILESPERSET 25
    FORMAT 'db_%s_%p_%t'
    DATABASE;"
else
        BACKUP_DATABASE_TEXT=""
fi

####################################
# Backup database text
####################################
echo "BACKUP_DATABASE_TEXT={$BACKUP_DATABASE_TEXT}"
echo >> $RMAN_LOG_FILE
echo "BACKUP_DATABASE_TEXT={$BACKUP_DATABASE_TEXT}"  >> $RMAN_LOG_FILE


CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR catalog=/@catdb msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch02 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch03 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch04 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch05 TYPE 'SBT_TAPE';
SEND $SEND;

# backup database
$BACKUP_DATABASE_TEXT

# backup all archive logs
BACKUP
   filesperset 20
   FORMAT 'log_%s_%p_%t'
   ARCHIVELOG ALL DELETE ALL INPUT;

# backup control file
BACKUP
    FORMAT 'cntrl_%s_%p_%t'
    CURRENT CONTROLFILE;
}

###################################################
# Maintenance
###################################################
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(NB_ORA_CLIENT=$NB_ORA_CL_CLIENT,NB_ORA_SERV=$NB_ORA_SERV)';
crosscheck archivelog all;
crosscheck backup of database;
crosscheck backup of archivelog all;
crosscheck backup of spfile;
crosscheck backup of controlfile;
crosscheck copy;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt expired copy;
delete noprompt obsolete;
restore database preview summary;

###################################################
# Maintenance Report
###################################################
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(NB_ORA_CLIENT=$NB_ORA_CL_CLIENT,NB_ORA_SERV=$NB_ORA_SERV)';
LIST DB_UNIQUE_NAME OF DATABASE;
LIST BACKUP OF DATABASE SUMMARY;
LIST BACKUP OF DATABASE SUMMARY FOR DB_UNIQUE_NAME 'TESTDB_OMEGA01';
REPORT UNRECOVERABLE;


EOF
"
# Initiate the command string

mutex_enter /tmp/oracle-${ORACLE_SID}

if [ "$CUSER" = "root" ]
then
#echo su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
        RSTAT=$?
else
#echo /bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
        RSTAT=$?
fi

mutex_exit /tmp/oracle-${ORACLE_SID}

# ---------------------------------------------------------------------------
# Log the completion of this script.
# ---------------------------------------------------------------------------

if [ "$RSTAT" = "0" ]
then
        LOGMSG="ended successfully"
else
    LOGMSG="ended in error"
fi

echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE

exit $RSTAT




[oracle@omega01]$ tail -10000 /usr/openv/netbackup/ext/db_ext/oracle/archivelog_backup_TESTDB1.sh

#!/bin/bash

#----------------------------------------------------
export ORACLE_HOME="/u01/app/oracle/product/12.1.0.2"
export ORACLE_SID=TESTDB1
export ORACLE_USER=oracle
export HOSTNAME=omega01
export NB_ORA_CL_CLIENT=omega01-priv
export NB_ORA_POLICY="ORA-TESTDB"
export NB_ORA_SERV=nbsrv
export PWD="/usr/openv/netbackup/ext/db_ext/oracle"
#----------------------------------------------------
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT=YYYY-MM-DD:HH24:MI:SS
export LIBPATH=$ORACLE_HOME/lib:/usr/lib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#----------------------------------------------------

if [ "$NB_ORA_FULL" = "1" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-full_backup.out"

elif [ "$NB_ORA_INCR" = "1" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-incremental_backup.out"

elif [ "$NB_ORA_CINC" = "1" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-archivelogs_backup.out"

elif [ "$BACKUP_TYPE" = "" ]
then
        export RMAN_LOG_FILE="$PWD/$ORACLE_SID-archivelogs_backup.out"
fi


TARGET_CONNECT_STR=/
RMAN=$ORACLE_HOME/bin/rman
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`


echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE

echo >> $RMAN_LOG_FILE
echo   "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo   "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE
echo  >> $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_SERV: $NB_ORA_SERV" >> $RMAN_LOG_FILE
echo   "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE

function mutex_message {
        echo `date "+%b %e %T"` "$$" "$*"
}

function mutex_enter {
        mutex_message "Trying to acquire the mutex $1"
        mkdir $1 > /dev/null 2>&1
        if [ $? -eq 0 ]; then
                mutex_message "Acquired mutex $1"
                return
        fi
        mutex_message "Entering spinlock"
        while [ -d $1 ]; do
                sleep 10
        done
        mutex_message "Exited spinlock"
        mutex_enter $1
}

function mutex_exit {
        rmdir $1
        mutex_message "Released mutex $1"
}

if [ "$NB_ORA_FULL" = "1" ]
then
        echo "Full backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=0"
        BACKUP_NAME="INC_0"
        export SCHED_NAME="Default-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=1

elif [ "$NB_ORA_INCR" = "1" ]
then
        echo "Differential incremental backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1"
        BACKUP_NAME="INC_1"
        export SCHED_NAME="Default-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=1

elif [ "$NB_ORA_CINC" = "1" ]
then
        echo "Archivelog only backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"
        BACKUP_NAME="LOG"
        export SCHED_NAME="Archivelog-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=0

elif [ "$BACKUP_TYPE" = "" ]
then
        echo "Archivelog only backup requested" >> $RMAN_LOG_FILE
        BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"
        BACKUP_NAME="LOG"
        export SCHED_NAME="Archivelog-Application-Backup"
        echo "SCHED_NAME: $SCHED_NAME" >> $RMAN_LOG_FILE
        export BACKUP_DATABASE=0
fi

############################
# Backup name for TAG
############################
BACKUP_NAME=${BACKUP_NAME}_`date +'%Y%m%d_%H%M%S'`
echo "BACKUP_NAME=$BACKUP_NAME"
echo >> $RMAN_LOG_FILE
echo "BACKUP_NAME=$BACKUP_NAME"  >> $RMAN_LOG_FILE

export SEND="'NB_ORA_POLICY=$NB_ORA_POLICY, NB_ORA_SCHED=$SCHED_NAME, NB_ORA_CLIENT=$NB_ORA_CL_CLIENT'"

if [ "$BACKUP_DATABASE" = "1" ] ; then
        BACKUP_DATABASE_TEXT="BACKUP
    $BACKUP_TYPE
    SKIP INACCESSIBLE NOEXCLUDE
    TAG '${BACKUP_NAME}'
    FILESPERSET 25
    FORMAT 'db_%s_%p_%t'
    DATABASE;"
else
        BACKUP_DATABASE_TEXT=""
fi

CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR catalog=/@catdb msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch02 TYPE 'SBT_TAPE';
#ALLOCATE CHANNEL ch03 TYPE 'SBT_TAPE';
SEND $SEND;

# backup all archive logs
BACKUP
   filesperset 20
   FORMAT 'log_%s_%p_%t'
   ARCHIVELOG ALL DELETE ALL INPUT;

# backup control file
BACKUP
    FORMAT 'cntrl_%s_%p_%t'
    CURRENT CONTROLFILE;
}


EOF
"
# Initiate the command string

mutex_enter /tmp/oracle-${ORACLE_SID}

if [ "$CUSER" = "root" ]
then
#echo su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
        RSTAT=$?
else
#echo /bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
        RSTAT=$?
fi

mutex_exit /tmp/oracle-${ORACLE_SID}

# ---------------------------------------------------------------------------
# Log the completion of this script.
# ---------------------------------------------------------------------------

if [ "$RSTAT" = "0" ]
then
        LOGMSG="ended successfully"
else
    LOGMSG="ended in error"
fi

echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE

exit $RSTAT




[oracle@omega01]$ crontab -l

00 04   * * 6   NB_ORA_FULL=1 /usr/openv/netbackup/ext/db_ext/oracle/database_backup_TESTDB1.sh   >/dev/null 2>&1
00 04   * * 0-5 NB_ORA_INCR=1 /usr/openv/netbackup/ext/db_ext/oracle/database_backup_TESTDB1.sh   >/dev/null 2>&1
00 *    * * *   NB_ORA_CINC=1 /usr/openv/netbackup/ext/db_ext/oracle/archivelog_backup_TESTDB1.sh >/dev/null 2>&1



[oracle@omega01]$ more nmda_oracle_arch.cfg

ORACLE_HOME=/u01/app/oracle/product/12.1.0.2
ORACLE_SID=TESTDB1
ORACLE_USER=oracle
NSR_RMAN_ARGUMENTS="target / nocatalog msglog '/u01/app/oracle/admin/TESTDB1/networker/nw_TESTDB1_arch.log' append"
# NLS_LANG =
# TNS_ADMIN =
# PRECMD =
# POSTCMD =
# NSR_NWPATH =
# NSR_DIRECT_ACCESS =
# NSR_DEBUG_LEVEL =9
# NSR_DIAGNOSTIC_DEST =

[oracle@omega01]$



[oracle@omega01]$ more nmda_oracle_full.cfg

ORACLE_HOME=/u01/app/oracle/product/12.1.0.2
ORACLE_SID=TESTDB1
ORACLE_USER=oracle
NSR_RMAN_ARGUMENTS="target / nocatalog msglog '/u01/app/oracle/admin/TESTDB1/networker/nw_TESTDB1_full.log' append"
# NLS_LANG =
# TNS_ADMIN =
# PRECMD =
# POSTCMD =
# NSR_NWPATH =
# NSR_DIRECT_ACCESS =
# NSR_DEBUG_LEVEL =9
# NSR_DIAGNOSTIC_DEST =

[oracle@omega01]$


[oracle@omega01]$ more nrman_arch

RUN {
ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH2 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH3 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH4 TYPE 'SBT_TAPE';
SEND DEVICE TYPE 'SBT_TAPE' 'NSR_ENV=(NSR_DIRECT_ACCESS=No)';
sql 'alter system archive log current';
BACKUP
 filesperset 20
 FORMAT 'al_%d-id-%I-%u'
 ARCHIVELOG ALL NOT BACKED UP 1 TIMES delete all input
;
BACKUP
 FORMAT 'cntrl_%d-id-%I-%u'
 CURRENT CONTROLFILE
;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
RELEASE CHANNEL CH3;
RELEASE CHANNEL CH4;
}

[oracle@omega01]$


[oracle@omega01]$ more nrman_full
RUN {
ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH2 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH3 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL CH4 TYPE 'SBT_TAPE';
SEND DEVICE TYPE 'SBT_TAPE' 'NSR_ENV=(NSR_DIRECT_ACCESS=No)';
BACKUP
 FULL
 FILESPERSET 1
 FORMAT 'db_%d-id-%I-%u'
 DATABASE
 INCLUDE CURRENT CONTROLFILE
;
sql 'alter system archive log current';
BACKUP
 filesperset 20
 FORMAT 'al_%d-id-%I-%u'
 ARCHIVELOG ALL NOT BACKED UP 1 TIMES
;
BACKUP
 FORMAT 'cntrl_%d-id-%I-%u'
 CURRENT CONTROLFILE
;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
RELEASE CHANNEL CH3;
RELEASE CHANNEL CH4;
}

[oracle@omega01]$