天道酬勤

Oracle and My Life

Archive for March, 2009

Solaris和Hp的磁盘命令规则

leave a comment

Solaris下的磁盘一般有3种命名方式:
逻辑设备名
物理设备名
实名

逻辑设备名是来源于物理设备名的一个连接,连接于/devices目录。所有的逻辑设备名都在目录/dev下。逻辑设备名的命名方式就是采用c#t#d#s#,会根据卷管理软件的要求进行更改的。比如:vertias volume manager下为
C:一般 controller number
T:代表target number
D: 一般代表disk number
S: 一般代表slice number
所有在/dev下的设备又分为/dev/dsk和/dev/rdsk两中块设备和字符设备。

物理设备名
物理设备名是系统中唯一用来标识本地物理设备的。设备名在/devices下。物理设备名是由一系列的接点名组成的。用/来进行路径的区分。光纤盘与其他的不太一样是有WWN(world wide name)号来表示。

实名是有kernel为每个设备分配的一个缩写名。
Sdn:代表SCSI硬盘。
Dadn:代表ide硬盘
Ssdn:代表光纤盘

Hp下的磁盘命名方式:
cciss是惠普的smart array控制器的设备名,c0指channl 0,第一个SCSI通道,d0指逻辑盘1,d1指逻辑盘2…,p1指第一个分区,p2是第二个分区…。在这种情况下,我们可以看到很多HP的服务器在通过该设备连接硬盘的时候,经常看到的设备是/dev/cciss/c0d0p1,/dev/cciss/c0d0p2,/dev/cciss/c0d0p3等。

Written by ochef

March 5th, 2009 at 2:05 pm

如何在一个业务繁忙的大表中增加一个并带有默认值的字段

leave a comment

方法来自Piner的新书《构建Oracle高可用环境》
1.先增加一个字段

sql>Alter TABLE TABLE_NAME ADD field_name NUMBER;

2.把该字段修改为有默认值

sql>Alter TABLE TABLE_NAME MODIFY field_name DEFAULT 0;

该语句并不修改以前的记录,只是标记以后的记录将会有默认值0,所以,这个语句的执行很快,不会引发阻塞。
3.修改以前的记录,让其有默认值(每修改1000条记录 commit一次)

1
2
3
4
5
6
7
8
9
10
11
12
DECLARE
       row_num NUMBER := 0;
BEGIN
       FOR c_test IN (SELECT ROWID rid FROM table_name t WHERE field_name IS NULL) LOOP
             UPDATE table_name t SET t.field_name = 0 WHERE ROWID = c_test.rid;
             row_num := row_num + 1;
             IF MOD(row_num,1000) =0 THEN
                  COMMIT;
             END IF;
        END LOOP;
        COMMIT;
END;

Written by ochef

March 5th, 2009 at 10:41 am

Posted in Database

Tagged with ,

Install oracle 10.2 on Solaris10

leave a comment

通过自己做的实验在安装之前我觉得有必要介绍一下solaris分区:
/
swap (=/tmp 参考Solaris 下Swap分区介绍)
/export/home
/u01
1.记录一下10R2在Solaris10上的安装步骤:
系统需求检查:

# /usr/sbin/prtconf | grep "Memory size"
Memory size: 16384 Megabytes
# /usr/sbin/swap -s
total: 56936k bytes allocated + 4840k reserved = 61776k used, 32556464k available
# df -h /tmp
Filesystem size used avail capacity Mounted on
swap 31G 0K 31G 0% /tmp
# df -h /u01
Filesystem size used avail capacity Mounted on
/dev/dsk/c1t1d0s0 134G 65M 133G 1% /ora10g

内存最小要求是1G。
swap的最小空间与内存大小有关,内存1G,则swap为内存的2倍,内存小于2G,则swap为内存的1.5倍,内存小于8G,swap和内存相等,内存大于8G,则swap为内存的0.75倍。
/tmp目录需要至少400M以上的空间。
安装目录至少需要2G以上的空间来安装软件。
Read the rest of this entry »

Written by ochef

March 4th, 2009 at 9:57 pm

Posted in Database,Operating System

Tagged with , , ,

Install oracle9208 on rhel4 required packages

leave a comment

The following packages (or later versions) must be installed:

compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3

compat-oracle-rhel4-1.0-5  Download p4198954_40_LINUX.zip patch
compat-libcwait-2.1-1

compat-libgcc-296-2.96-132.7.2
compat-libstdc++-296-2.96-132.7.2
compat-libstdc++-33-3.2.3-47.3
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gnome-libs-1.4.1.2.90-44
gnome-libs-devel-1.4.1.2.90-44
ORBit-devel-0.5.17-14.i386.rpm
glib-devel-1.2.10-15.i386.rpm
esound-devel-0.2.35-2.i386.rpm
alsa-lib-devel-1.0.6-5.RHEL4.i386.rpm
audiofile-devel-0.2.6-1.el4.1.i386.rpm
gtk+-devel-1.2.10-33.i386.rpm
xorg-x11-devel-6.8.2-1.EL.13.36.i386.rpm
fontconfig-devel-2.2.3-7.i386.rpm
freetype-devel-2.1.9-1.i386.rpm

Read the rest of this entry »

Written by ochef

March 3rd, 2009 at 8:54 pm

Posted in Database

Tagged with ,

无觅相关文章插件,快速提升流量