Solaris 10(x86)构建Oracle 10g RAC之--配置系统环境(1)

系统环境:

操作系统:Solaris 10(x86-64)

Cluster: Oracle CRS 10.2.0.1.0

Oracle:  Oracle 10.2.0.1.0


如图所示:RAC 系统架构

Solaris 10(x86)构建Oracle 10g RAC之--配置系统环境(1)_第1张图片

        本案例,通过Solairs 10(x86-64)系统,构建Oracle 10g 的RAC;共享存储采用RAW+ASM的方式进行管理。

一、操作系统环境

[root@node1:/]# uname -a 

SunOS node1 5.10 Generic_142910-17 i86pc i386 i86pc

[root@node1:/]# isainfo -kv

64-bit amd64 kernel modules

1、网络配置(在所有节点)

[root@node1:/]# cat /etc/inet/ipnodes 
#
# Internet host table
#
::1     localhost       
127.0.0.1       localhost       
192.168.8.11    node1   loghost
192.168.8.13    node1-vip
10.10.10.11     node1-priv
192.168.8.12   node2
192.168.8.14   node2-vip
10.10.10.12    node2-priv

网络配置:

配置vip network(node1):
[root@node1:/]# ifconfig e1000g0:1 plumb up
[root@node1:/]# ifconfig e1000g0:1 192.168.8.13 netmask 255.255.255.0
[root@node1:/]# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
e1000g0: flags=1000843 mtu 1500 index 2
        inet 192.168.8.11 netmask ffffff00 broadcast 192.168.8.255
        ether 8:0:27:28:b1:8c 
e1000g0:1: flags=4001000842 mtu 1500 index 2
        inet 192.168.8.13 netmask ffffff00 broadcast 192.168.8.255
e1000g1: flags=1000843 mtu 1500 index 3
        inet 10.10.10.11 netmask ffffff00 broadcast 10.10.10.255
        ether 8:0:27:6e:16:1 
        
配置vip network(node2):
[root@node2:/]# ifconfig e1000g0:1 plumb up
[root@node2:/]# ifconfig e1000g0:1 192.168.8.14 netmask 255.255.255.0     
[root@node2:/]# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
e1000g0: flags=1000843 mtu 1500 index 2
        inet 192.168.8.12 netmask ffffff00 broadcast 192.168.8.255
        ether 8:0:27:1f:bf:4c 
e1000g0:1: flags=1000843 mtu 1500 index 2
        inet 192.168.8.14 netmask ffffff00 broadcast 192.168.8.255
e1000g1: flags=1000843 mtu 1500 index 3
        inet 10.10.10.12 netmask ffffff00 broadcast 10.10.10.255
        ether 8:0:27:a5:2c:db

2、共享磁盘配置(在所有节点)

对于Oracle 10g RAC,OCR和VOTE DISK、DataBase需建立在共享存储设备上;OCR和VOTE DISK必须以raw的方式管理,而存放DataBase的磁盘必须以ASM的方式管理。

1、建立磁盘分区(raw)(在node1)

在Solaris下建立raw应注意以下事项:

Use the fdisk command to create a Solaris partition on the disk if one does not already exist.
Solaris fdisk partitions must start at cylinder 1, not cylinder 0. If you create an fdisk partition, then you must label the disk before continuing.
Enter the partition command, followed by the print command to display the partition table for the disk that you want to use.
If necessary, create a single whole-disk slice, starting at cylinder 1.
Note:
To prevent Automatic Storage Management from overwriting the partition table, you cannot use slices that start at cylinder 0 (for example, slice 2).
注意:
  在建立磁盘分区时,必须从cylinder 1开始,不能从cylinder 0开始!
建立磁盘分区
[root@node1:/]# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0t0d0 
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c0t2d0 
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): 1
selecting c0t2d0
[disk formatted]

format> p
WARNING - This disk may be in use by an application that has
          modified the fdisk table. Ensure that this disk is
          not currently in use before proceeding to use fdisk.
          
format> fdisk 
No fdisk table exists. The default partition for the disk is:
  a 100% "SOLARIS System" partition
Type "y" to accept the default partition,  otherwise type "n" to edit the
 partition table.
y
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
        ! - execute , then return
        quit

partition> p
Current partition table (original):
Total disk cylinders available: 2607 + 2 (reserved cylinders)
Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0               0         (0/0/0)           0
  1 unassigned    wm       0               0         (0/0/0)           0
  2     backup    wu       0 - 2606       19.97GB    (2607/0/0) 41881455
  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 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0
partition> 0
Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0 -   16      133.35MB    (17/0/0)     273105
Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[0]: 1
Enter partition size[273105b, 17c, 17e, 133.35mb, 0.13gb]: 128mb

partition> 1
Part      Tag    Flag     Cylinders        Size            Blocks
  1 unassigned    wm       0 -   16      133.35MB    (17/0/0)     273105
Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[0]: 18
Enter partition size[273105b, 17c, 34e, 133.35mb, 0.13gb]: 128mb

