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% 已完成