环境:RHEL6.4 + Oracle 11.2.0.4css
1、建立数据库catdbhtml
2、配置catdb为catalog数据库python
3、管理catalog数据库nginx
4、Referencesql
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;
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;
#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
export ORACLE_SID=catdb
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
建立服务器参数文件,以服务器参数文件启动数据库oracle
SQL> create spfile from pfile; SQL> startup nomount
SQL> @/home/oracle/create_db.sql Database created.
而后执行如下脚本:app
@?/rdbms/admin/catalog.sql @?/rdbms/admin/catproc.sql conn system/oracle @?/sqlplus/admin/pupbld.sql
CATDB =
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB02)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = catdb) ) )
CREATE TABLESPACE TOOLS DATAFILE '/u01/oradata03/catdb/tools.dbf' SIZE 15M REUSE AUTOEXTEND ON NEXT 15M MAXSIZE 1500M;
CREATE USER rman IDENTIFIED BY rman TEMPORARY TABLESPACE tempts1 DEFAULT TABLESPACE tools QUOTA UNLIMITED ON tools; GRANT RECOVERY_CATALOG_OWNER TO rman;
$ rman catalog rman/rman
RMAN> CREATE CATALOG;
在目标数据库执行:spa
rman TARGET / CATALOG rman@catdb REGISTER DATABASE;
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;
$ rman catalog rman/rman@catdb
RMAN> GRANT REGISTER DATABASE TO vpc1;
RMAN> CONNECT CATALOG vpc1@catdb; RMAN> CREATE VIRTUAL CATALOG;
若是是10.2版本或更早,须要SQL下执行存储过程建立:
SQL> EXECUTE base_catalog_owner.DBMS_RCVCAT.CREATE_VIRTUAL_CATALOG;
$ rman catalog rman/rman@catdb
RMAN> GRANT CATALOG FOR DATABASE jingyu TO vpc1;
首先链接到目标数据库和恢复目录。
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; }
CREATE SCRIPT full_backup { BACKUP DATABASE PLUS ARCHIVELOG; DELETE OBSOLETE; }
建立脚本还能够从已有脚本文本文件获取:
CREATE SCRIPT full_backup FROM FILE '/tmp/my_script_file.txt';
REPLACE GLOBAL SCRIPT global_full_backup
COMMENT 'A script for full backup to be used with any database' { BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG; }
RUN { EXECUTE GLOBAL SCRIPT global_full_backup; } RUN { EXECUTE SCRIPT global_full_backup; }
若是没有本地脚本是global_full_backup这个名字,那么上面两个命令效果同样,若是有,那么第二个命令则会优先执行本地脚本。
登陆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; }
打印存储脚本:
PRINT SCRIPT full_backup;
打印内容发送到脚本:
PRINT SCRIPT full_backup
TO FILE '/tmp/my_script_file.txt';
链接到catalog,执行删除(两次确认)。
RMAN> drop catalog; RMAN> drop catalog;
好比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