Oracle RAC数据库配制

GC的原理和工作方式

Agent端的数据收集全部通过perl脚本来完成, 扩展名为*.pl,
这些脚本可以在$AGENT_HOME/sysman/admin/scripts/下找到. Agent程序首先会把采集到的信息写到本地的xml文件当中, 生成的文件可以在$AGENT_HOME/sysman/admin/upload下找到. 然后再将该文件upload到OMS端去, OMS再将xml文件写入到自己的repository库里.

Agent端工作方式

当Agent部署到一个节点上时, 首先搜索$ORACLE_BASE/oraInventory下安装的所有Oracle产品. 以便确定需要收集那些产品的信息, 比如只发现了一个数据库产品, 那么就会只运行收集数据库和服务器信息的脚本. 对于一个节点来说, Agent 确定需要收集那些内容的信息写在如下文件$AGENT_HOME/sysman/emd/targets.xml中, 该文件可以手工修改. 另外一个比较重要的文件是$AGENT_HOME/sysman/config/emd.properties, 是每一个Agent的配置文件, Agent所有的属性都在里面, 比如OMS的url/TZ等, 该文件也可以手工修改, 修改完之后, 通过执行./emctl reload agent来使之生效.

登录信息

注:

OMS登录地址:  https://10.48.0.193:7802/em
用户名/密码:  sysman  / Weblogic36

Weblogic 控制台: https://10.48.0.193:7102/console
用户名/密码:    weblogic / Weblogic36

ora-catalog数据库地址:  10.48.0.193
catalog用户名/密码:     rman / rman

从其它catalog数据库取消注册,如果有的话(Catalog Only)

$ 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

注册数据库到RMAN catalog

$ 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> REGISTER DATABASE;
RMAN> REPORT SCHEMA;

target database RMAN setting

RMAN> configure controlfile autobackup on;
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;

Database setting

Oracle建议调整控制文件默认保留的恢复周期(control_file_record_keep_time)大于RMAN retention period,如果前者小于后者,在保留的恢复周期之前的记录在RMAN 中被标记为Obsoleted,以下为推荐的计算公式:

(假设rman catalog访问异常,亦可通过控制文件的保留策略找到合适的恢复点,本环境的Retention period为8天,根据计算公式control_file_record_keep_time = retention period + level 0 backup interval + 1,可以设置为16) SQL> SHOW PARAMETER KEEP TIME; SQL> ALTER SYSTEM SET CONTROL_FILE_RECORD_KEEP_TIME=16 SCOPE=BOTH;

举例说明:假设E-CIQDB每周(7天)做一次全备,RMAN retention period为14天,那么控制文件记录的恢复点值可以调整为7+14+1=22

确认control_file_record_keep_time值,并根据rman retention policy做相应的调整。

SQL> SHOW PARAMETER KEEP TIME;
SQL> ALTER SYSTEM SET CONTROL_FILE_RECORD_KEEP_TIME=22 SCOPE=BOTH;

注册RAC数据库至DD2200 DD Boost (每个节点)

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 web-db1 web-db2';
RELEASE CHANNEL C1;
}

RUN {
#ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(RMAN_AGENT_HOME=/opt/dpsapps/rmanagent)';
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/oracle/app/11.2/lib/libddobk.so,ENV=(STORAGE_UNIT=oraboost,BACKUP_HOST=10.48.223.102,ORACLE_HOME=/oracle/app/11.2,RMAN_AGENT_HOME=/opt/dpsapps/rmanagent)';
send 'set username ddboost password Systec36 servername 10.48.223.102';
RELEASE CHANNEL C1;
}

测试注册是否成功

使用oracle用户SSH登录至RAC数据库节点

export RMAN_AGENT_HOME=/opt/dpsapps/rmanagent
export STORAGE_UNIT=oraboost
export BACKUP_HOST=10.48.223.102

sbttest test.log -trace x.log -libname /oracle/app/11.2/lib/libddobk.so

在目标数据库上安装OMS agent

oracle用户登录ora-catalog(10.48.0.193)主机, 复制agent至目标RAC数据库。

$ rsync -aP /opt/oracle/Middleware/oms11g/sysman/agent_download oracle@IP-ADDRESS:/tmp/

oracle用户SSH登录目标RAC数据库,执行如下操作:

$ cd /media/agent_download/11.1.0.1.0/linux_x64
$ sed -i 's#WGET="/usr/bin/wget#WGET="/usr/bin/wget --no-check-certificate --secure-protocol=TLSv1#g' agentDownload.linux_x64

  * 注:以上命令为修改agentDownload.linux_x64脚本中的执行报错。

开始安装agent

$ mkdir -v /oracle/app/11.2/gridcontrol
$ sh agentDownload.linux_x64 -b /oracle/app/11.2/gridcontrol -m 10.48.0.193 -r 7802 -y
  
  * 安装提示成功后, 切换至root用户执行如下命令:
# /oracle/app/11.2/gridcontrol/agent11g/root.sh

查看agent运行状态:

$ cd /oracle/app/11.2/gridcontrol/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

Metric Collection Error in Grid Control 11g

 #Create a blackout for the RAC database
   - {agent home}/bin/emctl stop agent
   - {agent home}/bin/emctl start agent
   - {agent home}/bin/emctl clearstate agent
   - {agent home}/bin/emctl upload
   #Stop blackout

