oracle RAC安装 保姆级教程

使用SSH+Xmanager

我的本地IP是172.17.68.68

服务器配置

python 复制代码
[root@rac12-1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#Public IP
172.17.212.100 rac12-1
172.17.212.101 rac12-2
#Private IP
1.1.1.1 rac12-1-priv
1.1.1.2 rac12-2-priv
#Vip IP
172.17.212.200 rac12-1-vip
172.17.212.201 rac12-2-vip

#Scan IP
172.17.212.10 rac12-scan

安全限制

python 复制代码
# cat /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock 134217728
oracle soft memlock 134217728

grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384

# cat /etc/pam.d/login
session required pam_limits.so 
session required /lib64/security/pam_limits.so

确认基础配置

python 复制代码
# cat /home/grid/.bash_profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=+ASM2
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysasm'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' 


# cat /home/oracle/.bash_profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.3.0/db
export ORACLE_HOSTNAME=rac12-2
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=rac12-2
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysdba'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
################OracleEnd#########################

确认ASM

python 复制代码
[grid@rac12-1:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac12-1                  STABLE
               ONLINE  ONLINE       rac12-2                  STABLE
ora.chad
               ONLINE  ONLINE       rac12-1                  STABLE
               ONLINE  ONLINE       rac12-2                  STABLE
ora.net1.network
               ONLINE  ONLINE       rac12-1                  STABLE
               ONLINE  ONLINE       rac12-2                  STABLE
ora.ons
               ONLINE  ONLINE       rac12-1                  STABLE
               ONLINE  ONLINE       rac12-2                  STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       rac12-1                  STABLE
      2        ONLINE  ONLINE       rac12-2                  STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac12-1                  STABLE
      2        ONLINE  ONLINE       rac12-2                  STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac12-1                  STABLE
ora.OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       rac12-1                  STABLE
      2        ONLINE  ONLINE       rac12-2                  STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       rac12-1                  Started,STABLE
      2        ONLINE  ONLINE       rac12-2                  Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       rac12-1                  STABLE
      2        ONLINE  ONLINE       rac12-2                  STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rac12-1                  STABLE
ora.qosmserver
      1        ONLINE  ONLINE       rac12-1                  STABLE
ora.rac12-1.vip
      1        ONLINE  ONLINE       rac12-1                  STABLE
ora.rac12-2.vip
      1        ONLINE  ONLINE       rac12-2                  STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac12-1                  STABLE
--------------------------------------------------------------------------------

开始安装oracle

python 复制代码
[root@rac12-1 ~]# su - oracle
Last login: Wed Jun 12 19:21:03 CST 2024 on pts/0
[oracle@rac12-1:/home/oracle]$ source ~/.bash_profile
[oracle@rac12-1:/home/oracle]$ cd $ORACLE_HOME
[oracle@rac12-1:/u01/app/oracle/product/19.3.0/db]$ ./runInstaller
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.

No X11 DISPLAY variable was set, but this program performed an operation which requires it.
[oracle@rac12-1:/u01/app/oracle/product/19.3.0/db]$ export DISPLAY=172.17.68.68:0.0
[oracle@rac12-1:/u01/app/oracle/product/19.3.0/db]$ ./runInstaller
Launching Oracle Database Setup Wizard...

选择仅安装软件

选择集群模式




注意在第二节点上要建立目录

python 复制代码
[root@rac12-2 app]# mkdir -p /u01/app/oracle/product/19.3.0/db
[root@rac12-2 app]# chown -R oracle:oinstall /u01/app/oracle





弹出这框来千万不能点OK!!!

两个结点依序使用root执行命令

/u01/app/oracle/product/19.3.0/db/root.sh

python 复制代码
[root@rac12-1 ~]# /u01/app/oracle/product/19.3.0/db/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19.3.0/db

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
[root@rac12-1 ~]#

两节点都执行完成后再点OK

检查

python 复制代码
[oracle@rac12-1:/u01/app/oracle/product/19.3.0/db]$ sqlplus -version

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

创建数据库实例

python 复制代码
[oracle@rac12-1:/u01/app/oracle/product/19.3.0/db]$ dbca




默认会添加1与2

所以只写到sqwh0

这里不启用cdb与pdb模式

不开闪回,不开归档,建完实例后再配置

调整内存使用到80%左右

按需调整Processes

字元集可不动, 默认大字元集满足使用

取消第二个, 只勾第一个

填写密码


全部忽略, 理由同上






登录数据库查看

由于前期规划想让SID叫做rac12-1与rac12-2

但是过程中SID不能包含-

所以我们要修改环境变量

export ORACLE_SID=sqwh01

python 复制代码
[oracle@rac12-1:/u01/app/oracle/product/19.3.0/db]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 13 09:51:56 2024
Version 19.3.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select instance_number,instance_name,startup_time,status from gv$Instance;

INSTANCE_NUMBER INSTANCE_NAME    STARTUP_TIME       STATUS
--------------- ---------------- ------------------ ------------
              1 sqwh01           13-JUN-24          OPEN
              2 sqwh02           13-JUN-24          OPEN

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
相关推荐
2601_962218613 小时前
万象生鲜系统业财一体化底层打通技术自动生成经营账单
大数据·数据库·人工智能·python·算法
李高钢4 小时前
Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务
数据库·python·fastapi
yuzhiboyouye5 小时前
那xml对应的sql语法,列举一下
xml·数据库·sql
. . . . .6 小时前
乐观锁 vs 悲观锁
数据库·sql
Leo.yuan6 小时前
2026年多数据库实时同步的四种架构方案及工具推荐
数据库·架构
hasty6 小时前
Origin 校验不是身份认证:MySQL MCP Server 漏洞给 AI 平台的警告
数据库·mysql·安全
梦想平凡7 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
凤山老林7 小时前
Spring Boot 整合 Flowable 的企业级落地指南
数据库·spring boot·后端·flowable·工作流
企业数字化笔记7 小时前
AI写的系统出现504怎么办?接口超时和数据库慢查询排查
数据库·后端
2601_962218618 小时前
万象生鲜系统订单全生命周期状态同步技术实现业务可视
大数据·数据库·人工智能·python·算法