腾讯云搭建oracle11G rac集群环境笔记

云环境准备

博客参考:

https://cloud.tencent.com/developer/article/2192961

 

需要申请私网ip和集群ip,和共享云硬盘。

 

数据库安装包下载

链接: https://pan.baidu.com/s/1EQuUHNBMn2Kd-3CS6CYpoQ

提取码: xtgp

 

网络配置

 

127.0.0.1 localhost.localdomain localhost

10.0.0.2   vmrac01

10.0.0.4   vmrac02

10.0.0.3   rac1-vip
10.0.0.5   rac2-vip

10.0.1.4   rac1-priv
10.0.1.2   rac2-priv

10.0.0.14  rac-scan
10.0.0.14  rac-scan.localdomain

  

磁盘规划

200G 磁盘规划ocr和数据(较大浪费,客户要求大一点,就设置默认了),2TB,用于存储数据,单盘即可,云环境底层有备份

 

[grid@vmrac01 ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 23 15:15:49 2025

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL> set lines 200
SQL> SELECT name, state, type, total_mb, free_mb, usable_file_mb FROM v$asm_diskgroup;

NAME                           STATE       TYPE     TOTAL_MB    FREE_MB USABLE_FILE_MB
------------------------------ ----------- ------ ---------- ---------- --------------
DATA2                          MOUNTED     EXTERN    2097152    2075328        2075328
DATA                           MOUNTED     EXTERN     204800     204403         204403

SQL> column path format a30
SQL> SELECT name, path, header_status FROM v$asm_disk;

NAME PATH HEADER_STATU
------------------------------ ------------------------------ ------------
DATA_0000 /dev/raw/raw1 MEMBER
DATA2_0000 /dev/raw/raw2 MEMBER

SQL>

  

 

安装文档

 

参考我的另一篇博客

https://www.cnblogs.com/wenxiao1-2-3-4/p/13306296.html

 

 

查看集群资源

 

[grid@vmrac01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       vmrac01
               ONLINE  ONLINE       vmrac02
ora.DATA2.dg
               ONLINE  ONLINE       vmrac01
               ONLINE  ONLINE       vmrac02
ora.LISTENER.lsnr
               ONLINE  ONLINE       vmrac01
               ONLINE  ONLINE       vmrac02
ora.asm
               ONLINE  ONLINE       vmrac01                  Started
               ONLINE  ONLINE       vmrac02                  Started
ora.gsd
               OFFLINE OFFLINE      vmrac01
               OFFLINE OFFLINE      vmrac02
ora.net1.network
               ONLINE  ONLINE       vmrac01
               ONLINE  ONLINE       vmrac02
ora.ons
               ONLINE  ONLINE       vmrac01
               ONLINE  ONLINE       vmrac02
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       vmrac01
ora.cvu
      1        ONLINE  ONLINE       vmrac02
ora.oc4j
      1        ONLINE  ONLINE       vmrac02
ora.orcl.db
      1        OFFLINE OFFLINE                               Instance Shutdown
      2        ONLINE  ONLINE       vmrac01                  Open
ora.scan1.vip
      1        ONLINE  ONLINE       vmrac01
ora.vmrac01.vip
      1        ONLINE  ONLINE       vmrac01
ora.vmrac02.vip
      1        ONLINE  ONLINE       vmrac02
[grid@vmrac01 ~]$

 

查看数据库实例

[oracle@vmrac01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 23 15:11:21 2025

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>
SQL>
SQL> column host_name format a10
SQL> select host_name ,instance_name,status,database_status from gv$instance;

HOST_NAME  INSTANCE_NAME    STATUS       DATABASE_STATUS
---------- ---------------- ------------ -----------------
vmrac01    orcl1            OPEN         ACTIVE
vmrac02    orcl2            OPEN         ACTIVE

SQL>

  

srvctl管理查看数据库

[grid@vmrac01 ~]$  srvctl status instance  -d orcl -i orcl1,orcl2
Instance orcl1 is running on node vmrac01
Instance orcl2 is not running on node vmrac02
[grid@vmrac01 ~]$  srvctl status asm -a
ASM is running on vmrac02,vmrac01
ASM is enabled.
[grid@vmrac01 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node vmrac01
Instance orcl2 is not running on node vmrac02
[grid@vmrac01 ~]$ srvctl status diskgroup -g DATA
Disk Group DATA is running on vmrac02,vmrac01
[grid@vmrac01 ~]$ srvctl status diskgroup -g DATA2
Disk Group DATA2 is running on vmrac02,vmrac01
[grid@vmrac01 ~]$ srvctl status scan_listener -i 1 -v
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node vmrac01
[grid@vmrac01 ~]$

  

 

集群169网段无法联通的问题

由于云环境,网络169不通,会导致两个节点无法同时启动,根本原因为169段ip无法通信导致

 

asm 和oracle实例两个无法同时启动的问题

asm实例 修改 Cluster Interconnect 配置

[grid@vmrac01 ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 23 14:58:12 2025

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL> desc gv$cluster_interconnects
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 INST_ID                                            NUMBER
 NAME                                               VARCHAR2(15)
 IP_ADDRESS                                         VARCHAR2(16)
 IS_PUBLIC                                          VARCHAR2(3)
 SOURCE                                             VARCHAR2(31)

SQL> select * from gv$cluster_interconnects;

   INST_ID NAME            IP_ADDRESS       IS_ SOURCE
---------- --------------- ---------------- --- -------------------------------
         1 eth1            10.0.1.4         NO  cluster_interconnects parameter
         2 eth1            10.0.1.2         NO  cluster_interconnects parameter

SQL>

 

如何有169之类的ip,修改成心跳ip即可,重新启动asm实例,不再报错

 

oracle实例 修改数据库 Cluster Interconnect 配置

-- 查看当前 cluster interconnects
SHOW PARAMETER cluster_interconnects;

-- 修改为新的 IP
ALTER SYSTEM SET cluster_interconnects='10.0.1.4' SID='orcl1';
ALTER SYSTEM SET cluster_interconnects='10.0.1.2' SID='orcl2';

 

如何有169之类的ip,修改成心跳ip即可,重新启动数据库实例,不再报错

 

客户端验无法使用公网IP链接oracle

[oracle@vmrac01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 23 14:48:01 2025

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>
SQL>
SQL> show parameter local_listener;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.2)(PORT=1521))
SQL> show parameter remote_listener;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_listener                      string      rac-scan:1521
SQL>

  

执行sql,改成你的公网ip即可

ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=你的公网ip)(PORT=1521))' SID='orcl1' SCOPE=BOTH;
ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=你的公网ip)(PORT=1521))' SID='orcl2' SCOPE=BOTH;

 

