首先看一下10g、11g、12c中视图v$pwfile_users的结构:
10g:
SQL> desc v$pwfile_users; Name Null? Type ----------------------------------------- -------- ---------------------------- USERNAME VARCHAR2(30) SYSDBA VARCHAR2(5) SYSOPER VARCHAR2(5)
11g:
SQL> desc v$pwfile_users Name Null? Type ----------------------------------------- -------- ---------------------------- USERNAME VARCHAR2(30) SYSDBA VARCHAR2(5) SYSOPER VARCHAR2(5) SYSASM VARCHAR2(5)
12c:
SQL> desc v$pwfile_users; Name Null? Type ----------------------------------------- -------- ---------------------------- USERNAME VARCHAR2(30) SYSDBA VARCHAR2(5) SYSOPER VARCHAR2(5) SYSASM VARCHAR2(5) SYSBACKUP VARCHAR2(5) SYSDG VARCHAR2(5) SYSKM VARCHAR2(5) CON_ID NUMBER 在11g R2中,引入了SYSASM特权来执行ASM的特定操作。同样地,在12c中引入了SYSBACKUP特权用来在 RMAN中执行备份和恢复命令。因此,你可以在数据库中创建一个本地用户并在不授予其SYSDBA权限的情况下,通过授予SYSBACKUP权限让其能够在RMAN中执行备份和恢复相关的任务。
[oracle@dbserver12c ~]$ rman
Recovery Manager: Release 12.1.0.1.0 - Production on Tue Aug 20 10:20:16 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target "sysbackup/oracle as sysbackup"
connected to target database: ORCL12C (DBID=654096713)
RMAN> select * from v$pwfile_users;
USERNAME SYSDBA SYSOPER SYSASM SYSBACKUP SYSDG SYSKM CON_ID ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- SYS TRUE TRUE FALSE FALSE FALSE FALSE 0 SYSDG FALSE FALSE FALSE FALSE TRUE FALSE 0 SYSBACKUP FALSE FALSE FALSE TRUE FALSE FALSE 0 SYSKM FALSE FALSE FALSE FALSE FALSE TRUE 0
RMAN> backup database;
Starting backup at 20-AUG-13 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=47 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=/oracle/oradata/orcl12c/system01.dbf input datafile file number=00003 name=/oracle/oradata/orcl12c/sysaux01.dbf input datafile file number=00002 name=/oracle/oradata/orcl12c/example01.dbf input datafile file number=00004 name=/oracle/oradata/orcl12c/undotbs01.dbf input datafile file number=00006 name=/oracle/oradata/orcl12c/users01.dbf channel ORA_DISK_1: starting piece 1 at 20-AUG-13 channel ORA_DISK_1: finished piece 1 at 20-AUG-13 piece handle=/oracle/fast_recovery_area/ORCL12C/backupset/2013_08_20/o1_mf_nnndf_TAG20130820T102108_916ytpn7_.bkp tag=TAG20130820T102108 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:04:37 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 20-AUG-13 channel ORA_DISK_1: finished piece 1 at 20-AUG-13 piece handle=/oracle/fast_recovery_area/ORCL12C/backupset/2013_08_20/o1_mf_ncsnf_TAG20130820T102108_916z3grr_.bkp tag=TAG20130820T102108 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 20-AUG-13 |