Archive for 二月, 2009

hp-ux下修改diskname

星期五, 二月 20th, 2009
在安装RAC时,必须保证两边的DISK一致。以我的为例
必须保证两边系统下/
dev/rdisk/disk*一致。今天在做的时候发现有个磁盘不以致,用了以下方法修改:
比如说节点
1/dev/rdisk/disk8 节点2 相应的为/dev/rdisk/disk10
现将节点
1的修改为和节点2一致
1 首先删除节点下的设备名
rmsf /dev/disk/disk8 /dev/rdisk/disk8
2 检查下
ioscan -m lun
 
3 生成DISKNAME
mksf -C disk -I 8 /dev/disk/disk10
mksf -C disk -I 8 -r /dev/rdisk/disk10
4 在用ioscan -m lun 看下
大体过程如上

如何固定磁盘设备的名称

星期一, 二月 16th, 2009
大家可能和我一样遇到过如下问题,因为之前规划的问题,导致数据库的空间不够,存储工程从别的阵列上化了几个磁盘过来,OS上成功认到磁盘,但是我原来的外挂存储的磁盘设备名为/dev/sda /dev/sdb...可是加完磁盘重启系统后,现在的/dev/sda变成我新加的磁盘的第一块磁盘,总共加了6块磁盘,我原来的/dev/sda变成/dev/sdg了,这就是导致我的RAC无法启动,因为我已经在rawdevices绑定了RAW,所以要想RAC启动起来要么去掉加掉的磁盘,要么重新安装RAC,要么手动固定设备名称:
以下是如何手动绑定:
1、获取scsi设备的UUID,编辑/etc/scsi_id.conf文件,注释掉option=-b,将option=-g前面的#号去掉,保存退出。
 
2、用root用户执行#scsi_id -g -s /dev/sdx,x为a、b、c...。会得到类似如下的一串16进制的数字。
 
例如:
[
root@devices]# scsi_id -g -s /dev/sdc
3600a0b800013275100000015427b625e
 
3、建立udev规则文件。编辑/etc/udev/rules.d/20-names.rules 添加如下内容:KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="3600a0b80001315427b625e", NAME="sda%n"重新启动系统

ASM add controlfile

星期五, 二月 13th, 2009
为了增加ORACLE的安全性,我们需要给ASM添加一个控制文件,默认的ASM安装后,如果只有一个磁盘组的话,是只有一个的
 
步骤如下:
首先查看当前控制文件的存放路径
 
QL> select * from v$controlfile;
 
STATUS-------NAME--------------------------------------------------------------------------------IS_ BLOCK_SIZE FILE_SIZE_BLKS
 
+
DATA_TRADE/zqdb/controlfile/current.256.678128657 NO       16384            932
 
二、修改
SFILE
SQL> alter system set control_files='+DATA_TRADE/zqdb/controlfile/current.256.678128657','+DATA_TRADE' scope=spfile sid='*';
 
System altered.
三、关闭数据库启动到
MOUNT状态
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.
 
Total System Global Area 1.2583E+10 bytes
Fixed Size                  2175816 bytes
Variable Size            1990053048 bytes
Database Buffers         1.0586E+10 bytes
Redo Buffers                4259840 bytes
SQL> exit   
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
 
 
四 恢复控制文件
 
rman target / nocatalog
RMAN> restore controlfile from '+DATA_TRADE/zqdb/controlfile/current.256.678128657';
 
Starting restore at 13-2月 -09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=795 instance=zqdb1 devtype=DISK
 
channel ORA_DISK_1: copied control file copy
output filename=+DATA_TRADE/zqdb/controlfile/current.256.678128657
output filename=+DATA_TRADE/zqdb/controlfile/current.316.678713155
Finished restore at 13-2月 -09
 
RMAN> sql 'alter database mount';
 
sql statement: alter database mount
released channel: ORA_DISK_1
 
RMAN> sql 'alter database open';
 
 
五、再次修改
SPFILE
 
SQL> alter system set control_files='+DATA_TRADE/zqdb/controlfile/current.256.678128657','+DATA_TRADE/zqdb/controlfile/current.316.678713155' scope=spfile sid='*';
 
System altered.
 
SQL> shutdown immediate;
 
确认
 
SQL> select name from v$controlfile;
 
NAME
------------------------------------------------------------------------------
--
+DATA_TRADE/zqdb/controlfile/current.256.678128657

+
DATA_TRADE/zqdb/controlfile/current.316.678713155

RAC -infiniband

星期一, 二月 9th, 2009
RAC 默认的心跳走的是UDP协议,这个从启动的时候alert.log里就可以看到,使用infiniband交换机的可以走RDS协议,好处就是可以减少50%左右的CPU利用率,但是前提是你完成以下工作
The following are the generic steps for implementation of RDS over infiniband, refer to the next section for platform specific information:
 
