ORACLE_BACKUP_The oracle reference scripts of the backup and the recover
There are two familiar ways for thedatabase backup: exp/imp and rman. Expdp/impdp only Applies to above the oracle10g. Now the script just work for reference.
1. exp/imp
1.1 exp
1.1.1 Table mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptbak
$mkdirdatabak
$cd scriptbak
$viexp_test_tables.par
file=/opt/orabackup/databak/exp_test_tables.dmp
log=/opt/orabackup/databak/exp_test_tables.log
direct=y
recordlength=65535
tables=(
t_c_test_2011041801,
t_c_test_2011042101,
t_c_test_part_042201:P03,
t_c_test_part_042201:P04
)
$ exp test/testparfile='/opt/orabackup/scriptbak/exp_test_tables.par'
1.1.2 User mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptbak
$mkdirdatabak
$cd scriptbak
$viexp_test.par
file=/opt/orabackup/databak/exp_test.dmp
log=/opt/orabackup/databak/exp_test.log
direct=y
recordlength=65535
owner=test
$ exp "'sys/oracle as sysdba'"parfile='/opt/orabackup/scriptbak/exp_test.par'
1.1.3 All database
#su –oracle
$cd /opt/orabackup
$mkdir scriptbak
$mkdirdatabak
$cd scriptbak
$viexp_full.par
file=/opt/orabackup/databak/exp_full.dmp
log=/opt/orabackup/databak/exp_full.log
direct=y
recordlength=65535
full=y
$ exp "'sys/oracle as sysdba'"parfile='/opt/orabackup/scriptbak/exp_full.par'
1.2 Imp
1.2.1 Table mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptbak
$mkdirdatabak
$cd scriptbak
$vi imp_test_tables.par
file=/opt/orabackup/databak/imp_test_tables.dmp
log=/opt/orabackup/databak/imp_test_tables.log
feedback=10000
buffer=10240000
IGNORE=Y
COMMIT=Y
tables=(
t_c_test_2011041801,
t_c_test_2011042101,
t_c_test_part_042201:P03,
t_c_test_part_042201:P04
)
$ imp test/testparfile='/opt/orabackup/scriptbak/imp_test_tables.par'
1.2.2 User mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptbak
$mkdirdatabak
$cd scriptbak
$vi imp_test.par
file=/opt/orabackup/databak/exp_test.dmp
log=/opt/orabackup/databak/imp_test.log
fromuser=test
touser=test
feedback=10000
buffer=10240000
IGNORE=Y
COMMIT=Y
$ imp "'sys/oracle as sysdba'" parfile='/opt/orabackup/scriptbak/imp_test.par'
1.2.3 All database
#su –oracle
$cd /opt/orabackup
$mkdir scriptbak
$mkdirdatabak
$cd scriptbak
$vi imp_full.par
file=/opt/orabackup/databak/imp_full.dmp
log=/opt/orabackup/databak/imp_full.log
feedback=10000
buffer=10240000
IGNORE=Y
COMMIT=Y
full=y
$ imp "'sys/oracle as sysdba'" parfile='/opt/orabackup/scriptbak/imp_full.par'
2. expdp/impdp
2.1 expdp
2.1.1 Table mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptpump
$mkdirdatapump
$sqlplus/ assysdba
SQL>createdirectorydump_dir as'/opt/orabackup/datapump';
SQL>createdirectorylog_dir as'/opt/orabackup/datapump';
SQL>grantread,writeondirectorydump_dir totest;
SQL>grantread,writeondirectorylog_dir totest;
$cd scriptpump
$ viexpdp_test_tables.par
directory=dump_dir
dumpfile=expdp_test_tables_%U.dmp
logfile=expdp_test_tables.log
job_name=expdp_test_tables_job
parallel=4
tables=(
t_c_test_2011041801,
t_c_test_2011042101,
t_c_test_part_042201:P03,
t_c_test_part_042201:P04
)
$ expdp test/testparfile='/opt/orabackup/scriptpump/expdp_test_tables.par'
2.1.2 User mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptpump
$mkdirdatapump
$sqlplus/ assysdba
SQL>createdirectorydump_dir as'/opt/orabackup/datapump';
SQL>createdirectorylog_dir as'/opt/orabackup/datapump';
SQL>grantread,writeondirectorydump_dir totest;
SQL>grantread,writeondirectorylog_dir totest;
$cd scriptpump
$ viexpdp_test.par
directory=dump_dir
dumpfile=expdp_test_%U.dmp
logfile=expdp_test.log
job_name=expdp_test_job
parallel=4
schemas=test
$ expdp test/testparfile='/opt/orabackup/scriptpump/expdp_test.par'
2.1.3 All database
#su –oracle
$cd /opt/orabackup
$mkdir scriptpump
$mkdirdatapump
$sqlplus/ assysdba
SQL>createdirectorydump_dir as'/opt/orabackup/datapump';
SQL>createdirectorylog_dir as'/opt/orabackup/datapump';
SQL>grantread,writeondirectorydump_dir totest;
SQL>grantread,writeondirectorylog_dir totest;
$cd scriptpump
$viexpdp_full.par
directory=dump_dir
dumpfile=expdp_full_%U.dmp
logfile=expdp_full.log
job_name=expdp_full_job
parallel=4
full=y
$ expdp "'sys/oracle as sysdba'" parfile='/opt/orabackup/scriptpump/expdp_full.par'
2.2 impdp
2.2.1 Table mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptpump
$mkdirdatapump
$sqlplus/ assysdba
SQL>createdirectorydump_dir as'/opt/orabackup/datapump';
SQL>createdirectorylog_dir as'/opt/orabackup/datapump';
SQL>grantread,writeondirectorydump_dir totest;
SQL>grantread,writeondirectorylog_dir totest;
$cd scriptpump
$ vi impdp_test_tables.par
directory=dump_dir
dumpfile=impdp_test_tables_%U.dmp
logfile=impdp_test_tables.log
job_name=impdp_test_tables_job
parallel=4
tables=(
t_c_test_2011041801,
t_c_test_2011042101,
t_c_test_part_042201:P03,
t_c_test_part_042201:P04
)
$ impdp test/testparfile='/opt/orabackup/scriptpump/impdp_test_tables.par'
2.2.2 User mode
#su –oracle
$cd /opt/orabackup
$mkdir scriptpump
$mkdirdatapump
$sqlplus/ assysdba
SQL>createdirectorydump_dir as'/opt/orabackup/datapump';
SQL>createdirectorylog_dir as'/opt/orabackup/datapump';
SQL>grantread,writeondirectorydump_dir totest;
SQL>grantread,writeondirectorylog_dir totest;
$cd scriptpump
$ vi impdp_test.par
directory=dump_dir
dumpfile=impdp_test_%U.dmp
logfile=impdp_test.log
job_name=impdp_test_job
parallel=4
schemas=test
$ impdp test/testparfile='/opt/orabackup/scriptpump/impdp_test.par'
2.2.3 All database
#su –oracle
$cd /opt/orabackup
$mkdir scriptpump
$mkdirdatapump
$sqlplus/ assysdba
SQL>createdirectorydump_dir as'/opt/orabackup/datapump';
SQL>createdirectorylog_dir as'/opt/orabackup/datapump';
SQL>grantread,writeondirectorydump_dir totest;
SQL>grantread,writeondirectorylog_dir totest;
$cd scriptpump
$vi impdp_full.par
directory=dump_dir
dumpfile=impdp_full_%U.dmp
logfile=impdp_full.log
job_name=impdp_full_job
parallel=4
full=y
$ impdp "'sys/oracle as sysdba'" parfile='/opt/orabackup/scriptpump/impdp_full.par'
3. rman
3.1 rman backup
#su –oracle
$cd /opt
$mkdir orabackup
$cdorabackup
$mkdirdatarman
$cddatarman
$mkdirdb
$mkdirarch
$mkdirlog
$cd ..
$mkdir scriptrman
$cdscriptrman
$rman target / nocatalog
RMAN>CONFIGURECONTROLFILE AUTOBACKUP ON;
RMAN>exit
$
3.2 rman recover
3.2.1 rman recover all
#su – oracle
$cd /opt
$mkdirorabackup
$cdorabackup
$mkdirdatarman
$cddatarman
$mkdirdb
$mkdirarch
$mkdirlog
$cd ..
$mkdir scriptrman
$cd scriptrman
$sqlplus / as sysdba
SQL>startup mount;
$rman target / nocatalog
If successful finished,then
$sqlplus / as sysdba
SQL>alter database open;
3.2.2 rman recover until some time
#su – oracle
$cd /opt
$mkdirorabackup
$cdorabackup
$mkdirdatarman
$cddatarman
$mkdirdb
$mkdirarch
$mkdirlog
$cd ..
$mkdir scriptrman
$cd scriptrman
$sqlplus / as sysdba
SQL>startup mount;
$rman target / nocatalog
Please change the until logseq or the until time:
If successful finished,then
$sqlplus / as sysdba
SQL>alter database open resetlogs;