代码改变世界

Oracle 使用RMAN

2013-11-24 14:35  waddell  阅读(511)  评论(0编辑  收藏  举报
RMAN 数据库备份
特点:
1、    跳过未使用的数据块
2、    备份压缩
3、    执行增量备份
4、    块级别的恢复
组件:
1、    RMAN命令执行器(RMAN Executable)
2、    目标数据库(Traget Database3、    RMAN恢复目录 (RMAN Recover Catelog)
4、    RMAN资料档案库(RMAN Respository)
5、    恢复目录数据库库 (Recover Catelog Database)

创建恢复目录
--使用dba登陆
Sqlplus sys/change_on_install AS SYSDBA;
--查看数据库模式
ARCHIVE LOG LIST;
--创建一个表空间
CREATE TABLESPACE recovery_tbs
DATAFILE ‘E:\recovery_tbs.dbf’
SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
--创建一个用户
CREATE USER rman_admin IDENTIFIED BY admin123
DEFAULT TABLESPACE recovery_tbs;
--为用户创建权限
GTANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO rman_admin;
--创建恢复目录
--新建一个cmd窗口
RMAN
CONNECT CATALOG rman_admin/admin123
--创建rman恢复目录
CREATE CATALOG

--连接目标数据库:是指建立RMAN和目标数据库之间的连接。
--无恢复目录
--使用RMAN TARGET语句
--使用RMAN NOCATALOG语句
--使用RMAN TARGET … NOCATALOG语句
--有恢复目录
--使用RMAN TARGET … CATALOG …
--取消目标数据库的注册
--使用 UNREGISTER 命令
--使用存储过程
--连接到数据库
RMAN TARGET system/manager CATALOG rman_admin/admin123
--注册数据库
REGISTER DATABASE;
--执行命令,进行目录同步
RESYNC CATALOG
--如果需要取消注册
--方法一:使用存储过程
--重新打开一个命令窗口,使用system用户登录
Sqlplus system/manager
CONN rman_admin/admin123;
--ID: 为目标数据库的dbid,可从rman命令行当中查找
SELECT * FROM DB WHERE DB_ID = DBID;
Exec DBMS_RCVCAT.UNREGISTERDATABASE(1,DBID)
--方法二:使用UNREGISTER DABADASE
UNREGISTER DATABASE;

--RMAN命令
--@
--STARTUP:启动数据库
--RUN:
--SET:为rman会话过程设置配置信息
--SHOW:显示所有的或者单个rman配置
--SHUTDOWN:关闭目标数据库
--SQL:
--ADVISE FAILURE:
--BACKUP:
--CATALOG:
--DELETE:删除备份文件或者副本
--FLASHBACK:执行闪回数据库操作
--LIST:显示在目标数据库控制文件或存储库中记录的有关备份集和映像副本的信息
--RECOVER:对数据文件、表空间或者整个数据库执行恢复
--REGISTER DATABASE:在RMAN存储库中注册目标数据库
--REPORT:对RMAN存储库进行详尽的分析
--RESTORE:通常在存储介质失效后,将文件从映像副本或者备份集恢复到磁盘上
--TRANSPORT TABLESPACE:为一个或者多个表空间的备份创建可一直的表空间集
--VALIDATE:检查备份集并报告她的数据是否发生变化。
--与RMAN数据字典:
--Rc_*
--V$rman_status:
--V$rman_output:
--V$session_lognops:
--V$database_block_corruption:
--V$recovery_file_dest:
--V$rman_configuration:数据库采用的非默认值的RMAN配置参数

--RMAN操作目标数据库
--启动数据库
--STARTUP:以正常方式启动数据库实例,加载数据库文件,并且打开数据库
--STARTUP FORCE:使用强制方式打开时数据库
--STARTUP MOUNT:表示启动数据库实例,而且加载数据库文件,但是不打开数据库,主要在切换数据库运行模式或者进行恢复时使用。
--STARTUP NOMOUNT:只启动数据库实例,不加载数据库文件,不打开数据库。
--关于数据库
--SHUTDOWN NORMAL:正常关于数据库,在使用这种方式中,数据库需要等待所有客户端从Oracle中正常退出,然后才能关闭。
--SHUTDOWN IMMEDIATE:立即关闭数据库,使用这种方式,系统将接连到服务器的所有未提交的事务全部回退,并中断连接,然后关闭数据库。
--SHUTDOWN ABORT:异常关闭数据库,使用这种方式,系统李杰将数据库关于,对连接到服务器的客户事务不做任何处理。
--SHUTDOWN TRANSACTIONAL:计划关闭数据库,运行该命令后,任何新的连接和事务都是不允许的。在已经执行的所有事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。

--修改数据库的日志模式
--使用dba账户登录数据库
CONNECT sys/change_on_install AS SYSDBA;
--查看系统日志模式
ARCHIVE LOG LIST
--使用shutdown命令关闭数据库
SHUTDOWN
--使用startup mount 启动数据库,不打开数据库
STARTUP MOUNT
--修改数据库存档模式
ALTER DATABASE NOARCHIVELOG;
--开启数据库
ALTER DATABASE OPEN;

--RMANBACKUP命令
--BACKUP[FULL|INCREMENTAL LEVEL[=]N](backup_type option)
--FULL:表示完全备份
--INCREMENTAL 表示增量备份
--LEVELS:是增量备份的级别,取值为0-4(表示0、1、2、3、4级增量),0级增量备份相当于完全备份
--LEVEL[=]n中的等号可有可无,LEVEL=0或者LEVEL 0都是正确的。
--Backup_type是备份对象:
--DATABASE:表示备份全部数据库,包含所有数据文件和控制文件
--TABLESPACE:备份表空间,
--DATAFILE:备份数据文件
--ARCHIVELOG[ALL]:表示备份归档日志文件
--CURRENT CONTROLFILE:备份控制文件
--DATAFAILECOPY[TAG]:使用COPY命令备份数据文件
--CONTROLFILECOPY:使用COPY命令备份的控制文件
--BACKUPSET[ALL]:使用BACKUP命令备份所有文件
--Option
--TAG:制定一个标记
--FORMAT:表示文件存储格式
--INCLUDE CURRENT CONTROLFILE:表示备份控制文件
--FILESPERSET:表示备份集所包含的文件
--CHANNEL:制定备份通道
--DELETE[ALL]INPUT:备份结束后删除归档日志
--MAXSETSIZE:制定备份集的最大尺寸
--SKIP[OFFLINE|READONLY|INACCESSIBLE]:可以选择的备份条件

--RMAN备份
--完全备份
RUN{
#BACKUP THE COMPLETE DATABASE
ALLOCATE CHANNEL CH TYEP DISK;
BACKUP FULL
TAG full_db_backup FORMAT “E:\DB_t%t_s%s_p%p” (database)
RELEASE CHANNEL CH;
}
--在执行list命令,查看建立的备份集与备份段信息
LIST BACKUP OF DATABASE;
--备份表空间
RUN{
ALLOCATE CHANNEL CH TYPE DISK;
BACKUP TAG tbs_users_read_only FORMAT
“E:\ tbs_users_t%t_s%s”
(TABLESPACE users)
RELEASE CHANNEL CH;
}
--在执行list命令,查看建立的备份集与备份段信息
LIST BACKUP OF TABLESPACE ‘USERS’;