zoukankan      html  css  js  c++  java
  • 备份、文件oracle rman nocatalog和catalogby小雨

    首先声明,我是一个菜鸟。一下文章中出现技术误导情况盖不负责

        一、查看否是开启归档模式
    [oracle@test ~]$ sqlplus / as sysdba
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 4月 17 03:15:57 2013
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to an idle instance.
    SQL> startup mount;
    ORACLE instance started.
    Total System Global Area  285212672 bytes
    Fixed Size                  1218992 bytes
    Variable Size             117442128 bytes
    Database Buffers          163577856 bytes
    Redo Buffers                2973696 bytes
    Database mounted.
    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            /opt/app/oracle/archive
    Oldest online log sequence     19
    Next log sequence to archive   21
    Current log sequence           21
    2、rman录登
    本地录登
    rman target /
    rman target sys/123456
    rman target sys/123456 nocatalog
    远程录登
    rman target sys/123456@wolf nocatalog

        二、catalog和nocatalog
    1、 nocatalog应用控制文件作为catalog,没做一次备份都要些人很多备份信息,控制文件里会有越来越多的rman备份信息。(合适小型企业,量少数据库)
       所以这时候定一要注意备份控制文件。而且把保存时光置设长一点。因为控制文件中的rman备份记载属于循环重用记载类型,如果含有这些记载的控制文件区域已满,这些记载就会删除,这样就致使控制文件中没有任何备份记载,就是说和从没有过备份一样。当然如果控制文件中不含有rman的备份记载,rman就不能用来执行复恢操纵。
    初始化参数control_file__record_keep_time置设备份信息存保时光,到定规时光就主动清除之前的备份信息:
    SQL> show parameter control

        NAME                                 TYPE
    ------------------------------------ ---------------------------------
    VALUE
    ------------------------------
    control_file_record_keep_time        integer
    7
    control_files                        string
    /opt/app/oracle/oradata/wolf/c
    ontrol01.ctl, /opt/app/oracle/
    oradata/wolf/control02.ctl, /o
    pt/app/oracle/oradata/wolf/con
    trol03.ctl
    SQL> alter system set control_file_record_keep_time=14 scope=both;

        System altered.

        
    SQL> show parameter control;

        NAME                                 TYPE
    ------------------------------------ ---------------------------------
    VALUE
    ------------------------------
    control_file_record_keep_time        integer
    14
    control_files                        string
    /opt/app/oracle/oradata/wolf/c
    ontrol01.ctl, /opt/app/oracle/
    oradata/wolf/control02.ctl, /o
    pt/app/oracle/oradata/wolf/con
    trol03.ctl
    SQL> select name,value,issys_modifiable from v$parameter where name='control_file_record_keep_time';

        NAME
    --------------------------------------------------------------------------------
    VALUE
    --------------------------------------------------------------------------------
    ISSYS_MODIFIABLE
    ---------------------------
    control_file_record_keep_time
    14
    IMMEDIATE

        2、 catalog是要需建创备份录目,建立复恢录目,这样有所的信息就写到到备份录目里头,一般只要有充足的空间,有所的rman备份信息都能入写里头。(合适大型企业,多个数据库)

        建创catlog录目:
    建创表空间
    create tablespace rman_wolf '/opt/app/   /rmanwolf.dbf' size 20m;
    建创户用
    create user rman identified by rman default tablespace rman_wolf quota unlimited on rman_wolf;
    授权
    grant recovery_catalog_ower to rman;
    grant connect to rman;
    查看角色具有的权限
    select * from dba_sys_privs where grantee='REOVERY_CATALOG_OWNER;
    建创复恢录目
    rman target / catalog rman/rman
    create catalog tablespace rman_wolf;
    register database;(要需备份的标目数据库)

        
    注意:
       当应用Rman nocatalog复恢时,数据库必须是处于“mount”状态的,即定一要先加载控制文件,不然RMAN找不到记载的备份信息。而Oracle startup mount的前提条件是control必须存在。因此,你必须在复恢datafile之前先复恢controlfile。应用Rman catalog式方时,可以startup nomount然后restore controlfile;但应用Rman nocatalog时,必须先用文件式方复恢controlfile。
    面下比对一下Rman nocatalog和Rman catalog的复恢时的步调,以便建立确正的备份策略(以下的复恢都是在online状态下的备份):

        Rman nocatalog复恢:

        1) 建立oracle运行环境(括包init或sp文件)

        2) 文件式方复恢controlfile到init文件指定的置位(或者先启动到NOMOUNT,在RMAN中restore controlfile from autobackup)

        3) startup mount

        4) Rman,Rman,restore datafile,recover datafile

        5) alter database open resetlogs

        Rman catalog复恢:

        1) 建立oracle运行环境(括包init或sp文件)

        2) Rman ,restore controfile

        3) alter database mount

        4) Rman, restore datafile

        5) alter database open resetlogs

        可以看出,Rman nocatalog备份时,必须用文件式方备份controlfile。

        另外,由于nocatalog时利用controlfile放存备份信息,议建将Oracle参数文件中的CONTROL_FILE_RECORD_KEEP_TIME值加大(省缺为7天), 该参数在$ORACLE_HOME/dbs/initSID.ora中(9i后也可能在spfile中,只能通过Oracle句语变动)。

    文章结束给大家分享下程序员的一些笑话语录: 真正的程序员喜欢兼卖爆米花,他们利用CPU散发出的热量做爆米花,可以根据米花爆裂的速度听出正在运行什么程序。

  • 相关阅读:
    php apc
    nginx https
    js弹出确认框,挺全
    websocket nodejs
    nodejs express测试
    【C++】Mandelbrot集绘制(生成ppm文件)
    【Scheme】Huffman树
    【Scheme】符号求导
    【Scheme】树结构
    【Scheme】序列的操作
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3028475.html
Copyright © 2011-2022 走看看