查看监听配置

 

[grid@vmrac01 ~]$ srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
[grid@vmrac01 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node vmrac01
[grid@vmrac01 ~]$ srvctl config listener
Name: LISTENER
Network: 1, Owner: grid
Home: <CRS home>
End points: TCP:1521
[grid@vmrac01 ~]$ srvctl status  listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): vmrac02,vmrac01
[grid@vmrac01 ~]$ lsnrctl status LISTENER

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2025 14:40:07

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                23-DEC-2025 11:12:08
Uptime                    0 days 3 hr. 27 min. 59 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/vmrac01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.2)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.3)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
The command completed successfully
[grid@vmrac01 ~]$ lsnrctl status LISTENER_SCAN1

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2025 14:40:12

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_SCAN1
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                23-DEC-2025 11:10:26
Uptime                    0 days 3 hr. 29 min. 46 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/vmrac01/listener_scan1/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.14)(PORT=1521)))
Services Summary...
Service "orcl" has 2 instance(s).
  Instance "orcl1", status READY, has 2 handler(s) for this service...
  Instance "orcl2", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 2 instance(s).
  Instance "orcl1", status READY, has 1 handler(s) for this service...
  Instance "orcl2", status READY, has 1 handler(s) for this service...
The command completed successfully
[grid@vmrac01 ~]$

 

SQL 查看 Listener 参数

-- 查看 Listener 配置参数
show parameter listener;

  

[oracle@vmrac01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 23 14:48:01 2025

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>
SQL>
SQL> show parameter local_listener;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (ADDRESS=(PROTOCOL=TCP)(HOST=10.10.0.2)(PORT=1521))
SQL> show parameter remote_listener;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_listener                      string      rac-scan:1521
SQL>

  

 

删除监听 Listener

  删除本地 Listener 配置

srvctl remove listener -l <listener_name>

  删除 SCAN Listener 配置

srvctl remove scan_listener -l <scan_listener_name>

重新创建 Listener

srvctl add listener -l <listener_name> -p <port> -n <节点1,节点2,...>

创建 SCAN Listener

srvctl add scan_listener -l <scan_listener_name>

 

监听配置文件如下:

LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))))                # line added by Agent
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))            # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON                # line added by Agent

  

 

posted @ 2025-12-23 15:24  IT杂物铺  阅读(4)  评论(0)    收藏  举报