Oracle学习笔记 第二天 重做日志文件、RMAN对数据库进行备份和恢复

重做日志

  重做日志文件多元化,每个重做日志组中至少应有两个重作日志文件,尽量分布在不同存储设备上(防止硬盘损坏)

  重做日志文件比数据文件更重要

  归档

 

归档模式

  非归档

    覆盖

    只能对数据库进行冷备份(把数据库关闭之后的备份)

    只能备份整个数据库

    数据库出现故障,只能把数据库恢复到最后一个备份点,最后一个备份点到故障点之间数据丢失。

  归档

    可以对数据库进行冷备份或者热备份(数据库处于OPEN状态的备份)

    可以备份整个数据库或者某个表空间或者每个数据文件

    可以把数据库恢复到最后的故障点,保障数据不丢失,也可以恢复到其中一个时间点

    可以配置数据库的复制、同步

  两者区别,在于数据库的备份恢复

 

重做日记文件管理

  重做日志有关的动态视图

         V$LOG 重做日志组的信息

         V$LOGFULE 重做日志文件的信息(状态为空时表示正常)

  重做日志组的状态

    CURRENT 当前

    UNUSED 从未使用过

    INACTIVE 至少被使用过一次,与重做日志有关的脏缓冲区已经被写入数据文件

    ACTIVE 至少被使用过一次,与重做日志有关的脏缓冲区还没有被写入数据文件

  命令:

    SU  ROOT

    MKDIR  /U02

    CHOWN  -R  ORACLE:OINSTALL  /U02

    EXIT

    CD  /U02

    LS 

    MKDIR  ORCL

    LS  /U02/ORCL

  代码:

    ALTER DATABASE ADD LOGFILE [GROUP 4] (地址1,地址2) SIZE 100M

    SELECT GROUP#, MEMBER, STATUS FROM V$LOGFILE;

  增加重做日志组的意义 

    举例医院:社保系统1分钟被写满,4分钟需要备份

    可设定更多的重做日志组和更大的重做日志文件

  警告文件:ALERT_

  跟踪文件:ORCL_CJQ_

  强制切换日志

    代码:ALTER SYSTEM SWITCH LOGFILE 

  跟踪文件

    后台进程跟踪文件:DBWR、LGWR、CKPT等,命名规则ORCL_CKPT_TRC,主要跟踪故障

命令:LS  *LGWR*.TRC(也可以按时间来查询)

VI 文件名;打开文件

    前台进程跟踪文件:服务器进程、SERVER进程等客户端进程,默认不是打开的,打开后所有的SQL执行都会被记录,查看语句执行效率(分析过几次、编写是否合理)

  FLASHBACK闪回,恢复数据库或者表

    参考:https://www.cnblogs.com/ivictor/p/3975339.html

 

归档日志文件

  命令:ARCHIVE LOG LIST;

       SELECT LOG_MODE FROM V$DATABASE;

       SELEC ARCHIVER FROM V$INSTANCE;

 

修改日志模式

  开启归档日志文件 

  SHUTDOWN

  启动数据库实例到MOUNT状态

    命令STARTUP MOUNT

  执行命令

    命令:ALTER DATABASE (NO)ARCHIVELOG

  打开数据库

    命令:ALTER DATABASE OPEN 

       ARCHIVE LOG LIST;   --USE_DB_RECOVER_FILE_DEST

 

设置归档日志的路径

  31个参数设定31个归档路径,对应参数改为DEFER为失效 

  命令:  

    SHOW PARAMETER LOG_ARCHIVE;(查找归档参数)

    ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/U01/ARCHIVE';

    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'LOCATION=/U02/ARCHIVE';

    ALTER SYSTEM SWITCH LOGFILE;手动切换归档文件

  查询

    LS /U01/ARCHIVE

  归档日志命名

    %t:THREAD编号,实例编号,%T为扩展四位,前面补充0

    %s:SEQUENCE编号,防止文件名称冲突,%S为扩展十位,前面补充0

    %r:随机的数字,同一个文件不变

    命令:ALTER SYSTEM SET LOG_ARCHIVE_FORMAT=ARC_%T_%S_%r' SCOPE=SPFILE  再重启数据库

    设置错误后修改方法:

      CREATE PFILE = '/HOME/ORACLE/INITORCL.ORA' FROM SPFILE;

      CREATE SPFILE FROM PFILE = '/HOME/ORACLE/INITORCL.ORA' FROM SPFILE;

 

RMAN对数据库备份与恢复

  冷备份、热备份:(见上面)

  物理备份:针对文件备份

  逻辑备份:表里面的数据导出到文件中

  备份集(BACKUPSET):对应操作系统一个文件,对应一个文件,一个备份片(PIECE),超出系统限制,被分割成多个文件,每个是一个备份片。

  影像拷贝(IMAGE COPY):相当于对文件直接拷贝

  完全备份:可以针对整个数据库,也可以针对某个表空间、数据文件

  增量备份:相对完全备份而言,针对一段时间有变化的数据(如:银行数据库)

  增量备份和完全备份通过备份级别来实现

  备份级别

    FULL:完全备份,是独立备份,用于迁移数据(如:数据库迁移)

    0:完全备份,增量备份的基础

    1-4:以0级备份为基础,增量备份

 

需要备份的文件

  参数文件:没有备份可以拷贝别的数据库文件修改后使用

  控制文件:数据库结构、数据名称等,可以设置自动备份

    命令:SHOW PARAMETER CONTROL_FILES;

  数据文件:重点备份

  重做日志文件:不需要备份,通过两种方式保证文件,多元化、归档

  口令文件:不需要备份

  归档日志文件:可能需要备份

  警告文件、跟踪文件:不需要备份

 

