Oracle集群 & Grid(rac)配置,反推创建过程(重要)。

目前机器上,oracle都是安装好的,那么我们怎么知道,之前的安装过程大概是什么样子呢?

大致安装oracle集群的内容:
一、准备和配置:
1、网卡
2、ip资源
3、scanip
4、hosts
5、dns配置
6、准备rac节点,配置节点要互通
首先要保证网络的正常

二、创建用户(grid和oracle用户)
1、配置系统内核参数
2、配置这两个用户的环境变量
三、配置ASM磁盘
1、fdisk 格式化磁盘
2、oracleasm
3、udev配置磁盘

三、安装相关依赖软件包

四、安装grid(rac)
1、[oracle@shdb02 grid]$su - grid  
   [oracle@shdb02 grid]$cd /orasoft/ora11g/grid
   [oracle@shdb02 grid]$./runinstaller
2、配置scan
3、配置hosts
4、利用asmca静默方式或图形方式配置磁盘组
5、安装集群管理工具
五、安装Oracle软件
1、用DBCA创建数据库或静默方式(即命令行下安装)

查看当前linux的模式,命令 runlevel

  [oracle@shdb02 grid]$ runlevel
  N 3

  直接输入init + 你想要的模式 即可切换模式。 
  比如输入: init 0 就是关机 
  init 3 就是切换到多用户-命令行模式 
  init 5 就是切换到图形化界面 
  init 6 就是重启

1、关于创建用户

1、oinstall -G dba oracle 什么意思?
-g是组,-G是其他组,最后是用户名-g 表示为用户指定一个主group
-G 表示为用户指定一个group
//这样oracle既属于oinstall组也属于dba组。平时主要是oinstall组发生作用。
//创建一个用户组oinstall:
[root@shdb02 ~]# groupadd oinstall
//创建一个用户组dba:
[root@shdb02 ~]# groupadd dba
//创建一个用户主目录/u01/app/oracle:
[root@shdb02 ~]# mkdir -p /u01/app/oracle
//创建用户oracle 到主组oinstall,副组dba,主目录/u01//oracle:
[root@shdb02 ~]# useradd -g oinstall -G dba -d /u01/app/oracle oracle
//如果oracle用户已经存在则:
[root@shdb02 ~]# usermod -g oinstall -G dba -d /u01/app/oracle oracle
//查看用户oracle的添加情况
[grid@shdb02 app]$ id oracle
uid=1100(oracle) gid=1100(oinstall) groups=1100(oinstall),1101(dba),1102(oper),1201(asmdba)
//查看oracle所属的组:
  [grid@shdb02 app]$ groups oracle
  oracle : oinstall dba oper asmdba
  [grid@shdb02 app]$ ll -l /u01/app/
  total 16
  drwxr-xr-x 3 root oinstall 4096 May 10 2018 11.2.0
  drwxr-xr-x 7 grid oinstall 4096 Apr 3 2020 grid
  drwxr-xr-x 6 oracle oinstall 4096 Apr 28 2019 oracle
  drwxrwx--- 5 grid oinstall 4096 May 10 2018 oraInventory

2、Oracle install
为什么需要oinstall ,dba 两个组,一个是控制软件安装,补丁安装等的;另一个是控制数据库创建,数据库管理等的。
你可以将两个权限都授权给dba组,只创建dba一个组就可以了。角色细化而已,另外oracle还要求redo日志、控制文件分不同盘放,数据安全要求而已
3、如果安装单实例,创建一个oracle 用户就可以了
  如果是安装RAC,则需要在创建一个集群的用户,在安装grid
4、如果将grid 和 oracle 用同一个用户来安装,那么必须改变ORACLE_HOME变量的值。
  这里用grid用户创建磁盘组,管理asm,oracle建库即可

2、创建用户及安装目录

//建组
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1020 asmadmin
/usr/sbin/groupadd -g 1021 asmdba
/usr/sbin/groupadd -g 1022 asmoper
/usr/sbin/groupadd -g 1031 dba
/usr/sbin/groupadd -g 1032 oper
//用户
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,grid
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
//建目录
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir    /u01/app/oracle
//创建所属组权限
chown
-R grid:oinstall /u01 chown oracle:oinstall /u01/app/oracle chmod -R 775 /u01/

3、/etc/group,查看已安装系统的用户组情况

