利用OGG搭建灾备环境保姆级操作步骤

系统灾备环境搭建,使用OGG同步数据,包括:nfs共享磁盘、acfs新增卷组、ogg目录创建、ogg安装、ogg搭建、数据导出、导入等。

一、工作内容

1.使用NFS共享一块存储,用于生产环境与灾备环境之间,数据泵导出的dump文件存放;

#生产环境新建OGG软件,灾备环境新增OGG软件,用于数据同步,OGG软件使用Oracle GoldenGate 11.2.1.0.3 for Linux x86-64版本;

2.OGG源端,ARCH ASM磁盘组添加2块ASM存储1T空间,使用Oracle acfs逻辑卷方式创建卷组,创建新的挂载点用于挂载ogg目录,及存储Ogg trail文件;

#OGG目标端,存在/ogg 500G目录空间

二、NFS存储配置

1、备用系统数据库操作:

(1)查看新分配的磁盘

upadmin show vlun

(2)新建nfs并赋权挂载点并挂载

mkdir /nfs

chmod 777 /nfs

mount -t ext4 /dev/sdp /nfs

(3)启动nfs相关服务

service rpcbind start

service nfs start

2、生产环境数据库操作:

(1)新建目录并挂载

mkdir /nfs

mount -t nfs -o port=12049 192.168.216.16:/nfs /nfs

以上即可,如果仍然有问题,可尝试使用下面参数

mount -t nfs -o port=12049 rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp 192.168.216.1:/nfs /nfs

(2)如有问题,可umount

umount -lf /nfs

(3)生产环境创建directory目录,用户导出数据

cd /nfs

mkdir dump

sqlplus / as sysdba

create directory bydump as '/nfs/dump';

grant read,write on directory bydump to public;

(4)应急环境创建directory目录,用户导入数据

备用环境数据库操作:

mkdir /nfs/dump

create directory bydump as '/nfs/dump';

grant read,write on directory bydump to public;

三、使用oracle acfs技术创建卷组并挂载

1、操作前查询

# oracleasm listdisks

查看asm磁盘

SQL>select group_number,name,TOTAL_MB, FREE_MB from v$asm_diskgroup;

2、添加磁盘

(1)节点1对磁盘进行分区

# fdisk /dev/sdd

n

p

1

default

default

w

(2)创建ASM磁盘

# /etc/init.d/oracleasm createdisk arch2 /dev/sdd1 

# /etc/init.d/oracleasm listdisks

# /etc/init.d/oracleasm scandisks

(3)另一个节点同步磁盘信息

#ll /dev/sd*

#partprobe sd*

(4)另一个节点磁盘确认

#/etc/init.d/oracleasm scandisks

#/etc/init.d/oracleasm listdisks

(5)检查磁盘组的情况

SQL>alter diskgroup arch check norepair;

--添加ARCH磁盘之前,进行检测,观察ASM ALERT日志no errors!

SUCCESS: check of diskgroup ARCH found no errors

SUCCESS: alter diskgroup arch check norepair

----

(6)arch磁盘组新增磁盘

$sqlplus / as sysasm

SQL>

alter diskgroup ARCH add disk '/dev/oracleasm/disks/ARCH2' rebalance power 0;

alter diskgroup ARCH add disk '/dev/oracleasm/disks/ARCH2' rebalance power 0;

alter diskgroup ARCH rebalance power 11; 

(7)查询验证

ASMCMD> lsdg

检查确认

查询asm_alert日志;

查询db_alert日志;

SQL> select group_number,disk_number,library,name,path from v$asm_disk where PATH like '/dev/oracleasm/disks/arch%' order by PATH desc; 

SQL> select group_number,name,total_mb/1024 TOTAL_GB,free_mb/1024 FREE_GB,free_mb/total_mb*100 free_percent,state,TYPE from v$ASM_DISKGROUP;

(8)创建acfs卷组

[grid@nfgw2 ~]$ crs_stat -t -v ora.registry.acfs  

Name           Type           R/RA   F/FT   Target    State     Host        

----------------------------------------------------------------------

ora....ry.acfs ora....fs.type 0/5    0/     ONLINE    ONLINE    nfgw1  

ASMCMD> volcreate -G ARCH -s 500g v01

