如果没有,需要用grid用户在$ORACLE_HOME/network/admin/listener.ora文件中添加静态注册,然后reload listener(双节点):
[grid@rac1 ~]$ vi listener.ora
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))
# line added by Agent
LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON
# line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON
# line added by Agent
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = +ASM)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = +ASM1)
)
)
[oracle@rac1 admin]$ cat tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
tnsdg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dg)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ASM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = +ASM)
(SID_NAME = +ASM1)
)
)
sqlplus sys/woailyoo@ASM as sysasm
select instance_name from v$instance;
从Oracle11.2开始,ASM不仅是一个磁盘组,他还提供了了一个卷管理器,称为ADVM(asm dynamic volume manager)。ADVM向用户提供卷管理服务,并提供标准的磁盘设备驱动程序。利用ADVM,可以在卷组中创建一个或多个卷,每个卷对应操作系统中的一个设备文件,这些卷是可以动态扩展的,就像操作系统中的卷或者利用第三方软件创建的卷一样,应用程序也可以对ADVM卷中的数据进行读写操作。
在ADVM卷中可以创建ACFS文件系统,ACFS是一种跨平台的、可扩展的集群文件系统,多个节点可以同时访问asfs中的文件。ACFS不仅可以作为oracle数据库软件的安装路径,还可以用来存储数据库中的警告文件和跟踪文件,还可以存储诸如视频、声音、图像、文本等类型的文件。
ACFS-9459: ADVM/ACFS is not supported on this OS version: 'centos-release-7-6.1810.2.el7.centos.x86_64'
添加 ($release =~ /^centos-release/) || # CentOS hack
ACFS-9129: ADVM/ACFS not installed
[root@rac2 bin]# acfsutil registry -a -f /dev/asm/acfsload-503 /acfsload-503
acfsutil registry: mount point /acfsload-503 successfully added to Oracle Registry
[root@rac2 bin]# mount.acfs -o all
[root@rac2 bin]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 32G 19G 64% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 6.0G 1.3G 4.8G 21% /dev/shm
tmpfs 3.9G 13M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 166M 849M 17% /boot
/dev/mapper/centos-home 42G 46M 42G 1% /home
tmpfs 797M 4.0K 797M 1% /run/user/42
tmpfs 797M 28K 797M 1% /run/user/1001
/dev/asm/acfsload-503 5.0G 495M 4.6G 10% /acfsload-503
[root@rac2 bin]#
[root@rac2 bin]# chown -R oracle:oinstall /acfsload-503
跟RAC安装类似,这里略过
select log_mode,supplemental_log_data_min,force_logging from v$database;
① 开启最小附加日志
alter database add supplemental log data;
② 开启强制日志
alter database force logging;
su - oracle
cd $OGG_HOME
./ggsci
create subdirs
edit params mgr
PORT 7809
DYNAMICPORTLIST 7840-7939
--AUTOSTART ER *
--AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
start mgr
CREATE USER goldengate IDENTIFIED BY goldengate ;
GRANT CONNECT TO goldengate;
GRANT ALTER ANY TABLE TO goldengate;
GRANT ALTER SESSION TO goldengate;
GRANT CREATE SESSION TO goldengate;
GRANT FLASHBACK ANY TABLE TO goldengate;
GRANT SELECT ANY DICTIONARY TO goldengate;
GRANT SELECT ANY TABLE TO goldengate;
GRANT RESOURCE TO goldengate;
GRANT drop ANY TABLE TO goldengate;
grant create any table to goldengate;
grant insert any table to goldengate;
grant update any table to goldengate;
grant delete any table to goldengate;
grant select any transaction to goldengate;
BEGIN
dbms_goldengate_auth.grant_admin_privilege(grantee => 'goldengate',
privilege_type => 'CAPTURE',grant_select_privileges => TRUE,do_grants => TRUE);
END;
/
alter system set enable_goldengate_replication=true scope=both;
ggsci > dblogin userid goldengate password goldengate
ggsci> add trandata WOAILYOO.OGG_TEST
ggsci> eidt params defgen
userid goldengate,password goldengate
defsfile ./dirdef/sql.def
table WOAILYOO.OGG_TEST;
cd $OGG_HOME
./defgen paramfile dirprm/ defgen.prm
select log_mode,supplemental_log_data_min,force_logging from v$database;
show parameter enable_goldengate_replication;
select * from v$tempfile;
①开启最小附加日志
alter database add supplemental log data;
②开启强制日志
alter database force logging;
③启用enable_goldengate_replication
alter system set enable_goldengate_replication=true scope=both;
④创建本地临时文件
alter tablespace temp add tempfile '/u01/app/oracle/oradata/dg/ogg_temp01.dbf' size 100M reuse autoextend on next 50M maxsize 20G;
edit params mgr
PORT 7809
DYNAMICPORTLIST 7840-7939
--AUTOSTART ER *
--AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
GGSCI>add extract extpdb , tranlog,begin now, threads 2
GGSCI> add exttrail ./dirdat/pd, extract extpdb, megabytes 200
edit params extpdb
EXTRACT extpdb
setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_SID=dg)
userid goldengate,password goldengate
tranlogoptions DBLOGREADER
REPORTCOUNT EVERY 1 MINUTES, RATE
WARNLONGTRANS 2h,CHECKINTERVAL 600s
FETCHOPTIONS NOUSESNAPSHOT
DISCARDFILE ./dirrpt/extpd.dsc,APPEND,MEGABYTES 1024
EXTTRAIL ./dirdat/pd
DBOPTIONS ALLOWUNUSEDCOLUMN
TRANLOGOPTIONS MINEFROMACTIVEDG
TRANLOGOPTIONS ALTARCHIVEDLOGFORMAT %t_%s_%r.arc
TRANLOGOPTIONS ALTARCHIVELOGDEST /u01/arch
STATOPTIONS REPORTFETCH
table WOAILYOO.OGG;
GGSCI> add extract dpepdb, exttrailsource ./dirdat/pd
GGSCI>add RMTTRAIL ./dirdat/pd, EXTRACT dpepdb, MEGABYTES 200
EXTRACT dpepdb
PASSTHRU
RMTHOST 192.168.247.16, MGRPORT 7809, compress
RMTTRAIL ./dirdat/pd
table WOAILYOO.OGG;
aaa
ORA-16000: database or pluggable database open for read-only access
OGG-00706 Failed to add supplemental log group on table WOAILYOO.OGG due to ORA-16000: database or pluggable database open for read-only access
可以看到虽然DG库是单实例的,但依然继承群集的架构(双节点)
未完成,明日再写。