1. 开始正式搭建rac-oracle11g
ドラゴンボールのLong Lv4

oracle11g搭建

1 创建oinstall和dba组,创建oracle用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
groupadd dba
groupadd oinstall
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper

添加grid 用户
useradd -g oinstall -G dba,asmdba,asmadmin,asmoper grid

添加oracle 用户
useradd -g oinstall -G dba,oper,asmdba oracle

修改密码
echo -n oracle|passwd --stdin grid
echo -n oracle|passwd --stdin oracle

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown grid:oinstall /u01/app/11.2.0/grid
chown grid:oinstall /u01/app/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
chown -R grid:oinstall /u01

2. 修改内核参数

vi /etc/sysctl.conf 在文件新增如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sed -i 's/kernel.shmmax/#kernel.shmmax/g' /etc/sysctl.conf
sed -i 's/kernel.shmall/#kernel.shmall/g' /etc/sysctl.conf
#添加内核配置文件信息
cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=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
EOF


sysctl -p #提交内核参数

3.两节点资源限制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
EOF

sysctl -p #提交内核参数

4./etc/profile #root用户的参数文件配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

cat >> /etc/profile << EOF
if [ \$USER = "ORACLE" ]||[ \$USER = "grid" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -p 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
###############################################
export PATH=\$PATH:/u01/app/11.2.0/grid/bin
#color of grep
alias grep='grep --color=auto'
EOF

5.配置用户环境变量(对应用户下执行)

5.1 grid 用户

节点1

1
2
3
4
5
6
7
8
9
10
11
cat >> /home/grid/.bash_profile << EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac1;
export ORACLE_SID=+ASM1;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/11.2.0/grid;
export NLS_DATE_FORMA="yy-mm-dd HH24:MI:SS";
export PATH=\$ORACLE_HOME/bin:\$PATH;
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF

执行变更 source .bash_profile
查看变更 env | grep ORA
节点2

1
2
3
4
5
6
7
8
9
10
11
cat >> /home/grid/.bash_profile << EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac2;
export ORACLE_SID=+ASM2;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/11.2.0/grid;
export NLS_DATE_FORMA="yy-mm-dd HH24:MI:SS";
export PATH=\$ORACLE_HOME/bin:\$PATH;
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF

执行变更 source .bash_profile
查看变更 env | grep ORA

5.2 Oracle用户

节点1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cat >> /home/oracle/.bash_profile << EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac1;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1;
export ORACLE_UNQNAME=prod;
export ORACLE_SID=prod1;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:\$PATH;
export PATH=\$ORACLE_HOME/bin:\$PATH;
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:usr/lib;
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib;
export NLS_DATE_FORMA="yy-mm-dd HH24:MI:SS";
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF

执行变更 source .bash_profile
查看变更 env | grep ORA

节点2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cat >> /home/oracle/.bash_profile << EOF
export TMP=/tmp;
export TMPDIR=\$TMP;
export ORACLE_HOSTNAME=rac2;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1;
export ORACLE_UNQNAME=prod;
export ORACLE_SID=prod2;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:\$PATH;
export PATH=\$ORACLE_HOME/bin:\$PATH;
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:usr/lib;
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib;
export NLS_DATE_FORMA="yy-mm-dd HH24:MI:SS";
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
EOF

执行变更 source .bash_profile
查看变更 env | grep ORA

..bash_profile 或者 source .bash_profile
#环境变量设置生效

6 配置用户等效性(对应用户执行)

Oracle 11g r2 ssh 可以在安装过程中进行配置

6.1 grid 配置用户等效性

mkdir ~/.ssh
chmod 755 ~/.ssh

rac1
ssh-keygen -t rsa
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_rsa.pub rac2
ssh-copy-id -i ~/.ssh/id_dsa.pub rac2
rac2
ssh-keygen -t rsa
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_rsa.pub rac1
ssh-copy-id -i ~/.ssh/id_dsa.pub rac1
#以上用默认配置,一路回车即可
#创建认证文件并将密钥内容填入


touch ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

rac1
cat ~/.ssh/.pub >> ~/.ssh/authorized_keys
rac2
cat ~/.ssh/
.pub >> ~/.ssh/authorized_keys

rac1
ssh grid@rac2 cat ~/.ssh/authorized_keys
rac2
ssh grid@rac1 cat ~/.ssh/authorized_keys

#建立等效性
rac1,rac2 双节点执行
ssh rac1 date
ssh rac1-priv date
ssh rac2 date
ssh rac2-priv date

20220530-1950.png

6.2 oracle 配置用户等效性

rac1
ssh-keygen -t rsa
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_rsa.pub rac2
ssh-copy-id -i ~/.ssh/id_dsa.pub rac2
rac2
ssh-keygen -t rsa
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_rsa.pub rac1
ssh-copy-id -i ~/.ssh/id_dsa.pub rac1
#以上用默认配置,一路回车即可

touch ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

rac1
cat ~/.ssh/.pub >> ~/.ssh/authorized_keys
ssh oracle@rac2 cat ~/.ssh/authorized_keys
rac2
cat ~/.ssh/
.pub >> ~/.ssh/authorized_keys
ssh oracle@rac1 cat ~/.ssh/authorized_keys

#建立等效性
rac1,rac2 双节点执行
ssh rac1 date
ssh rac1-priv date
ssh rac2 date
ssh rac2-priv date

ASM磁盘管理安装rpm包

先用uname -r 或者 uname -a 查看当前的系统环境
比如我目前的系统是redhat6.6,需要安装对应版本的包
下载链接:https://kdy.zhongshenglong.xyz:163/#s/8MP4bqcA

1
2
3
rpm -ivh kmod-oracleasm-2.0.8-4.el6_6.x86_64
rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64
rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64

配置 ASM磁盘

1. 初始化(2个节点都要执行)

1
oracleasm configure -i

Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets (‘[]’). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.

1
2
3
4
5
Default user to own the driver interface []: grid
Default group to own the driver interface []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
1
2
初始化
oracleasm init

磁盘分区(节点1执行即可,2不要执行)

1
2
3
4
5
6
7
8
fdisk -l
ll /dev/sd*
可查看到之前挂载的3个盘
然后执行格式化盘符
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd

创建磁盘(节点1执行)

1
2
3
4
5
6
7
ocr裸盘
oracleasm createdisk OCR_VOTE /dev/sdb1
数据
oracleasm createdisk DATA /dev/sdc1
归档
oracleasm createdisk FRA /dev/sdd1

变更查看 (rac1和rac2两个节点都要执行)

oracleasm scandisks
查看
oracleasm listdisks

20220530-1854.pn
20220530-1853.png

  • 本文标题:1. 开始正式搭建rac-oracle11g
  • 本文作者:ドラゴンボールのLong
  • 创建时间:2021-06-06 20:10:12
  • 本文链接:https://zhongshenglong.xyz/2021/06/06/1-开始正式搭建rac-oracle11g/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论