emctl upload agent
emctl verifykey
emctl stop agent
emctl clearstate agent
emctl secure agent
emctl config agent
emctl config agent listtargets
emctl upload agent
emctl status agent

uninstall

  # GUI
$ cd $ORACLE_HOME/agent11g/oui/bin
$ ./runinstaller -removeallfiles

  # silent 
$ <ORACLE_HOME>/oui/bin/runInstaller -deinstall -silent "REMOVE_HOMES={/u01/app/Oracle/Middleware/agent11g}" -removeallfiles

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

Disable BLOCK TRACKING

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

RMAN backup

lunch script

CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 8 DAYS;

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 './WEBDB/%d_set%s_piece%p_%T_%U';
sql 'alter system switch logfile';
backup archivelog all delete input format './WEBDB/%d_set%s_piece%p_%T_%U';

RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
}

allocate channel for maintenance device type disk;
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
list backup summary;
release channel;

CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 8 DAYS;

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 './WEBDB/%d_set%s_piece%p_%T_%U';
sql 'alter system switch logfile';
backup archivelog all delete input format './WEBDB/%d_set%s_piece%p_%T_%U';

RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
}

allocate channel for maintenance device type disk;
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
list backup summary;
release channel;

#/bin/bash

hostname=`hostname -s`

source /etc/profile.d/oracle.sh

rman target / catalog rman/rman@ora-catalog << EOF

CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 8 DAYS;

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 './$hostname/%d_set%s_piece%p_%T_%U';
sql 'alter system switch logfile';
backup archivelog all delete input format './$hostname/%d_set%s_piece%p_%T_%U';

RELEASE CHANNEL C1;
RELEASE CHANNEL C2;
}

allocate channel for maintenance device type disk;
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
list backup summary;
release channel;


EOF

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;
}

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)
      (SERVICE_NAME = ddtest)
    )
  )

To query the backup entries in catalog and compare it with backup data on Data Domain

you run the following SQL commands using sqlplus.

a. RUN this on Oracle database 
COL BS_REC FORMAT 99999  
COL BP_REC FORMAT 99999  
COL MEDIA_HANDLE FORMAT A50  
SELECT S.RECID AS "BS_REC", P.RECID AS "BP_REC", P.COMPLETION_TIME as 
"COMPLETIONTIME", P.HANDLE AS "MEDIA_HANDLE"  
FROM V$BACKUP_PIECE P, V$BACKUP_SET S  
WHERE P.SET_STAMP = S.SET_STAMP  
AND P.SET_COUNT = S.SET_COUNT; 

Deduplication and Performance Data Collection on Data Domain

filesys show compression /data/col1/oraboost
filesys show compression /data/col1/oraboost last 1 days

system show performance 30 min
system show performance 12 hour 10 min

ddboost show stats interval 5

system show stats view sysstat interval 2
system show stats view net interval 2
system show stats view iostat 2

rename gridcontrol target name

This is the procedure to rename the target in the grid control:

– Stop the agent on the target host:  $AGENT_HOME/bin/emctl stop agent

– cd $AGENT_HOME/sysman/emd

– cp targets.xml targets.xml.bak

– Edit the file targets.xml and look for this line:

<Target TYPE="rac_database" NAME="XE"> (the name is generally the same as the SID)

– Replace XE for the name you would like to be displayed on the grid control.

– Delete the XE entry in the grid control

– Restart the agent: $AGENT_HOME/bin/emctl start agent

Rename Target in OEM Grid Control Without Removing Target

1. Go to the target machine when you can change the target name


2. Go to agent ORACLE_HOME/sysman/emd directory


3. Find the targets.xml file


4. make a backup of copy of the targets.xml to something like targets.xml.bak

5. Edit the file and search for the target name you want to change and then change the name to the new name you want the target to have.


6. Go to agent ORACLE_HOME/bin directory and run the following


emctl stop agent

emctl clearstate agent

emctl start agent

emctl reload agent

emctl upload agent

PASSWORD CHANGE

  1. 更改10.48.0.193的操作系统密码 root / oracle
  2. 更改10.48.0.193的GridControl 11g OMS的sysman用户密码.

  3. 更改10.48.0.193的Oracle数据库用户sys/system/rman密码
  4. GridControl中更新Recovery catalog setting中的rman密码。

更改10.48.0.193的操作系统密码 root / oracle

使用root用户登录。

# password oracle
# password root

更改10.48.0.193的GridControl 11g OMS的sysman用户密码

# 使用oracle用户SSH登录

cd /opt/oracle/Middleware/oms11g/bin/
./emctl config oms -change_repos_pwd -change_in_db


./emctl stop oms
./emctl start oms

更改10.48.0.193的Oracle数据库sys/system/rman用户密码

$ sqlplus / as sysdba

alter user sys identified by 'NEWPASSWORD';
alter user system identified by 'NEWPASSWORD';
alter user rman identified by 'NEWPASSWORD';

在GridControl中更新Recovery catalog setting中的rman密码

  1. 选择Targets-->Databases-->点击进入需要更改的群集数据库-->选择高可用-->进入Recovery catalog setting中配制更新。

  2. 选择Targets-->Databases-->选择页面底部的Recovery catalogs-->edit catalogs更新密码信息。

désert/workarea/zhjyjyj/Oracle-RAC-Setting (last edited 2018-04-21 11:03:49 by localhost)