Contents
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来使之生效.
登录信息
注:
- "$ " 代表oracle用户环境
- "# " 代表root用户环境。
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)
- 使用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
注册数据库到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,以下为推荐的计算公式:
- (control_file_record_keep_time = retention period + level 0 backup interval + 1)
(假设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 (每个节点)
- 注. 'hostnames web-db1 web-db2' 要改为对应的主机名字。
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;
}- 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)';
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
- 1
#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- 2
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
- 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.rcv
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;- incre1-backup.rcv
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
- 更改10.48.0.193的操作系统密码 root / oracle
更改10.48.0.193的GridControl 11g OMS的sysman用户密码.
- 更改10.48.0.193的Oracle数据库用户sys/system/rman密码
在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密码
选择Targets-->Databases-->点击进入需要更改的群集数据库-->选择高可用-->进入Recovery catalog setting中配制更新。
选择Targets-->Databases-->选择页面底部的Recovery catalogs-->edit catalogs更新密码信息。
