Setup Oracle based on ASM inside Solaris Zones.

1. Configure LZ zone1, here we use a lofs to map /oracle in LZ to /oracle in GZ, where locates the oracle binary data, we add a device to LZ, which match the /dev/vx/rdsk/oracle_dg/oracle_vol in GZ. We must set the limitpriv with proc_priocntl&proc_lock_memory or the ocssd.bin deamon will never startup in oracle11g, it will drop errors:

 

[root@vcsv245a /]#>more /oracle/product/11.1.0/db_1/log/zone1/cssd/cssdOUT.log

sched_set: unable to escalate (10/-1/1)

[root@zone1 cssd]#>dmesg

Jul 28 10:43:25 zone1 root: [ID 702911 user.error] Oracle Cluster Synchronization Service starting by user request.
Jul 28 10:43:26 zone1 root: [ID 702911 user.error] Cluster Ready Services completed waiting on dependencies.
Jul 28 10:43:33 zone1 last message repeated 9 times
Jul 28 10:54:51 zone1 root: [ID 702911 user.error] Cluster Ready Services completed waiting on dependencies.

 

[root@vcsv245a /]#>zonecfg -z zone1
zone1: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone1> create
zonecfg:zone1> set zonepath=/zone/zone1

zonecfg:zone1> set autoboot=false
zonecfg:zone1> set limitpriv=default,dtrace_proc,dtrace_user,proc_priocntl,proc_lock_memory

zonecfg:zone1> add fs
zonecfg:zone1:fs> set dir=/oracle
zonecfg:zone1:fs> set special=/oracle
zonecfg:zone1:fs> set type=lofs
zonecfg:zone1:fs> end
zonecfg:zone1> add net
zonecfg:zone1:net> set address=10.200.117.214
zonecfg:zone1:net> set physical=bge0
zonecfg:zone1:net> set defrouter=10.200.117.1
zonecfg:zone1:net> end
zonecfg:zone1> add device
zonecfg:zone1:device> set match=/dev/vx/rdsk/oracle_dg/oracle_vol
zonecfg:zone1:device> end
zonecfg:zone1> verify
zonecfg:zone1> commit
zonecfg:zone1> exit

[root@vcsv245a /]#>vxedit -g oracle_dg set group=oinstall user=oracle mode=660 oracle_vol

[root@vcsv245a /]#>vxdg import oracle_dg
[root@vcsv245a /]#>vxvol -g oracle_dg startall

 

2. install and configure LZ

[root@vcsv245a /]#>zoneadm -z zone1 install

[root@vcsv245a /]#>zlogin -C zone1

Add oracle user and group just as the same as the ones in GZ.

bash-3.00# groupadd -g 800 oinstall

bash-3.00# groupadd -g 801 dba
bash-3.00# useradd -u 880 -g oinstall -G dba -d /export/home/oracle -s /usr/bin/bash -m oracle

bash-3.00# passwd oracle

bash-3.00# chown -R oracle:oinstall /dev/vx/rdsk/oracle_dg/oracle_vol

 

3. configure asm in LZ.

[root@zone1 /]#> /oracle/product/11.1.0/db_1/bin/localconfig add

 

4. It's better for us to use dbca to configure ASM and create database.

also we can use the following steps to configure ASM,

create a tmp pfile looks like this, we should make all required directories before we configure ASM.

 

        +ASM.asm_diskgroups='ASMDG'#Manual Mount
        *.asm_diskgroups='ASMDG'
        *.asm_diskstring='/dev/raw/raw*'
        *.background_dump_dest='/oracle/admin/+ASM/bdump'
        *.core_dump_dest='/oracle/admin/+ASM/cdump'
        *.instance_type='asm'
        *.large_pool_size=12M
        *.remote_login_passwordfile='SHARED'
        *.user_dump_dest='/oracle/admin/+ASM/udump'

su - oracle

export ORACLE_SID=+ASM

sqlplus / as sysdba

- creat spfile using the pfile

SQL> CREATE SPFILE FROM PFILE='/tmp/init+ASM.ora';
- start the instance with the NOMOUNT option
SQL> startup nomount
- To verify the status of the diskgroups
SQL> select * from v$asm_diskgroup;
- To Mount the diskgroups
SQL> alter diskgroup <diskgroupname> mount;
- To dismount the diskgroups
SQL> alter diskgroup <diskgroupname> dismount;
- To shutdown the ASM instance
SQL> shutdown immediate;

 

Now we can use database in zone environment.

 

btw: add/remove more devices into/from zone

zonecfg:zone1> remove device match=/dev/rdsk/c2t5006016030232106d0s2
zonecfg:zone1> add device
zonecfg:zone1:device> set match=/dev/rdsk/c2t5006016030232106d5s4
zonecfg:zone1:device> end
zonecfg:zone1> info
zonename: zone1
zonepath: /zone/zone1
brand: native
autoboot: false
bootargs:
pool:
limitpriv: default,dtrace_proc,dtrace_user,proc_priocntl,proc_lock_memory
scheduling-class:
ip-type: shared
inherit-pkg-dir:
        dir: /lib
inherit-pkg-dir:
        dir: /platform
inherit-pkg-dir:
        dir: /sbin
inherit-pkg-dir:
        dir: /usr
fs:
        dir: /oracle
        special: /oracle
        raw not specified
        type: lofs
        options: []
net:
        address: 10.200.117.214
        physical: bge0
        defrouter: 10.200.117.1
device
        match: /dev/vx/rdsk/oracle_dg/oracle_vol
device
        match: /dev/rdsk/c2t5006016030232106d5s4
device
        match: /dev/rdsk/c2t5006016030232106d4s4
device
        match: /dev/rdsk/c2t5006016030232106d0s4
device
        match: /dev/rdsk/c2t5006016030232106d1s4

 

發佈了45 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章