Oracle DBA-01_Oracle 11G R2 for Solaris 10(Spac)安装实施报告

1 系统环境需求

1.1 安装前的系统环境准备

  • 检查Solaris服务器安装完成并打上最新的补丁集
  • 网络环境连通并调试正常。
  • 磁盘阵列安装完成并按ORACLE系统进行磁盘划分。

1.2 硬件要求

  • 内存:> 2G。
  • SWAP区:2G。通常等于物理内存,最低不少于1G。
  • 硬盘容量:数据库软件 > 4G。数据库 > 2G。
  • /tmp:临时目录空间大于500M。

1.3 软件要求

  • 操作系统及Patches:

Solaris 10补丁

SUNWarc  SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWmfrun SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl SUNWxcu4

2 准备工作

2.1 检查操作系统运行环境

  • 检查是否包含所需Patch。命令:
pkginfo -i SUNWarc  SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWmfrun SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl SUNWxcu4
  • 检查操作系统的版本
# uname -r
  • 检查实际可用内存,命令:
# /usr/sbin/prtconf | grep "Memory size"
  • 检查交换区大小。命令:
# /usr/sbin/swap -s
  • 检查文件系统可用空间和临时目录/tmp可用空间。命令:
# df -h /tmp

# df -h
  • 检查操作系统内核架构
# /bin/isainfo -kv
  • 检查网络
# hostname
# ifconfig –a
# ping

服务器的hosts文件内容:

#public IP
172.16.10.1   BXDB1
172.16.10.2   BXDB2

#private IP
172.16.1.3    BXDB1-priv
172.16.1.4    BXDB2-priv

#VIP
172.16.10.7    BXDB1-vip
172.16.10.8    BXDB2-vip

#SCAN
172.16.10.9    BXDB-scan
  • 检查节点时间保证同步
# date

2.2 用户的准备工作(BXDB1和BXDB2相同)

  • 修改UDP参数
$ vi /etc/rc2.d/S99ndd

添加

ndd -set /dev/udp udp_xmit_hiwat 65536
ndd -set /dev/udp udp_recv_hiwat 65536
  • 建立所需的组
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1100 asmadmin
/usr/sbin/groupadd -g 1200 dba
/usr/sbin/groupadd -g 1201 oper
/usr/sbin/groupadd -g 1300 asmdba
/usr/sbin/groupadd -g 1301 asmoper
  • 建立所需的用户
# mkdir -p /export/home/grid
# useradd -u 1100 -g oinstall -G dba,asmadmin,asmdba,asmoper -d /export/home/grid -s /usr/bin/bash grid

# mkdir -p /export/home/oracle
# useradd -u 1101 -g oinstall -G asmdba,dba,oper -d /export/home/oracle -s /usr/bin/bash  oracle

修改新建用户的密码 密码1qaz.oracle

# passwd grid
# passwd oracle
  • 修改环境变量

Grid用户

# su – grid
$ vi .profile

添加

# ORACLE_SID (节点2上要写ORACLE_SID=+ASM2)

ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE
ORACLE_HOME=/oracle/app/11.2.0/grid; export ORACLE_HOME
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
NLS_LANG=AMERICAN_AMERICA.UTF8;export NLS_LANG
umask 022

oracle用户

# su – oracle
$ vi .profile

添加

# ORACLE_SID (节点2上要写ORACLE_SID=boss2)

ORACLE_SID=boss1; export ORACLE_SID
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1; export ORACLE_HOME
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
NLS_LANG=AMERICAN_AMERICA.UTF8;export NLS_LANG
umask 022
  • 修改系统参数(root用户)
# vi /etc/system

添加

set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=23767
set shmsys:shminfo_shmmax=107374182400
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmset=10

执行

# projmod -sK "project.max-shm-memory=(privileged,100G,deny)" default

重启服务器

  • 配置等效性

以下是grid用户,oracle用户配置方式一样

$ chmod 755 /export/home (该目录权限必须是755)

◆以下两个RAC节点都执行

-bash-3.00$ mkdir -p ~/.ssh
-bash-3.00$ chmod 700 ~/.ssh
-bash-3.00$ /usr/bin/ssh-keygen -t rsa

提示输入输入密码时,保持为空回车即可,使用空密码操作简单一些。

◆以下只在RAC节点1执行

-bash-3.00$ touch ~/.ssh/authorized_keys
-bash-3.00$ ssh BXDB1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-bash-3.00$ ssh BXDB2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-bash-3.00$ scp ~/.ssh/authorized_keys BXDB2:.ssh/authorized_keys

◆以下两个RAC节点都执行

-bash-3.00$ chmod 600 ~/.ssh/authorized_keys

测试等效性,不提示输入密码即配置成功(第一次要求输入密码是正常的)

ssh BXDB1 "date;hostname"
ssh BXDB2 "date;hostname"
  • 配置裸盘(root用户)