partition> 3
Part      Tag    Flag     Cylinders        Size            Blocks
  3 unassigned    wm       0 -  652        5.00GB    (653/0/0)  10490445
Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[0]: 35
Enter partition size[10490445b, 653c, 687e, 5122.29mb, 5.00gb]: 5gb

partition> 4
Part      Tag    Flag     Cylinders        Size            Blocks
  4 unassigned    wm       0 -  652        5.00GB    (653/0/0)  10490445
Enter partition id tag[unassigned]:    
Enter partition permission flags[wm]: 
Enter new starting cyl[0]: 688
Enter partition size[10490445b, 653c, 1340e, 5122.29mb, 5.00gb]: 5gb

partition> 6
Part      Tag    Flag     Cylinders        Size            Blocks
  6 unassigned    wm       0 -  522        4.01GB    (523/0/0)   8401995
Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[0]: 689
Enter partition size[8401995b, 523c, 1211e, 4102.54mb, 4.01gb]: 4gb

partition> 7
Part      Tag    Flag     Cylinders        Size            Blocks
  7 unassigned    wm       0 -  522        4.01GB    (523/0/0)   8401995
Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[0]: 1212
Enter partition size[8401995b, 523c, 1734e, 4102.54mb, 4.01gb]: 4gb

partition> p
Current partition table (unnamed):
Total disk cylinders available: 2607 + 2 (reserved cylinders)
Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       1 -   17      133.35MB    (17/0/0)     273105
  1 unassigned    wm      18 -   34      133.35MB    (17/0/0)     273105
  2     backup    wu       0 - 2606       19.97GB    (2607/0/0) 41881455
  3 unassigned    wm      35 -  687        5.00GB    (653/0/0)  10490445
  4 unassigned    wm     688 - 1340        5.00GB    (653/0/0)  10490445
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm     689 - 1211        4.01GB    (523/0/0)   8401995
  7 unassigned    wm    1212 - 1734        4.01GB    (523/0/0)   8401995
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0

partition> label
Ready to label disk, continue? y

partition> partition> quit

format> verify
Primary label contents:
Volume name = <        >
ascii name  = 
pcyl        = 2609
ncyl        = 2607
acyl        =    2
bcyl        =    0
nhead       =  255
nsect       =   63
Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       1 -   17      133.35MB    (17/0/0)     273105
  1 unassigned    wm      18 -   34      133.35MB    (17/0/0)     273105
  2     backup    wu       0 - 2606       19.97GB    (2607/0/0) 41881455
  3 unassigned    wm      35 -  687        5.00GB    (653/0/0)  10490445
  4 unassigned    wm     688 - 1340        5.00GB    (653/0/0)  10490445
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm     689 - 1211        4.01GB    (523/0/0)   8401995
  7 unassigned    wm    1212 - 1734        4.01GB    (523/0/0)   8401995
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0
format> save
Please name this partition type before saving it
format> quit

查看raw设备:
[root@node1:/]# ls -l /dev/rdsk/c0t2d0s*
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s0 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:a,raw
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s1 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:b,raw
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s2 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:c,raw
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s3 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:d,raw
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s4 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:e,raw
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s5 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:f,raw
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s6 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:g,raw
lrwxrwxrwx   1 root     root          51 Jan 20 15:18 /dev/rdsk/c0t2d0s7 -> ../../devices/pci@0,0/pci8086,2829@d/disk@2,0:h,raw
......

在node2上查看:
[root@node2:/]# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0t0d0 
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c0t2d0 
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): 1
selecting c0t2d0
[disk formatted]

partition> p
Current partition table (original):
Total disk cylinders available: 2607 + 2 (reserved cylinders)
Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       1 -   17      133.35MB    (17/0/0)     273105
  1 unassigned    wm      18 -   34      133.35MB    (17/0/0)     273105
  2     backup    wu       0 - 2606       19.97GB    (2607/0/0) 41881455
  3 unassigned    wm      35 -  687        5.00GB    (653/0/0)  10490445
  4 unassigned    wm     688 - 1340        5.00GB    (653/0/0)  10490445
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm     689 - 1211        4.01GB    (523/0/0)   8401995
  7 unassigned    wm    1212 - 1734        4.01GB    (523/0/0)   8401995
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0

2、修改raw设备属性(所有node)

修改raw属性(所有node):
[root@node1:/]# chown oracle:dba /dev/rdsk/c0t2d0s*
[root@node1:/]# chmod 660 /dev/rdsk/c0t2d0s*
[root@node1:/]# ls -l  /devices/pci@0,0/pci8086,2829@d/disk@2,0:e,raw
crw-rw----   1 oracle   dba       30, 132 Jan 21 10:35 /devices/pci@0,0/pci8086,2829@d/disk@2,0:e,raw
[root@node1:/]# 

