1.首先查看一下Oracle的数据文件
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
至此,成功。