1 After installing Infiniband HCAs (Host Channel Adaptors) and switches, install the required Infiniband drivers and RDS support libraries on each clustered server. Verify with platform specific command that the infiniband interface appears in the available interface list. For example on Linux, using "ifconfig -a" check infiniband interface like ib0 or ib1 is listed.
2 Configure the appropriate failover and load balancing mode for multiple ports of a HCA and/or between multiple HCAs.
 
3 Before using RDS for RAC interconnect, it is recommended to use IPoIB for RAC interconnect to check the hardware installation.
4 Once RAC operation is verified over IPoIB, rebuild RAC IPC library for RDS by performing the following as oracle software owner OS user.
5 $ cd $ORACLE_HOME/rdbms/lib
$
make -f ins_rdbms.mk ipc_rds ioracle
 
 
For non-shared ORACLE_HOME, the above commands must be run on each node of the RAC cluster.
If you use multiple Oracle home setup (like ASM running from different Oracle Home or different databases running from different Oracle Homes, then this step needs to be performed for all the homes.
 
 
To revert back RAC to use UDP instead of RDS, then RAC IPC library for UDP by performing the following as oracle software owner OS user.
$
cd $ORACLE_HOME/rdbms/lib
$
make -f ins_rdbms.mk ipc_g ioracle
 
Update /etc/hosts and run oifcfg as required to restore the desired cluster interconnect
 
 
如果没有完成这步
install the required Infiniband drivers and RDS support libraries on each clustered server
你会遇到如下错误
$
make -f ins_rdbms.mk ipc_rds ioracle
        
rm -f /u01/app/oracle/product/10.2.0/db_1/lib/libskgxp10.so
        
cp /u01/app/oracle/product/10.2.0/db_1/lib//libskgxpr.so /u01/app/oracle/product/10.2.0/db_1/lib/libskgxp10.so
cp: cannot access /u01/app/oracle/product/10.2.0/db_1/lib//libskgxpr.so: No such file or directory
***
Error exit code 1

vip-gateway

星期一, 二月 9th, 2009
这次实施的时候在VIP这里也遇到很多问题,其实最终还是网络的问题
就是在启动集群服务后,一开始
VIP状态都是正常的,但是一会就DOWN掉了,或者一会一个VIP就飘到另一个节点上了,如果遇到这些问题可以考虑检查以下几方面
一、默认的网关要有,并且是能通的
二、检查交换机的互联问题,
chunk是否做好
三、检查/
etc/hosts
以下是一些日志
2009-02-05 19:44:07.178: [  CRSAPP][120] CheckResource error for ora.zqdbs1.vip error code = 1
2009-02-05 19:44:07.183: [  CRSRES][120] In stateChanged, ora.zqdbs1.vip target is ONLINE
2009-02-05 19:44:07.183: [  CRSRES][120] ora.zqdbs1.vip on zqdbs1 went OFFLINE unexpectedly
2009-02-05 19:44:07.184: [  CRSRES][120] StopResource: setting CLI values
2009-02-05 19:44:07.195: [  CRSRES][120] Attempting to stop `ora.zqdbs1.vip` on member `zqdbs1`
2009-02-05 19:44:07.906: [  CRSRES][120] Stop of `ora.zqdbs1.vip` on member `zqdbs1` succeeded.
2009-02-05 19:44:07.906: [  CRSRES][120] ora.zqdbs1.vip RESTART_COUNT=0 RESTART_ATTEMPTS=0
2009-02-05 19:44:07.910: [  CRSRES][120] ora.zqdbs1.vip failed on zqdbs1 relocating.
2009-02-05 19:44:07.947: [  CRSRES][120] StopResource: setting CLI values
2009-02-05 19:44:07.955: [  CRSRES][120] Attempting to stop `ora.zqdbs1.LISTENER_ZQDBS1.lsnr` on member `zqdbs1`
2009-02-05 19:45:26.086: [  CRSRES][120] Stop of `ora.zqdbs1.LISTENER_ZQDBS1.lsnr` on member `zqdbs1` succeeded.
2009-02-05 19:45:26.107: [  CRSRES][120] Attempting to start `ora.zqdbs1.vip` on member `zqdbs2`
2009-02-05 19:45:55.140: [  CRSRES][120] Start of `ora.zqdbs1.vip` on member `zqdbs2` failed.
2009-02-05 19:45:55.175: [  CRSRES][120] Attempting to start `ora.zqdbs1.vip` on member `zqdbs2`
2009-02-05 19:46:24.219: [  CRSRES][120] Start of `ora.zqdbs1.vip` on member `zqdbs2` failed.