# format
AVAILABLE DISK SELECTIONS:
0. c0t5000CCA03C70E8B4d0 <HITACHI-H106030SDSUN300G-A2B0 cyl 46873 alt 2 hd 20 sec 625>  solaris
scsi_vhci/disk@g5000cca03c70e8b4
1. c0t5000CCA03C709A38d0 <HITACHI-H106030SDSUN300G-A2B0 cyl 46873 alt 2 hd 20 sec 625>  solaris
scsi_vhci/disk@g5000cca03c709a38
2. c0t600000E00D11000000111430000D0000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 254 alt 2 hd 64 sec 256>
scsi_vhci/ssd@g600000e00d11000000111430000d0000
3. c0t600000E00D1100000011143000040000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000040000
4. c0t600000E00D1100000011143000060000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000060000
5. c0t600000E00D1100000011143000070000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000070000
6. c0t600000E00D1100000011143000050000d0 <FUJITSU-ETERNUS_DXL-0000-409.00GB>
scsi_vhci/ssd@g600000e00d1100000011143000050000
7. c0t600000E00D1100000011143000030000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000030000
8. c0t600000E00D1100000011143000020000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000020000
9. c0t600000E00D1100000011143000010000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000010000
10. c0t600000E00D1100000011143000000000d0 <FUJITSU-ETERNUS_DXL-0000 cyl 58878 alt 2 hd 128 sec 256>
scsi_vhci/ssd@g600000e00d1100000011143000000000
Specify disk (enter its number)[7]: 2
selecting c0t600000E00D11000000111430000D0000d0
[disk formatted]
format> p

