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

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

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

选择第二项高级安装,next

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

添加中文语言

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

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

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

添加节点

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

点击ssh connectivity配置ssh等效性

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

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

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

选择将OCR文件放在ASM中

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

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

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

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

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

选择用户组

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

选择安装路径

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

选择inventory目录,默认即可

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

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

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

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

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

确认无误开始安装

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

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

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

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

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

3.2 安装database软件(BXDB1上)

  • 以 grid 用户运行安装程序

# xhost +

# 解压安装软件

# su – grid

$ export DISPLAY=客户机ip:0.0

$ ./runInstaller

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

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

跳过软件更新

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

选择只安装数据库软件

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

选择集群模式安装

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

点击ssh connectivity配置用户等效性

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

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

添加中文语言

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

选择安装企业版

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

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

mkdir -p /oracle/app/oracle

chown oracle:oinstall /oracle/app/oracle

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

选择安装软件组

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

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

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

以下错误可以忽略

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

检查无误开始安装

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

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

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

执行相应脚本完成安装

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

3.3 创建数据库

  • 以 grid 用户建立ASM磁盘组

# xhost +

# su – grid

$ export DISPLAY=客户机ip:0.0

$ asmca

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

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

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

# xhost +

# su – oracle

$ export DISPLAY=客户机ip:0.0

$ dbca

选择集群数据库

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

选择建立数据库

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

选择自定义数据库

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

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

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

选择配置EM

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

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

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

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

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

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

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

去除不必要的组件

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

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

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

配置块大小和连接数

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

配置字符集,选择AL32UTF8

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

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

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

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

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

确认无误开始建库

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

开始建库

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

至此数据库安装完毕

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

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

上一篇:Mysql where not


下一篇:Mac实用技巧:如何解决Appstore无法下载软件问题