zoukankan      html  css  js  c++  java
  • RMAN Catalog创建、配置和管理

    环境:RHEL6.4 + Oracle 11.2.0.4

    一、创建数据库catdb

    二、配置catdb为catalog数据库

    三、管理catalog数据库

    四、Reference

    一、创建数据库catdb

    1.1 官档的建库脚本示例

    CREATE DATABASE mynewdb
       USER SYS IDENTIFIED BY sys_password
       USER SYSTEM IDENTIFIED BY system_password
       LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log') SIZE 100M BLOCKSIZE 512,
               GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log') SIZE 100M BLOCKSIZE 512,
               GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log') SIZE 100M BLOCKSIZE 512
       MAXLOGFILES 5
       MAXLOGMEMBERS 5
       MAXLOGHISTORY 1
       MAXDATAFILES 100
       CHARACTER SET US7ASCII
       NATIONAL CHARACTER SET AL16UTF16
       EXTENT MANAGEMENT LOCAL
       DATAFILE '/u01/app/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE
       SYSAUX DATAFILE '/u01/app/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE
       DEFAULT TABLESPACE users
          DATAFILE '/u01/app/oracle/oradata/mynewdb/users01.dbf'
          SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
       DEFAULT TEMPORARY TABLESPACE tempts1
          TEMPFILE '/u01/app/oracle/oradata/mynewdb/temp01.dbf'
          SIZE 20M REUSE
       UNDO TABLESPACE undotbs
          DATAFILE '/u01/app/oracle/oradata/mynewdb/undotbs01.dbf'
          SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

    1.2 根据我实际环境修改如下项

    sys_password -> oracle
    system_password -> oracle
    US7ASCII -> ZHS16GBK
    mynewdb -> catdb
    /u01/logs/my -> /u01/redologs/a
    /u02/logs/my -> /u01/redologs/b
    /u01/app/oracle/oradata -> /u01/oradata03

    可以vi批量替换,比如:%s#/u01/logs/my#/u01/redologs/a#g替换所有/u01/logs/my/u01/redologs/a
    修改完如下:
    vi /home/oracle/create_db.sql

    CREATE DATABASE catdb
       USER SYS IDENTIFIED BY oracle
       USER SYSTEM IDENTIFIED BY oracle
       LOGFILE GROUP 1 ('/u01/redologs/a/redo01a.log','/u01/redologs/b/redo01b.log') SIZE 100M BLOCKSIZE 512,
               GROUP 2 ('/u01/redologs/a/redo02a.log','/u01/redologs/b/redo02b.log') SIZE 100M BLOCKSIZE 512,
               GROUP 3 ('/u01/redologs/a/redo03a.log','/u01/redologs/b/redo03b.log') SIZE 100M BLOCKSIZE 512
       MAXLOGFILES 5
       MAXLOGMEMBERS 5
       MAXLOGHISTORY 1
       MAXDATAFILES 100
       CHARACTER SET ZHS16GBK
       NATIONAL CHARACTER SET AL16UTF16
       EXTENT MANAGEMENT LOCAL
       DATAFILE '/u01/oradata03/catdb/system01.dbf' SIZE 325M REUSE
       SYSAUX DATAFILE '/u01/oradata03/catdb/sysaux01.dbf' SIZE 325M REUSE
       DEFAULT TABLESPACE users
          DATAFILE '/u01/oradata03/catdb/users01.dbf'
          SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
       DEFAULT TEMPORARY TABLESPACE tempts1
          TEMPFILE '/u01/oradata03/catdb/temp01.dbf'
          SIZE 20M REUSE
       UNDO TABLESPACE undotbs
          DATAFILE '/u01/oradata03/catdb/undotbs01.dbf'
          SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

    1.3 创建必要目录并赋予权限

    #redologs和datafiles
    mkdir -p /u01/redologs/a && mkdir -p /u01/redologs/b && mkdir -p /u01/oradata03/catdb
    chown oracle:oinstall /u01/redologs/a /u01/redologs/b /u01/oradata03/catdb
    #controlfiles
    mkdir -p /u01/system/catdb && mkdir -p /u02/system/catdb && mkdir -p /u03/system/catdb  
    chown oracle:oinstall /u01/system/catdb /u02/system/catdb /u03/system/catdb

    1.4 执行脚本建库

    1.4.1 声明ORACLE_SID变量

    export ORACLE_SID=catdb

    1.4.2 编辑初始化参数文件

    vi $ORACLE_HOME/dbs/init$ORACLE_SID.ora

    DB_NAME=catdb
    CONTROL_FILES=('/u01/system/catdb/control01.ctl','/u02/system/catdb/control02.ctl','/u03/system/catdb/control03.ctl')
    MEMORY_TARGET=1G

    1.4.3 创建服务器参数文件并启动实例

    创建服务器参数文件,以服务器参数文件启动数据库

    SQL> create spfile from pfile;
    SQL> startup nomount

    1.4.4 运行建库脚本建库

    SQL> @/home/oracle/create_db.sql
    
    Database created.

    然后执行以下脚本:

    @?/rdbms/admin/catalog.sql
    @?/rdbms/admin/catproc.sql
    conn system/oracle
    @?/sqlplus/admin/pupbld.sql

    1.4.5 配置tnsnames.ora

    CATDB =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB02)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = catdb)
        )
      )

    二、配置catdb为catalog数据库

    2.1 创建表空间

    CREATE TABLESPACE TOOLS DATAFILE '/u01/oradata03/catdb/tools.dbf' SIZE 15M REUSE AUTOEXTEND ON NEXT 15M MAXSIZE 1500M;

    2.2 创建用户

    CREATE USER rman IDENTIFIED BY rman
      TEMPORARY TABLESPACE tempts1
      DEFAULT TABLESPACE tools 
      QUOTA UNLIMITED ON tools;
    
    GRANT RECOVERY_CATALOG_OWNER TO rman;

    2.3 创建CATALOG

    $ rman catalog rman/rman
    RMAN> CREATE CATALOG;

    2.4 目标数据库注册到CATALOG

    在目标数据库执行:

    rman TARGET / CATALOG rman@catdb
    REGISTER DATABASE;

    三、管理catalog数据库

    3.1 创建和管理VPC(virtual private catalogs)

    3.1.1 创建表空间,用户,赋权

    create tablespace vpcusers datafile '/u01/oradata03/catdb/vpcusers01.dbf' size 30M autoextend on maxsize 300M;
    CREATE USER vpc1 IDENTIFIED BY vpc1 DEFAULT TABLESPACE vpcusers QUOTA UNLIMITED ON vpcusers;
    GRANT recovery_catalog_owner TO vpc1;

    3.1.2 恢复目录所有者RMAN登录赋予vpc1用户注册数据库权限

    $ rman catalog rman/rman@catdb
    RMAN> GRANT REGISTER DATABASE TO vpc1;

    3.1.3 虚拟专用目录RMAN登录创建虚拟CATALOG

    RMAN> CONNECT CATALOG vpc1@catdb;
    RMAN>  CREATE VIRTUAL CATALOG;

    如果是10.2版本或更早,需要SQL下执行存储过程创建:

    SQL> EXECUTE base_catalog_owner.DBMS_RCVCAT.CREATE_VIRTUAL_CATALOG;

    3.1.4 恢复目录所有者RMAN登录赋予vpc1用户已注册数据库的访问权限

    $ rman catalog rman/rman@catdb
    RMAN> GRANT CATALOG FOR DATABASE jingyu TO vpc1;

    3.2 创建和管理存储脚本

    首先连接到目标数据库和恢复目录。

    3.2.1 创建全局脚本

    CREATE GLOBAL SCRIPT global_full_backup 
    {     
      BACKUP DATABASE PLUS ARCHIVELOG;
      DELETE OBSOLETE;
    }

    你可以创建脚本时同时加上描述性的注释,比如:

    CREATE GLOBAL SCRIPT global_full_backup 
    COMMENT 'use only with ARCHIVELOG mode databases'
    {     
      BACKUP DATABASE PLUS ARCHIVELOG;
      DELETE OBSOLETE;
    }

    3.2.2 创建本地脚本

    CREATE SCRIPT full_backup 
    {     
      BACKUP DATABASE PLUS ARCHIVELOG;
      DELETE OBSOLETE;
    }

    创建脚本还可以从已有脚本文本文件获取:

    CREATE SCRIPT full_backup 
      FROM FILE '/tmp/my_script_file.txt';

    3.2.3 替换存储脚本

    REPLACE GLOBAL SCRIPT global_full_backup 
    COMMENT 'A script for full backup to be used with any database'
    {
      BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;
    }

    3.2.4 执行存储脚本

    RUN 
    {
      EXECUTE GLOBAL SCRIPT global_full_backup;
    }
    
    RUN
    { 
      EXECUTE SCRIPT global_full_backup; 
    }

    如果没有本地脚本是global_full_backup这个名字,那么上面两个命令效果一样,如果有,那么第二个命令则会优先执行本地脚本。

    3.2.5 创建和管理动态存储脚本

    登录RMAN

    rman TARGET / CATALOG rman@catdb USING arc_backup bck0906 FY06Q3

    创建动态存储脚本:

    CREATE SCRIPT quarterly { 
      ALLOCATE CHANNEL c1
        DEVICE TYPE sbt
        PARMS 'ENV=(OB_MEDIA_FAMILY=&1)';
      BACKUP
        TAG &2
        FORMAT '/disk2/bck/&1%U.bck'
        KEEP FOREVER
        RESTORE POINT &3
        DATABASE;
    }

    替换成符合我实际环境可执行的:

    Replace SCRIPT quarterly { 
      ALLOCATE CHANNEL c1
        DEVICE TYPE disk;
      BACKUP
        TAG '&2'
        FORMAT '/u01/jingyu/&1%U.bck'
        KEEP FOREVER
        RESTORE POINT '&3'
        DATABASE;
    }

    执行:

    RUN
    { 
      EXECUTE SCRIPT quarterly 
        USING arc_backup
              bck1206
              FY06Q4;
    }

    3.2.6 打印存储脚本

    打印存储脚本:

    PRINT SCRIPT full_backup;

    打印内容发送到脚本:

    PRINT SCRIPT full_backup 
      TO FILE '/tmp/my_script_file.txt';

    3.3 删除恢复目录

    连接到catalog,执行删除(两次确认)。

    RMAN> drop catalog;
    RMAN> drop catalog;

    3.4 更新恢复目录

    比如RMAN恢复目录版本是10g,那么11g版本的RMAN客户端需要升级更新本地包和模式。
    如果你10gR1版本之前创建的恢复目录, 并且RECOVERY_CATALOG_OWNER角色不包含CREATE TYPE权限,那么需要赋予CREATE TYPE的权限给恢复目录所有者。

    SQL> GRANT CREATE TYPE TO rman;

    升级catalog(两次确认):

    RMAN> upgrade catalog;
    RMAN> upgrade catalog
  • 相关阅读:
    BGP综合部署
    网络综合部署
    部署LNMP架构
    编译安装Nginx网站服务及优化
    Apache网页优化
    在windows上安装jupyter,配置单机版pyspark
    剑指offer54-字符流中第一个不重复的字符
    在centos001上安装jupyter,配置单机版pyspark
    剑指offer53-表示数值的字符串
    剑指offer50-数组中重复的数字
  • 原文地址:https://www.cnblogs.com/youngerger/p/9051093.html
Copyright © 2011-2022 走看看