[oracle@shdb02 app]$ cat /etc/group
oinstall:x:1100:grid
asmadmin:x:1200:grid
dba:x:1101:oracle,grid
oper:x:1102:oracle
asmdba:x:1201:grid,oracle
asmoper:x:1202:grid

  。。。。

4、/etc/passwd,查看已安装的用户情况

[oracle@shdb02 app]$ cat /etc/group
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
grid:x:1200:1100::/home/grid:/bin/bash
oracle:x:1100:1100::/home/oracle:/bin/bash
。。。。

5、查看/app目录即已安装的安装目录的一些信息

[root@shdb02 ~]# su - oracle
[oracle@shdb02 ~]$ cd /u01/app/
[oracle@shdb02 app]$ ll
total 16
drwxr-xr-x 3 root   oinstall 4096 May 10  2018 11.2.0
drwxr-xr-x 7 grid   oinstall 4096 Apr  3  2020 grid
drwxr-xr-x 6 oracle oinstall 4096 Apr 28  2019 oracle
drwxrwx--- 5 grid   oinstall 4096 May 10  2018 oraInventory

6、 给oracle用户和grid用户配置环境变量

1、oracle用户,配置oracle的环境变量
[root@shdb02 ~]# su - oracle
[oracle@shdb02 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ht2
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export PATH=$PATH:$ORACLE_HOME/bin
umask 022

2、grid用户,配置GRID的环境变量
[root@shb02 ~]# su - grid
[grid@shdb02 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
ORACLE_SID=+ASM2; export ORACLE_SID
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
PATH=${PATH}:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"

 通过命令查看grid和oracle用户相关环境变量

//grid用户
[root@shdb02 app]# su - grid
[grid@shdb02 app]$ echo $ORACLE_HOME
/u01/app/11.2.0/grid
[grid@shdb02 app]$ echo $ORACLE_BASE
/u01/app/grid
//oracle用户
[root@shdb02 app]# su - oracle
[oracle@shdb02 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/db_1
[oracle@shdb02 ~]$ echo $ORACLE_BASE
/u01/app/oracle


oracle的三个安装包的情况:

/orasoft/ora11g
[root@shdb02 ora11g]# ll
total 3664216
-rwxrwxrwx 1 grid oinstall 1395582860 Dec 26  2015 p13390677_112040_Linux-x86-64_1of7.zip
-rwxrwxrwx 1 grid oinstall 1151304589 Dec 26  2015 p13390677_112040_Linux-x86-64_2of7.zip
-rwxrwxrwx 1 grid oinstall 1205251894 Dec 26  2015 p13390677_112040_Linux-x86-64_3of7.zip

[root@shdb02 ora11g]# du -sh
3.5G

1、p13390677_112040_Linux-x86-64_1of7.zip解压,大部分都在这里

[oracle@shdb02 database]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@shdb02 database]$ cd database

total 60
drwxr-xr-x 4 oracle oinstall 4096 Aug 27 2013 install
-rw-r--r-- 1 oracle oinstall 30016 Aug 27 2013 readme.html
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 response
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 rpm
-rwxr-xr-x 1 oracle oinstall 3267 Aug 27 2013 runInstaller  //安装文件
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 sshsetup
drwxr-xr-x 14 oracle oinstall 4096 Aug 27 2013 stage

2、p13390677_112040_Linux-x86-64_2of7.zip ,大部分是解压到stage下的Components
3、p13390677_112040_Linux-x86-64_3of7.zip, 这个里面是grid内容,解压后会生成单独一个目录

drwxr-xr-x 7 oracle oinstall 4096 Aug 27 2013     database
drwxr-xr-x 7 root root 4096 Aug 27 2013           grid
-rwxrwxrwx 1 grid oinstall 1395582860 Dec 26 2015 p13390677_112040_Linux-x86-64_1of7.zip
-rwxrwxrwx 1 grid oinstall 1151304589 Dec 26 2015 p13390677_112040_Linux-x86-64_2of7.zip
-rwxrwxrwx 1 grid oinstall 1205251894 Dec 26 2015 p13390677_112040_Linux-x86-64_3of7.zip

grid内的一些重要内容

/orasoft/ora11g/grid/stage/cvu/cv/remenv/cvuqdisk-1.0.9-1.rpm
/orasoft/ora11g/grid/rpm/cvuqdisk-1.0.9-1.rpm

[oracle@sh02 grid]$ ll
total 68
drwxr-xr-x 4 root root 4096 Aug 26 2013 install
-rw-r--r-- 1 root root 30016 Aug 27 2013 readme.html
drwxr-xr-x 2 root root 4096 Aug 26 2013 response
drwxr-xr-x 2 root root 4096 Aug 26 2013 rpm
-rwxr-xr-x 1 root root 4878 Aug 26 2013 runcluvfy.sh
-rwxr-xr-x 1 root root 3268 Aug 26 2013 runInstaller
drwxr-xr-x 2 root root 4096 Aug 26 2013 sshsetup
drwxr-xr-x 14 root root 4096 Aug 26 2013 stage
-rw-r--r-- 1 root root 500 Aug 27 2013 welcome.html

 

内核配置

[root@shdb02 ora11g]# cat /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmax = 4398046511104
kernel.shmall = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
vm.nr_hugepages = 66696

 
安装过程猜想

一、实际安装步骤1,修改配置

[oracle@sh02 ora11g]$ cd database/response/

[oracle@shdb02 response]$ ll
total 80

//安装应答配置文件
-rw-r--r-- 1 oracle oinstall 25116 Aug 27 2013 db_install.rsp
//创建数据库应答

-rwxr-xr-x 1 oracle oinstall 44533 Aug 27 2013 dbca.rsp

//建立监听、本地服务名等网络设置应答

-rwxr-xr-x 1 oracle oinstall 5871 Aug 27 2013 netca.rsp

修改配置文件db_install.rsp,并安装
下面把主要修改的地方贴出来,具体详细文件
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=shdb02
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
#oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/recovery_data
DECLINE_SECURITY_UPDATES=true //一定要设为true

实际步骤2:初始化安装 

登录oracle用户,执行安装
[oracle@shdb02 database]$ cd /orasoft/ora11g/database
[oracle@shdb02 database]$./runInstaller-silent -responseFile 
[oracle@shdb02 database]$/orasoft/ora11g/database/response/db_install.rsp
//安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
//打开另一个终端,执行命令
#tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log
//可以实时跟踪查看安装日志,了解安装的进度。
//当出现
以下配置脚本需要以 "root" 用户的身份执行。
#!/bin/sh
#要运行的 Root 脚本
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口
2. 以 "root" 身份登录
3. 运行脚本
4. 返回此窗口并按 "Enter" 键继续
Successfully Setup Software.
//出现这个的话,说明已安装成功,则需要按提示操作,操作完返回Enter成功

 

 实际步骤3,配置监听

配置监听配置文件模板/orasoft/ora11g/database/response/netca.rsp
1、/orasoft/ora11g/database  //安装文件放置目录
2、/u01/app/oracle/product/11.2.0/db_1 //oracle主目录
[oracle@shdb02 bin]$ /u01/app/oracle/product/11.2.0/db_1/bin/netca -silent -responsefile /orasoft/ora11g/database/response/netca.rsp
正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /orasoft/ora11g/database/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/u01/app/oracle/product/11.2.0/db_1/bin
/lsnrctl start LISTENER 监听程序控制完成。 监听程序已成功启动。 监听程序配置完成。 成功完成 Oracle Net Services 配置 //成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。 //完成后通过命令“netstat -tlnp”可以查看到1521端口已开 tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr

 4、安装新库

修改配置文件 /orasoft/ora11g/database/response/dbca.rsp #静默建立新库模板
RESPONSEFILE_VERSION = "11.2.0" //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "fp" //全局数据库的名字=SID+主机域名
SID = "fp1"    //对应的实例名字
TEMPLATENAME = "General_Purpose.dbc"                  //建库用的模板文件
DATAFILEDESTINATION = /u01/app/oracle/oradata         //数据文件存放目录
RECOVERYAREADESTINATION=/u01/app/oracle/recovery_data //恢复数据存放目录
CHARACTERSET = "AL32UTF8"                             //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。(ZHS16GBK)
TOTALMEMORY = "5120" //oracle内存5120MB
10.配置完之后,执行命令
 /u01/app/oracle/product/11.2.0/db_1/dbca -silent -responseFile /orasoft/ora11g/database/response/dbca.rsp1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100% 已完成
 

  

posted @ 2022-03-14 16:02  jinzi  阅读(1807)  评论(0编辑  收藏  举报