SQL> select VOLUME_NAME,SIZE_MB,REDUNDANCY,STATE,VOLUME_DEVICE from v$asm_volume;

ASMCMD> volinfo -G ARCH v01

Diskgroup Name: ARCH

         Volume Name: V01

         Volume Device: /dev/asm/v01-317

         State: ENABLED

         Size ('MB): 2048

         Resize Unit ('MB): 32

         Redundancy: UNPROT

         Stripe Columns: 4

         Stripe Width ('K): 128

         Usage: 

         Mountpath: 

(9)格式化卷组

[root@nfgw2 ~]# mkfs -t acfs /dev/asm/v01-317

(10)注册acfs并挂盘

[grid@nfgw1 /]$ acfsutil registry -a /dev/asm/v01-317 /ogg

#mount -t acfs /dev/asm/v01-317 /ogg

四、查找存在主键的表和没有主键的表,分别建立ogg通道

1、查找存在主键的表

select a.owner,a.table_name from dba_constraints a where a.constraint_type='P' and a.status='ENABLED' AND  (a.owner,a.table_name)  in (

('OSGPCDB','T_XXX'),

('OSGSFA','TB_XXX'),

2、查找没有主键的表

create table t as 

select owner,table_name from dba_tables where (owner,table_name) in (

('OSGPCDB','T_XXX'),

('OSGSFA','TB_XXX'),

);

select *

  from t

 where (t.owner, t.table_name) not in

       (select a.owner, a.table_name

          from dba_constraints a

         where a.constraint_type = 'P'

           and a.status = 'ENABLED'

           AND (a.owner, a.table_name) in

               (

   ('OSGPCDB','T_XXX'),

('OSGSFA','TB_XXX'),

)

);

drop table t purge;

五、ogg搭建准备

1、检查生产数据库情况

archive log list;

SQL> select supplemental_log_data_min,FORCE_LOGGING from v$database;

SUPPLEME FOR

-------- ---

YES      YES

alter database add supplemental log data ;

SQL> show parameter enable_goldengate_replication

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

enable_goldengate_replication        boolean     TRUE

2、查看ogg需要用的用户和表空间

select username,default_tablespace from dba_users;

3、ogg用户赋权

USERID ogg,PASSWORD osgmc02

grant connect, resource,CREATE SESSION to ogg;

exec dbms_goldengate_auth.grant_admin_privilege('ogg');

exec dbms_goldengate_auth.grant_admin_privilege(grantee=>'ogg');

grant select any dictionary to ogg;

commit;

六、ogg静默安装

1、准备

cd /ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response/

cp oggcore.rsp oggcore-setup.rsp

vim oggcore-12c.rsp

修改这几项

INSTALL_OPTION=ORA12c

SOFTWARE_LOCATION=/u01/app/ogg

START_MANAGER=false

2、安装  

mkdir /u01/app/ogg

chown -R oracle:dba /u01/app/ogg

chown -R oracle:dba /ogg

su - oracle

cd /ogg/fbo_ggs_Linux_x64_shiphome/Disk1

./runInstaller -silent -responseFile /ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore-12c.rsp

3、创建目录

./ggsci

create subdirs

4、创建和配置管理进程

edit params mgr

PORT 27809

DYNAMICPORTLIST 27810-27910

--AUTOSTART ER *

--AUTORESTART EXTRACT *,REtrailES 5,WAITMINUTES 3

PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

SYSLOG ERROR, WARN

5、创建和配置抽取进程

ADD EXTRACT e_bypri1, TRANLOG,BEGIN now,threads 2 —RAC为节点数

ADD EXTTRAIL ./dirdat/bypri1/by, EXTRACT e_bypri1

edit params e_bypri1

EXTRACT e_bypri1

--setenv ('NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8)

USERID ogg,PASSWORD osgmc02

--USERIDALIAS pmsprod

TRANLOGOPTIONS DBLOGREADER 

EXTTRAIL ./dirdat/bypri1/by

DISCARDFILE ./dirrpt/e_bypri1.dsc, APPEND, MEGABYTES 4000

table OSGPC.HX_ELE_AREA;

6、创建和配置抽取进程2

--------------

ADD EXTRACT e_bynpri, TRANLOG,BEGIN now,threads 2 —RAC为节点数

ADD EXTTRAIL ./dirdat/bynpri/by, EXTRACT e_bynpri

EXTRACT e_bynpri

--setenv ('NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8)

USERID ogg,PASSWORD osgmc02

--USERIDALIAS pmsprod

TRANLOGOPTIONS DBLOGREADER 

EXTTRAIL ./dirdat/bynpri/by

DISCARDFILE ./dirrpt/e_bynpri.dsc, APPEND, MEGABYTES 4000

table OSGPC.HX_ELE_AREA;

7、创建和配置投递进程

edit params p_bypri1

extract p_bypri1

passthru

rmthost 192.168.216.1,mgrport 27809,compress

rmttrail ./dirdat/bypri1/by

table OSGPC.HX_ELE_AREA;

add extract p_bypri1,exttrailsource ./dirdat/bypri1/by

add rmttrail ./dirdat/bypri1/by,extract p_bypri1,megabytes 200

8、创建和配置投递进程2

edit params p_bynpri

extract p_bynpri

passthru

rmthost 192.168.216.1,mgrport 27809,compress

rmttrail ./dirdat/bynpri/by

table OSGPC.HX_ELE_AREA;

add extract p_bynpri,exttrailsource ./dirdat/bynpri/by

add rmttrail ./dirdat/bynpri/by,extract p_bynpri,megabytes 200

9、新增tradata

./ggsci

dblogin USERID ogg,PASSWORD osgmc02

add trandata OSGPC.HX_ELE_AREA

10、创建和配置复制进程

(1)新增全局checkpointtable表

edit params ./GLOBALS

CHECKPOINTTABLE ogg.ggchktable

dblogin USERID ogg,PASSWORD osgmc02

add checkpointtable ogg.ggchktable

(2)复制进程参数

edit params r_bypri1

replicat r_bypri1

USERID ogg,PASSWORD osgmc02

discardfile ./dirrpt/r_bypri1.DSC,append,megabytes 1024

discardroolover at 02:30

reperror default,abend

report at 02:01

map SCOTT.*, target SCOTT.*;

(3)复制进程新增

add replicat r_bypri1,exttrail ./dirdat/bypri1/by,checkpointtable ogg.ggchktable

(4)复制2进程参数

edit params r_bynpri

replicat r_bynpri

USERID ogg,PASSWORD osgmc02

discardfile ./dirrpt/r_bynpri.DSC,append,megabytes 1024

discardroolover at 02:50

reperror default,abend

report at 02:11

map SCOTT.*, target SCOTT.*;

(5)复制2新增

add replicat r_bynpri,exttrail ./dirdat/bynpri/by,checkpointtable ogg.ggchktable

七、数据传输

1、表结构导出

create directory bynfgw as '/nfs/dump';

grant read,write on directory bynfgw to public;

expdp \'/as sysdba\'  parfile=zfzx_meta.pra

vi zfzx_meta.pra

directory=bynfgw

dumpfile=zfzx_meta%U.dmp

parallel=8

logfile=zfzx_meta.log

exclude=db_link

CLUSTER=N

filesize=5G

CONTENT=METADATA_ONLY

COMPRESSION=ALL

tables=

2、导入表结构

create user OSGPC identfied by Qwert##741852 default tablespace xxx ;

grant connect,resource to osgpc;

create directory bynfgw as '/nfs/dump';

grant read,write on directory bynfgw to public;

impdp \'/as sysdba \'  directory=bynfgw dumpfile=zfzx_meta%U.dmp 

3、导出数据

SQL> select to_char(current_scn ) from v$database;

TO_CHAR('CURRENT_SCN)

----------------------------------------

19658145443

expdp \'/as sysdba\'  parfile=zfzx_data.pra

vi zfzx_data.pra

directory=bynfgw

dumpfile=zfzx_data%U.dmp

parallel=16

logfile=zfzx_data.log

filesize=5G

FLASHBACK_SCN=19658145443

CONTENT=DATA_ONLY

CLUSTER=N

COMPRESSION=ALL

tables=

impdp \'/as sysdba \'  directory=bynfgw dumpfile=zfzx_data%U.dmp table_exists_action=replace  

4、启动复制进程

start replicat r_bypri1,aftercsn 19658145443

start replicat r_bynpri,aftercsn 19658145443

  • 54
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值