建立OCR和VOTE磁盘链接(所有node):
[root@node1:/]# mkdir /oracle
[root@node1:/]# chown oracle:dba /oracle
[root@node1:/]# su - oracle
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005
[oracle@node1:/export/home/oracle]$ cd /oracle
[oracle@node1:/oracle]$ ln -s /devices/pci@0,0/pci8086,2829@d/disk@2,0:a,raw ocr
[oracle@node1:/oracle]$ ln -s /devices/pci@0,0/pci8086,2829@d/disk@2,0:b,raw vote
[oracle@node1:/oracle]$ ls -l
total 4
lrwxrwxrwx   1 oracle   oinstall      46 Jan 21 11:11 ocr -> /devices/pci@0,0/pci8086,2829@d/disk@2,0:a,raw
lrwxrwxrwx   1 oracle   oinstall      46 Jan 21 11:11 vote -> /devices/pci@0,0/pci8086,2829@d/disk@2,0:b,raw

 3、建立Oracle用户和组(所有node):

[root@node1:/]# groupadd -g 200 oinstall
[root@node1:/]# groupadd -g 205 dba
[root@node1:/]# useradd -u 200 -g oinstall -G dba -d /export/home/oracle -m  -s /usr/bin/bash oracle
64 blocks
[root@node1:/]# id oracle
uid=200(oracle) gid=200(oinstall)
[root@node1:/]# su - oracle
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005

[oracle@node1:/export/home/oracle]$ pwd 
/export/home/oracle

[root@node1:/]# passwd oracle

passwd: password successfully changed for oracle

建立CRS和Oracle软件安装目录:
[root@node1:/]# mkdir /export/home/ora10
[root@node1:/]# chown -R oracle:dba /export/home/ora10
[root@node1:/]# mkdir -p /export/home/crs_1
[root@node1:/]# chown -R oracle:dba /export/home/crs_1

配置Oracle用户环境变量:
[oracle@node1:/export/home/oracle]$ cat .profile
#       This is the default standard profile provided to a user.
#       They are expected to edit it to meet their own needs.

MAIL=/usr/mail/${LOGNAME:?}
ORACLE_BASE=/export/home/ora10
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_CRS_HOME=/export/home/crs_1
ORACLE_SID=prod1       ;;ORACLE_SID=prod2  (node2)
PATH=$PATH:/usr/ccs/bin:/usr/local/bin:/usr/local/sbin:$ORACLE_HOME/bin
export  ORACLE_BASE ORACLE_HOME ORACLE_SID PATH ORACLE_CRS_HOME

确认nobody用户:
[root@node1:/]# id nobody
uid=60001(nobody) gid=60001(nobody)

4、配置内核参数(所有node):

[root@node1:/]# cat /etc/system
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100

5、检查软件包的安装(所有node)

1、检查系统所需的软件包:

[root@node2:/]# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
system      SUNWarc   Lint Libraries (usr)
system      SUNWbtool CCS tools bundled with SunOS
system      SUNWhea   SunOS Header Files
system      SUNWi1of  ISO-8859-1 (Latin-1) Optional Fonts
system      SUNWlibm  Math & Microtasking Library Headers & Lint Files (Usr)
system      SUNWlibms Math & Microtasking Libraries (Usr)
system      SUNWsprot Solaris Bundled tools
system      SUNWtoo   Programming Tools
system      SUNWxwfnt X Window System platform required fonts
ERROR: information for "SUNWi1cs" was not found
ERROR: information for "SUNWi15cs" was not found

安装软件包(挂载Solaris系统盘):
[oracle@node1:/export/home/oracle]$ su -
Password: 
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005

[root@node1:/]# ls /cdrom
cdrom0          sol_10_910_x86

[root@node1:/cdrom/sol_10_910_x86/Solaris_10/Product]# pwd    
/cdrom/sol_10_910_x86/Solaris_10/Product

安装软件:

[root@node1:/cdrom/sol_10_910_x86/Solaris_10/Product]# pkgadd -d /cdrom/sol_10_910_x86/Solaris_10/Product SUNWi1cs

Processing package instance  from 
X11 ISO8859-1 Codeset Support(i386) 2.0,REV=2004.10.17.15.04
Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Using  as the package base directory.
## Processing package information.
## Processing system information.
   8 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of  [y,n,?] y
Installing X11 ISO8859-1 Codeset Support as 
## Installing part 1 of 1.
232 blocks
Installation of  was successful.

[root@node1:/cdrom/sol_10_910_x86/Solaris_10/Product]# pkgadd -d /cdrom/sol_10_910_x86/Solaris_10/Product SUNWi15cs

Processing package instance  from 
X11 ISO8859-15 Codeset Support(i386) 2.0,REV=2004.10.17.15.04
Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Using  as the package base directory.
## Processing package information.
## Processing system information.
   6 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of  [y,n,?] y
Installing X11 ISO8859-15 Codeset Support as 
## Installing part 1 of 1.
1460 blocks
Installation of  was successful.

再次检查软件:
[root@node2:/]# pkginfo -i SUNWi1cs SUNWi15cs
system      SUNWi15cs X11 ISO8859-15 Codeset Support
system      SUNWi1cs  X11 ISO8859-1 Codeset Support

---未完,待续。。。