PARTITION MENU:
0    - change `0' partition
1    - change `1' partition
2    - change `2' partition
3    - change `3' partition
4    - change `4' partition
5    - change `5' partition
6    - change `6' partition
7    - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name  - name the current table
print  - display the current table
label  - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit
partition> 0
Part    Tag   Flag   Cylinders    Size       Blocks
0    root   wm    0        0     (0/0/0)     0

Enter partition id tag[root]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]:
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]:
partition> p
Current partition table (unnamed):
Total disk cylinders available: 254 + 2 (reserved cylinders)

Part    Tag   Flag   Cylinders    Size       Blocks
0 unassigned   wm    0        0     (0/0/0)     0
1    swap   wu    0        0     (0/0/0)     0
2   backup   wu    0 - 253     1.98GB   (254/0/0) 4161536
3 unassigned   wm    0        0     (0/0/0)     0
4 unassigned   wm    0        0     (0/0/0)     0
5 unassigned   wm    0        0     (0/0/0)     0
6     usr   wm    0 - 253     1.98GB   (254/0/0) 4161536
7 unassigned   wm    0        0     (0/0/0)     0

partition> 6
Part    Tag   Flag   Cylinders    Size       Blocks
6     usr   wm    0 - 253     1.98GB   (254/0/0) 4161536

Enter partition id tag[usr]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]: 3
Enter partition size[4112384b, 251c, 253e, 2008.00mb, 1.96gb]:
partition> label
Ready to label disk, continue? y

partition> p
Current partition table (unnamed):
Total disk cylinders available: 254 + 2 (reserved cylinders)

Part    Tag   Flag   Cylinders    Size       Blocks
0 unassigned   wm    0        0     (0/0/0)     0
1    swap   wu    0        0     (0/0/0)     0
2   backup   wu    0 - 253     1.98GB   (254/0/0) 4161536
3 unassigned   wm    0        0     (0/0/0)     0
4 unassigned   wm    0        0     (0/0/0)     0
5 unassigned   wm    0        0     (0/0/0)     0
6     usr   wm    3 - 253     1.96GB   (251/0/0) 4112384
7 unassigned   wm    0        0     (0/0/0)     0

partition> quit

依次将要使用的盘全部格式化分区完毕

  • 修改磁盘权限

在划分磁盘时若选择了将空间分配给n号片,对应的盘片就是sn,例如磁盘是c0t600000E00D11000000111430000D0000d0,空间分配到了6号片,最终我们使用的磁盘文件名就是c0t600000E00D11000000111430000D0000d0s6

chown grid:asmadmin /dev/rdsk/c0t600000E00D11000000111430000D0000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000030000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000020000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000010000d0s6
chown grid:asmadmin /dev/rdsk/c0t600000E00D1100000011143000000000d0s6

chmod 660 /dev/rdsk/c0t600000E00D11000000111430000D0000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000030000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000020000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000010000d0s6
chmod 660 /dev/rdsk/c0t600000E00D1100000011143000000000d0s6

3 安装

3.1 安装crs软件(BXDB1上)

  • 以 grid 用户运行安装程序

# xhost +

# 解压安装软件

# su – grid

$ export DISPLAY=客户机ip:0.0

$ ./runInstaller

选择第一项,next

img

img

选择第二项高级安装,next

img

添加中文语言

img

填上SCAN信息,其中Cluster name自定义,SCAN name是hosts文件中配置

img

添加节点

img

点击ssh connectivity配置ssh等效性

img

根据hosts文件的配置选择网卡用户

img

选择将OCR文件放在ASM中

img

建立ASM磁盘组,添加之前为OCR准备的裸盘文件,冗余方式选择external

img

为ASM帐号设置密码1qaz.oracle,若提示密码不够安全,点击yes即可

img

选择用户组

img

选择安装路径

img

选择inventory目录,默认即可

img

开始检查系统环境是否满足

img

提示以下条件不满足,这两个错误可以忽略

img

确认无误开始安装

img

安装完毕按提示在两个节点分别以root用户执行脚本

img

安装完毕后在检验cluster状态时报错,这是因为我们没有配置DNS服务器来分配VIP和SCANip,而是通过手动分配,该错误可以忽略,至此cluster软件安装完毕

img

3.2 安装database软件(BXDB1上)

  • 以 grid 用户运行安装程序

# xhost +

# 解压安装软件

# su – grid

$ export DISPLAY=客户机ip:0.0

$ ./runInstaller

不要选择接收安全补丁信息,若出现提示选yes即可

img

跳过软件更新

img

选择只安装数据库软件

img

选择集群模式安装

img

点击ssh connectivity配置用户等效性

img

img

添加中文语言

img

选择安装企业版

img

选择安装目录,由于根目录属于grid用户,因此在两个节点都手动建好该目录,并将权限和属组赋给oracle用户

mkdir -p /oracle/app/oracle

chown oracle:oinstall /oracle/app/oracle

img

选择安装软件组

img

检查系统环境是否满足安装要求

img

以下错误可以忽略

img

检查无误开始安装

img

安装完毕,按提示以root用户在两个节点执行脚本即可

img

执行相应脚本完成安装

img

3.3 创建数据库

  • 以 grid 用户建立ASM磁盘组

# xhost +

# su – grid

$ export DISPLAY=客户机ip:0.0

$ asmca

按照下图建立磁盘组,其中CRS是在安装CRS软件时已经建立的

img

  • 以 oracle 用户建立集群数据库

# xhost +

# su – oracle

$ export DISPLAY=客户机ip:0.0

$ dbca

选择集群数据库

img

选择建立数据库

img

选择自定义数据库

img

根据实际情况输入数据库名,勾选所有节点

img

选择配置EM

img

为用户配置密码,这里密码全部为1qaz.oracle,若提示密码不够安全,点击yes即可

img

选择数据文件存储方式,选择ASM,并填入之前建好的磁盘组名,会要求输入ASMSNMP密码,输入1qaz.oracle即可

img

配置快速恢复区,选择之前建好的ASM磁盘组,填入大小,这里是900g,勾选激活归档

img

去除不必要的组件

img

配置内存大小,勾选自动内存管理,该值可以在建完库后根据实际情况修改

img

配置块大小和连接数

img

配置字符集,选择AL32UTF8

img

按照默认选择专有模式即可

img

配置数据文件,每个节点分配4组,将redo大小改为512M

img

确认无误开始建库

img

开始建库

img

至此数据库安装完毕

4 常用维护命令

4.1 启动和关闭集群

(1) 启动集群件和集群数据库

集群系统默认是自动启动的,手工启动集群件的命令是:

-bash-3.00# cd /u01/app/11.2.0/grid/bin (root用户)

-bash-3.00# ./crsctl start cluster

也可以以下命令(在11.2版本中不建议使用),以grid用户执行

-bash-3.00# su - grid

-bash-3.00$ crs_start -all

启动集群数据库

-bash-3.00$ su - oracle

-bash-3.00$ srvctl start database -d racdb (启动全部实例节点)

-bash-3.00$ srvctl start instance -d racdb -n racdb1 (节点1上启动数据库实例)

-bash-3.00$ srvctl start instance -d racdb -n racdb2 (节点2上启动数据库实例)

(2) 关闭RAC集群数据库和集群件

先关闭集群数据库

-bash-3.00$ su - oracle

-bash-3.00$ srvctl stop database -d racdb

再关闭集群件(root用户)

-bash-3.00$ su -

-bash-3.00# cd /u01/app/11.2.0/grid/bin

-bash-3.00# ./crsctl stop cluster

4.2 RAC常用命令

集群系统的维护主要使用srvctl命令就可以完成,我们可以使用帮助命令来查看其使用,在oracle用户下执行 srvctl -help 来查看帮助信息

-bash-3.00# su - oracle

-bash-3.00$ srvctl -help

Usage: srvctl

posted @ 2021-07-14 22:02  shuchaoyang  阅读(270)  评论(0编辑  收藏  举报