RMAN Catalog建立、配置和管理

環境:RHEL6.4 + Oracle 11.2.0.4css

1、建立數據庫catdbhtml

2、配置catdb爲catalog數據庫python

3、管理catalog數據庫nginx

4、Referencesql

1、建立數據庫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 建立服務器參數文件並啓動實例

建立服務器參數文件,以服務器參數文件啓動數據庫oracle

SQL> create spfile from pfile; SQL> startup nomount

1.4.4 運行建庫腳本建庫

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

而後執行如下腳本:app

@?/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) ) )

2、配置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

在目標數據庫執行:spa

rman TARGET / CATALOG rman@catdb REGISTER DATABASE;

3、管理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
相關文章
相關標籤/搜索