詳細講解Oracle數據庫10g RMAN的備份過程
SQL> select name from v$datafile;
NAME
-------------------------------------
/dev/rora_system
/dev/rora_undo1
/dev/rora_sysaux
/dev/rora_users
/dev/rora_example
2.建立RMAN所需的表空間,這里采用裸設備“/dev/rora_backup”
SQL> create tablespace ora_backup datafile'/dev/rora_backup' size 500M;
Tablespace created.
進行查看確認
SQL> select name from v$datafile;
NAME
----------------------------------------
/dev/rora_system
/dev/rora_undo1
/dev/rora_sysaux
/dev/rora_users
/dev/rora_example
/dev/rora_backup
6 rows selected.
已經發現ora_backup表空間
3.建立RMAN用戶以及設定密碼和用戶表空間
SQL> create user rman identified by rman default tablespace ora_backup temporay tablespace temp
2 ;
create user rman identified by rman default tablespace ora_backup temporay tablespace temp
*
ERROR at line 1:
ORA-00922: missing or invalid option
在此處出錯,原來是temporay打錯,繼續。
SQL> create user rman identified by rman default tablespace ora_backup temporary tablespace temp;
User created.
呵呵,成功
4.給用戶授權
SQL> grant connect,resource,recovery_catalog_owner to rman
2 ;
Grant succeeded.
5.連接到數據庫
SQL> rman target 'zhirui' catalog rman/rman
SP2-0734: unknown command beginning 'rman targe...' - rest of line ignored.
呵呵,又出錯了,沒退出SQL。
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
$ rman target 'zhirui'catalog rman/rman
這下應該可以了吧
Argument Value Description
-----------------------------------------------------
target quoted-string connect-string for target database
catalog quoted-string connect-string for recovery catalog
nocatalog none if specified, then no recovery catalog
cmdfile quoted-string name of input command file
log quoted-string name of output message log file
trace quoted-string name of output debugging message log file
append none if specified, log is opened in append mode
debug optional-args activate debugging
msgno none show RMAN-nnnn prefix for all messages
send quoted-string send a command to the media manager
pipe string building block for pipe names
timeout integer number of seconds to wait for pipe input
checksyntax none check the command file for syntax errors
-----------------------------------------------------------------------------
Both single and double quotes (' or ') are accepted for a quoted-string.
Quotes are not required unless the string contains embedded white-space.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00552: syntax error in command line arguments
RMAN-01009: syntax error: found 'rman': expecting one of: 'append, at, auxiliary, catalog, cmdfile, clone, checksyntax,'
RMAN-01007: at line 2 column 1 file: command line arguments
恩?怎么回事?
$ rman
Recovery Manager: Release 10.2.0.1.0 - Production on Fri May 25 00:37:24 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect catalog rman/rman
connected to recovery catalog database
RMAN> exit
Recovery Manager complete.
可以連接呀,再來
$ rman target 'zhirui' catalog rman/rman
Recovery Manager: Release 10.2.0.1.0 - Production on Fri May 25 00:38:13 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
target database Password:
connected to target database: ZHIRUI (DBID=1679784276)
connected to recovery catalog database
恩,連接進去了。
6.注冊數據庫
RMAN> register database;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of register command at 05/25/2007 00:38:55
RMAN-06428: recovery catalog is not installed
出錯,recovery catalog is not installed
RMAN> register database zhirui;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found 'identifier': expecting one of: ';'
RMAN-01008: the bad identifier was: zhirui
RMAN-01007: at line 1 column 19 file: standard input
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found ';': expecting one of: 'allocate, alter, backup, beginline, blockrecover, catalog, chan'
RMAN-01007: at line 1 column 25 file: standard input
7.建立catalog表空間到ora_backup
RMAN> create catalog tablespace ora_backup
recovery catalog created
這下可以注冊了吧。
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
注冊成功
8.嘗試備份全庫
RMAN> run {
2> allocate channel dev1 type disk;
3> backup
4> format '/home/oracle/data/db_t%t_s%s_p%p'
5> (database);
6> release channel dev1;
7> }
allocated channel: dev1
channel dev1: sid=159 devtype=DISK
Starting backup at 25-MAY-07
channel dev1: starting full datafile backupset
channel dev1: specifying datafile(s) in backupset
input datafile fno=00006 name=/dev/rora_backup
input datafile fno=00001 name=/dev/rora_system
input datafile fno=00003 name=/dev/rora_sysaux
input datafile fno=00005 name=/dev/rora_example
input datafile fno=00002 name=/dev/rora_undo1
input datafile fno=00004 name=/dev/rora_users
channel dev1: starting piece 1 at 25-MAY-07
至此,成功。
