Contents
Oracle RAC数据库配制
- 注: "$ " 代表oracle用户环境
- "# " 代表root用户环境。
从其它catalog数据库取消注册,如果有的话(Catalog Only)
- 使用oracle用户SSH登录至RAC数据库节点
$ rman target / catalog rman/PASSWORD@rmandb
RMAN> LIST INCARNATION OF DATABASE; RMAN> UNREGISTER DATABASE; database name is "DDTEST" and DBID is 1842543617 Do you really want to unregister the database (enter YES or NO)? yes database unregistered from the recovery catalog
Catalog create
user & tablespace
SQL> create tablespace rman_catalog datafile '/data/oral/rman_catalog.dbf' size 50M AUTOEXTEND ON NEXT 10M MAXSIZE 5G; SQL> create user rman identified by rman default tablespace rman_catalog quota unlimited on rman_catalog; SQL> grant recovery_catalog_owner to rman; SQL> select privilege from dba_sys_privs where grantee = 'RECOVERY_CATALOG_OWNER';
- RMAN recovery catalog
$ rman target / RMAN> CREATE CATALOG;
tnsnames.ora SAMPLE
racdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.25.113)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.25.114)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(INSTANCE_NAME = ddtest1)
(SERVICE_NAME = ddtest)
(UR = A)
)
)
register database to RMAN catalog
[oracle@rac02 db_1]$ rman target / catalog rman/rman@ora-catalog Recovery Manager: Release 11.2.0.4.0 - Production on 星期三 4月 11 11:49:01 2018 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: DDTEST (DBID=1842543617) connected to recovery catalog database RMAN> report schema; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of report command at 04/11/2018 11:49:22 RMAN-06004: ORACLE error from recovery catalog database: RMAN-20001: target database not found in recovery catalog
$ rman TARGET / CATALOG rman@ddboost RMAN> REGISTER DATABASE; RMAN> REPORT SCHEMA;
target database RMAN setting
RMAN> configure controlfile autobackup on; RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS; # (control_file_record_keep_time = retention period + level 0 backup interval + 1) SQL> SHOW PARAMETER KEEP TIME; SQL> ALTER SYSTEM SET CONTROL_FILE_RECORD_KEEP_TIME=22 SCOPE=BOTH;
register RAC to DD2200 DD Boost (SAMPLE)
RUN {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(RMAN_AGENT_HOME=/opt/dpsapps/rmanagent)';
send 'hostnames rac01 rac02';
RELEASE CHANNEL C1;
}- note
RUN {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(RMAN_AGENT_HOME=/opt/dpsapps/rmanagent)';
send 'set username ddboost password Systec36 servername 10.48.223.102';
RELEASE CHANNEL C1;
}
EXIT;- test if success
$ tail .bash_profile alias tns='cd $ORACLE_HOME/network/admin' alias envo='env | grep ORACLE' alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' umask 022 export RMAN_AGENT_HOME=/opt/dpsapps/rmanagent export ORACLE_HOME=/oracle/app/11.2 export STORAGE_UNIT=oraboost export BACKUP_HOST=10.48.223.102 oracle@ddboost-oracle ~ $ sbttest test.log -trace x.log -libname /oracle/app/11.2/lib/libddobk.so
GridControl installation
DB CHARACTER SET
SQL> select DECODE(parameter, 'NLS_CHARACTERSET', 'CHARACTER SET', 'NLS_LANGUAGE', 'LANGUAGE', 'NLS_TERRITORY', 'TERRITORY') name, value from v$nls_parameters WHERE parameter IN ( 'NLS_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY') 2 3 4 5 6 ; NAME VALUE ------------- ---------------------------------------------------------------- LANGUAGE AMERICAN TERRITORY AMERICA CHARACTER SET ZHS16GBK
install JAVA jdk 6.0.45
deconfig EM control
post-db config task
- un-install the database control
$ emca -deconfig dbcontrol db -repos drop
SQL> SELECT USERNAME FROM ALL_USERS WHERE USERNAME IN ('SYSMAN','SYSMAN_MDS');- Make the following initialization parameter changes.
show parameter log_buffer; show parameter processes; show parameter session_cached_cursors; ALTER SYSTEM SET log_buffer=10485760 SCOPE=SPFILE; ALTER SYSTEM SET processes=500 SCOPE=SPFILE; ALTER SYSTEM SET session_cached_cursors=200 SCOPE=SPFILE;
install wls
oradb:~ # mkdir /opt/oracle/Middleware -v oradb:~ # chown -R oracle:oinstall /opt/oracle/Middleware/
oracle@oradb:/orasoft/GridControl> java -jar wls1032_generic.jar Unable to instantiate GUI, defaulting to console mode. Extracting 0%....................................................................................................100% /opt/oracle/Middleware
- uninstall if needed.
/opt/oracle/Middleware/utils/uninstall/uninstall.sh
install GridControl(OMS)
oracle@oradb:/orasoft/GridControl> for file in V20515-01_*.zip; do unzip $file; done
# xhost +
$ export DISPLAY=:1
oracle@oradb:/orasoft/GridControl> ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 150 MB. Actual 51699 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16382 MB Passed
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,
Continue? (y/n) [n] y
OMS agent install
[root@OMS ~] rsync -aP /opt/oracle/Middleware/oms11g/sysman/agent_download root@192.168.25.113:/media
$ cd /media/agent_download/11.1.0.1.0/linux_x64 $ wget --no-check-certificate --secure-protocol=TLSv1 https://192.168.25.118:7799/agent_download/11.1.0.1.0/agent_download.rsp
- editing agentDownload.linux_x64
else
if [ -f /usr/bin/wget ]
then
WGET="/usr/bin/wget --no-check-certificate --secure-protocol=TLSv1"
fi
fi$ sh agentDownload.linux_x64 -b /u01/app/oracle/product/11.2.0/db_1/ -m 192.168.25.118 -r 7799 -y # /u01/app/oracle/product/11.2.0/db_1//agent11g/root.sh
Stopping/Starting of Grid Control
$ cat OMS.env export ORACLE_HOME=/opt/oracle/Middleware/oms11g export PATH=$ORACLE_HOME/bin:$PATH $ source OMS.env $ emct stop oms # /etc/init.d/gcstartup stop # /etc/init.d/gcstartup start
[oracle@rac01 db_1]$ ./agent11g/bin/emctl status agent Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 11.1.0.1.0 OMS Version : 11.1.0.1.0 Protocol Version : 11.1.0.0.0 Agent Home : /u01/app/oracle/product/11.2.0/db_1/agent11g Agent binaries : /u01/app/oracle/product/11.2.0/db_1/agent11g Agent Process ID : 1976 Parent Process ID : 1951 Agent URL : https://rac01:3872/emd/main/ Repository URL : https://ora-catalog.localdomain:4903/em/upload Started at : 2018-04-10 18:31:59 Started by user : oracle Last Reload : 2018-04-10 18:31:59 Last successful upload : 2018-04-10 18:32:40 Total Megabytes of XML files uploaded so far : 3.40 Number of XML files pending upload : 0 Size of XML files pending upload(MB) : 0.00 Available disk space on upload filesystem : 50.44% Last successful heartbeat to OMS : 2018-04-10 18:34:05 --------------------------------------------------------------- Agent is Running and Ready
connected to recovery catalog database
connect target sys/Systec36@ddtest;
connect catalog ddboost/PASSWORD@rmandb;
RUN {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
ALLOCATE CHANNEL C2 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
backup incremental level 0 filesperset 8 database format './oracle-catalog/Lev0_%d_%t_%u_%s_%p';
#backup incremental level 0 as backupset filesperset 8 database format 'Lev0_%d_%t_%u_%s_%p';
#sql 'alter system switch logfile';
#backup archivelog all delete input;
backup current controlfile format './oracl-catalog/%d_%t_%u_%s_%p_controlfile.cf';
RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
}
ddutil
list directory
oracle@ora-catalog:~> /opt/dpsapps/rmanagent/bin/ddutil -f -z 10.48.223.102:/oraboost/ 'RMAN_AGENT_HOME' value obtained from environment variable is '/opt/dpsapps/rmanagent'. Type Perm Size Time Path --------------------------------------------------------------------------------- dir 755 226 Thu Apr 12 17:33:45 2018 (1523525625) /oraboost dir 744 101 Thu Apr 12 17:33:31 2018 (1523525611) /oraboost/oracle-catalog
delete directory
oracle@ora-catalog:~> /opt/dpsapps/rmanagent/bin/ddutil -d -x -z 10.48.223.102:/oraboost oracl-catalog 'RMAN_AGENT_HOME' value obtained from environment variable is '/opt/dpsapps/rmanagent'. Delete '/oraboost/oracl-catalog' (Y/N)? Y
Oracle v$block_change_tracking
Enable BLOCK TRACKING
SQL> show parameter db_create_file_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string +DATA_MIRROR01 SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING; SQL> col filename format a60; SQL> select filename, status, bytes/1024/1024 from v$block_change_tracking; FILENAME STATUS BYTES/1024/1024 ------------------------------------------------------------ ---------- --------------- +DATA_MIRROR01/ddtest/changetracking/ctf.268.971954405 ENABLED 11.0625
OR create the change tracking file in a location
- ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/mydir/rman_change_track.f' REUSE;
Disable BLOCK TRACKING
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
RMAN backup
lunch script
- incre0-backup.sh
#/bin/bash
hostname=`hostname -s`
source /etc/profile.d/oracle.sh
if [[ $# -eq 0 ]]; then
echo "usage: incre0-backup.sh <oracle_sid>"
exit
fi
export ORACLE_SID=$1
rman target / catalog rman/rman@oral << EOF
RUN{
CONFIGURE CONTROLFILE AUTOBACKUP ON;
#CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO './$hostname/%d_%F.ctl';
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
ALLOCATE CHANNEL C2 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
backup incremental level 0 filesperset 8 database format './ora-catalog/Lev0_%d_%t_%u_%s_%p';
#backup incremental level 0 as backupset filesperset 8 database format 'Lev0_%d_%t_%u_%s_%p';
#backup tag "$SID-ARCHIVE-$(date +%F_%H-%M)" archivelog all delete input format './$HOSTNAME/%d_%T_%s_%p_archive';
sql 'alter system switch logfile';
backup archivelog all delete input;
RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
}
EOF
rman script level 0
export ORACLE_SID=SID
export DATE=date '+%Y%m%d_%H%M%S'
#backup incremental level 0 filesperset 8 database format 'Lev0_%d_%t_%u_%s_%p' plus archivelog;
RUN {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
ALLOCATE CHANNEL C2 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
backup incremental level 0 filesperset 8 database format './ora-catalog/Lev0_%d_%t_%u_%s_%p';
#backup incremental level 0 as backupset filesperset 8 database format 'Lev0_%d_%t_%u_%s_%p';
sql 'alter system switch logfile';
backup archivelog all delete input;
#backup current controlfile format './ora-catalog/%d_%t_%u_%s_%p_controlfile.cf';
RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
}
rman script level 1
export ORACLE_SID=SID
export DATE=date '+%Y%m%d_%H%M%S'
#backup incremental level 1 filesperset 8 database format 'Lev1_%d_%t_%u_%s_%p' plus archivelog;
RUN {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;;
ALLOCATE CHANNEL C2 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;;
backup incremental level 1 filesperset 8 database format './ora-catalog/Lev1_%d_%t_%u_%s_%p';
sql 'alter system switch logfile';
backup archivelog all delete input;
backup current controlfile format './ora-catalog/%d_%t_%u_%s_%p_controlfile.cf';
sql 'alter system switch logfile';
backup archivelog all delete input;
RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
}
RMAN scripts
RMAN> create script backup_DDTEST_full
comment 'DDTEST FULL'
{
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/u01/app/oracle/product/11.2.0/db_1/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=192.168.25.112)';
backup incremental level 0 filesperset 8 database as backupset format '%d_%t_%u_%s_%p' plus archivelog;
backup current controlfile format '%d_%t_%u_%s_%p_controlfile.cf';
RELEASE CHANNEL C1;
}
created script backup_DDTEST_full
RMAN>
RMAN> list script names;
List of Stored Scripts in Recovery Catalog
Scripts of Target Database DDTEST
Script Name
Description
-----------------------------------------------------------------------
backup_DDTEST_full
DDTEST FULL
RMAN> run {
2> execute script backup_DDTEST_full using 'SYSTEM'; }
executing script: backup_DDTEST_full
released channel: ORA_DISK_1
allocated channel: C1
channel C1: SID=166 instance=ddtest1 device type=SBT_TAPE
channel C1: Data Domain Boost API
Starting backup at 04-APR-18
...
delete expired backupset
RUN {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
CROSSCHECK BACKUP;
DELETE EXPIRED BACKUPSET;
CROSSCHECK archivelog all;
DELETE EXPIRED archivelog all;
RELEASE CHANNEL C1;
}- delete all BACKUP
RUN {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' TRACE 5 PARMS 'BLKSIZE=1048576, SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102)' MAXOPENFILES 1;
CROSSCHECK BACKUP;
DELETE BACKUP DEVICE TYPE SBT_TAPE;
RELEASE CHANNEL C1;
}export RMAN_AGENT_HOME=/opt/dpsapps/rmanagent export ORACLE_HOME=/oracle/app/11.2 export STORAGE_UNIT=oraboost export BACKUP_HOST=10.48.223.102