可恢复性的配置

  修改文件多元化

  修改初始化参数CONTROL_FILES

  ALTER SYSTEM SET CONTROL_FILES = '文件1'  SCOPE = SPFILE

  关闭数据库

  在操作系统中拷贝控制文件

  启动数据库服务器

 

  改进方法

  SPFILE改为PFILE

  编辑PEILE文件,修改初始化参数

  数据库关闭SHUTDOWN

    CP 目录1 目录2

  PFILE改为SPFILE

  打开数据库STARTUP

  控制文件备份代码:

         CREATE PFILE='/HOME/ORACLE/INITORCL.ORA' FROM SPFILE;

    命令:VI /HOME/ORACLE/INITORCL.ORA

    I --开始编辑    

    '/U02/ORCL/CONTROL03.CTL' –增加

    ESC : WQ –退出

    CP '/U01/APP/ORACLE/ORADATA/DB01/CONTROL01.CTL'  '/U02/ORCL/CONTROL03.CTL'

  CREATE SPFILE FROM PFILE = '/HOME/ORACLE/INITORCL.ORA';

  SHOW PARAMETER CONTROL_FILES;

   

重做日志文件多元化

 

多表空间(不同的表放在不同的表空间)

       SYSTEM:需要备份一次

       SYSAUX:需要备份一次

       临时表空间:不需要备份

       UNDO表空间:不需要备份

       业务表空间:需要重点备份,频分备份

       索引表空间:不需要备份

 

控制文件自动备份

       在RMAN中设置自动备份

       登录RMAN TARGET /

              命令:SHOW ALL

                 CONFIGURE BACKUP OPTIMIZATION OFF; # DEFAULT     改为ON

              OBID 数据库ID号

    C-DBID-YYYYMMDD-00

  创建文件:MKDIR /U01/BACKUP

       CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/U01/BACKUP%F'; # DEFAULT

            QUIT

 

  SELECT STATUS FROM V$INSTANCE --记录DATABASE状态

  ALTER DATABASE MOUNT --修改DATABASE状态为MOUNT

 

设置快速恢复区

       代码:   

    SHOW PARAMETER RECOVERY

              ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 4G –设置大小

              ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = /U01/APP/FLASH_RECOVERY_AREA –设置位置

 

MRAN特点

       目标数据库:需要备份的数据库

       恢复目录(CATALOG):就是表,记录目标数据库机构

       元数据:目标数据库结构(表名等)

                     目标数据库的备份历史记录

       通道:目标数据库到存储设备之间的数据流

                DISK硬盘  SBT磁带(TAPE单台磁带机)

       从控制文件中获得元数据

       代码:SHOW PARAMETER 初始化参数   -- 默认存7天

                 SHOW PARAMETER DB_NAME

                 SHOW PARAMETER INSTANCE_NAME

  CONFIGURE DEFAULT DEVICE TYPE TO DISK; # DEFAULT –默认通道类型DISK

  CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # DEFAULT –并行度、类型

 

  切换数据库 EXPORT ORACLE_SID= TESTDB

    查询用户ECHO $ORACLE_SID

 

CATALOG配置

       第一:创建第二个数据库,作为CATALOG使用

              TESTDB作为CATALOG

       第二:以SYS用户登录CATALOG数据库,创建表空间

              EXPORT ORACLE_SID=TESTDB

    SQLPLUS / AS SYSDBA

    STARTUP

    SELECT FILE_NAME FROM DBA_DATA_FILES;

    CREATE TABLESPACE RMAN_TS DATAFILE '/U01/APP/ORACLE/ORADATA/TESTDB/RMAN_TS.DBF' SIZE 30M;

       第三:以SYS用户登录CATALOG数据库创建用户, 并制定权限

    CREATE USER RCOWNER IDENTIFIED BY "1234";

    GRANT CONNECT,RESOURCE,RECOVERY_CATALOG_OWNER TO RCOWNER;

    QUIT;

    ECHO $ORACLE_SID;--查看一下数据库

       第四:以RCOWNER用户,RMAN工具,登录CATALOG数据库

    RMAN CATALOG RCOWNER/1234;

              执行命令      

    CREATE CATALOG;

       第五:配置数据库的远程连接

              两个数据库:监听器

              RMAN客户端:两个 SERVICE NAMING

              客户端直接执行

    NETMGR  增加数据库

                     LSNRCTL STOP

                     LSNRCTL START

              测试

      ALTER USER SYS IDENTIFIED BY "1234";更改SYS密码

                     SQLPLUS SYS/1234@DB01 AS SYSDBA

                     SQLPLUS SYS/1234@TESTDB AS SYSDBA

      SHOW PARAMETER DB_NAME;--显示数据库

         RMAN同时连接两个数据库,注册数据库

                    命令:

      方法一:RMAN TARGET SYS/1234@DB01 CATALOG RCOWNER/1234@TESTDB

                     方法二:RMAN

          CONNECT TARGET SYS/1234@DB01;                         

          CONNECT CATALOG RCOWNER/1234@TESTDB;

              注册数据库

                     命令:REGISTER DATABASE

                     查是否成功:REPORT SCHEMA

 

RMAN中的命令

       REPORT SCHEMA

       REPORT NEED BACKUP;

  LIST BACKUP;

  LIST BACKUP OF SPFILE;

  LIST BACKUP OF CONTROLFILE;

  LIST BACKUP OF TABLESPACE USERS;

  RESYNC CATALOG

 

自动备份生效时机(针对的是参数问价你和控制文件)

       目标数据库的结构与变化时候

       当通过BACKUP成功的备份任何一个文件时    

posted @ 2019-05-15 17:44  heima3  阅读(859)  评论(0)    收藏  举报