步骤:Oracle 10g ASM On SLES9

发表于:2007-07-13来源:作者:点击数: 标签:
1、升级SLES9内核、安装asm相关包,注意版本要一致。 2、/etc/init.d/oracleasm configure 配置asm driver 使用者为oracle dba组,并且自动启动。 3、准备好裸磁盘(用fdisk 分区了,没有格式化成任何文件系统,有的话可以dd初始化之) 4、创建asm 磁盘 例如
1、升级SLES9内核、安装asm相关包,注意版本要一致。

2、/etc/init.d/oracleasm configure 配置asm driver 使用者为oracle dba组,并且自动启动。

3、准备好裸磁盘(用fdisk 分区了,没有格式化成任何文件系统,有的话可以dd初始化之)

4、创建asm 磁盘

例如:/etc/init.d/oracleasm createdisk d1 /dev/sdb1

5、删除asm 磁盘

/etc/init.d/oracleasm deletedisk d1 (千万不要将使用的磁盘都删掉,否则数据库将崩溃)

6、 利用dbca 创建数据库

选用asm , 创建diskgroup ,选上disk ,磁盘开始状态是Candidate ,加入磁盘组后变为Provisioned ,如果是 Member状态说明曾是某个磁盘组的成员,要使用之则先要用dd命令清掉磁盘上存在的旧ASM信息,语法:dd if=/dev/zero of= /dev/sdd1 bs=8192 count=100 可以设置参数:power limit (1-11),越小,则Asm 利用来rebalance (asm 配置改变时)的i/o带宽越小,当然越慢,对系统的性能影响越小。Redundancy 一般选external 就是也就是不考虑冗余,如果选normal 则是mirror, 至少要一个FailGroup选High 就是triple mirror,3倍镜像,需要三个FailGroup ,这里的FailGroup其实就是将磁盘组的磁盘划分成几个组,彼此镜像。还有就是discoverString 一般就是ORCL:* 。 接下来dbca 将会创建ASM实例和数据库实例

7、修改 /etc/oratab 将ASM 和数据库实例的N改为Y


   关于启动的BUG

   Bug: 3458327 - Automatic Startup On Reboot Fails When Database Uses ASM

   ORA--29701: unable to connect to Cluster Manager

   目前的版本10.1.0.3.0 的一个Bug.

   解决办法:

(1)修改/etc/inittab 文件将

h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1

剪切到l3:3:wait:/etc/init.d/rc 3 之前
(2)修改 /etc/init.d/oracle 文件,在启动数据库+ Starting Database(s)...前增加如下脚本

echo   "Waiting css daemon start for 300  seconds!"

    let count=0

    while [ $count -lt 30 ]; do

        sleep 10

        let count=count+1

                 let flag=count%5

        let seconds=$count*10

                 if [ fag –eq 0 ] ; then

                echo -n $seconds

        else

           echo -n "."

        fi

    done   

300秒的依据是系统INIT会将init.cssd阻塞5分钟。

“INIT: Id "h1" respawning too fast: disabled for 5 minutes”

(3)在rc3.d 和rc5.d 里将S21init.cssd  ->S13init.cssd

    S13oracle  S21oracle

8、管理ASM 磁盘组

(1)web 方式

在数据库服务器上先检查ORACLE_SID , export|grep ORACLE_SID 看是否为要管理的数据库不是则 export ORACLE_SID=”xxx” 然后emctl start dbconsole 记下url , 在客户端使用浏览器管理. 用sys dba 身份登入, 选择administration 选择Storage 的Disk Groups ,然后以sys 的身份登入(密码在创建数据库时选择asm时设置的)然后就可以实现对asm的管理了:创建/删除/挂载/卸载磁盘组,增加/删除磁盘,修改配置Disk Discovery Path,Rebalance Power, Auto Mount Disk Groups 。

(2)sqlplus 命令行方式

在数据库服务器先要 export ORACLE_SID=+ASM , 然后sqlplus sys/passwd as sysdba 登入执行创建磁盘组 ,增删磁盘组的磁盘等操作。 Alter diskgroup dgName drop disk diskname;

ALTER DISKGROUP DG1 ADD DISK 'ORCL:D4' ; //可能比较耗时,因为要将数据转移

CREATE DISKGROUP dg4 EXTERNAL REDUNDANCY DISK 'ORCL:D1' //创建磁盘组

ALTER SYSTEM SET ASM_DISKGROUPS = 'DG1','DG2','DG3','dg4' //设置他自动mount

  

原文转自:http://www.ltesting.net