Archive for April, 2008
表空间管理
Monday, April 21st, 2008
上周有个测试告诉我,发生了这么一件事:
ORA-01653: unable to extend table ZEUS.ALI_ZEUS_ADVERTISE_PUBLISH_LOG by 8192 in tablespace ZEUSDATA
我当时上库上查了下,其实这个TBS上还有200多M剩余。想不通,为什么会这样。
现在回头想想,和我EXTENT的扩展方式是SYSTEM有关。
因为SYSTEM的话,很有可能这次是1M,下次是2M,下次是4M,下次是8M,2的N次方。
因此,我这个TBS很大了,几十G了。经过N次扩展了。下次扩展需要200M以上了,报了上面那个错误。
现在新建的表空间,都采用uniform size了。
希望大家拍砖!!
V$UNDOSTAT
Thursday, April 17th, 2008
很多人一直很困惑,如何去设置UNDO Retention和UNDO TBS的大小,其实可以根据v$undostat来做判断。
特别是UNDO TBS的大小,很大一部分取决于DBA对系统的熟悉程度(虽然算UNDO的公式很多),见过很多人,为了防止出错,把UNDO TBS设置的其大,包括UNDO Retention。
今天看文档,文档上说:
UNDO最大可以设置为:undo maximum value is 2的32次方 seconds (more than 187 years).
这下可以放心了,尽管设吧!!
RAC安装之数据库创建
Saturday, April 12th, 2008
手工创建RAC数据库其实和普通数据库没有太大区别,需要注意几点:
1.需要为各个接点额外创建undo tablespace,redo group
2.需要为各个接点激活日志thread
3.create database的时候cluster_database参数设置为false,创建成功后在改为true,让各个接点mount
–创建数据库
SQL> CREATE DATABASE asmrac
2 USER SYS IDENTIFIED BY a35baba
3 USER SYSTEM IDENTIFIED BY a35baba
4 controlfile reuse
5 LOGFILE
6 GROUP 1 (’+DATATOMB/redo_1_1_1.log’,’+DATATOMB/redo_1_2_1.log’) SIZE 512M REUSE,
7 GROUP 2 (’+DATATOMB/redo_2_1_1.log’,’+DATATOMB/redo_2_2_1.log’) SIZE 512M REUSE,
8 GROUP 3 (’+DATATOMB/redo_3_1_1.log’,’+DATATOMB/redo_3_2_1.log’) SIZE 512M REUSE,
9 GROUP 4 (’+DATATOMB/redo_4_1_1.log’,’+DATATOMB/redo_4_2_1.log’) SIZE 512M REUSE
10 MAXLOGFILES 64
11 MAXLOGMEMBERS [...]
RAC安装之创建ASM
Saturday, April 12th, 2008
–编辑ASM的init.ora
myasm1.instance_number=1
myasm2.instance_number=2
myasm3.instance_number=3
myasm4.instance_number=4
myasm1.instance_name=myasm1
myasm2.instance_name=myasm2
myasm3.instance_name=myasm3
myasm4.instance_name=myasm4
instance_type=asm
cluster_database=true
asm_diskgroups=’datatomb’
asm_diskstring=’/opt/oracle/oradata/asmrac/disk*’
processes=200
large_pool_size=12M
remote_login_passwordfile=exclusive
core_dump_dest=/opt/oracle/admin/myasm/cdump
user_dump_dest=/opt/oracle/admin/myasm/udump
background_dump_dest=/opt/oracle/admin/myasm/bdump
export ORACLE_SID=myasm3
SQL> startup nomount;
ASM instance started
Total System Global Area 130023424 bytes
Fixed Size 2019032 bytes
Variable Size 102838568 bytes
ASM Cache 25165824 bytes
–ASM已经discover了指定的磁盘,状态为CANDIDATE
SQL> select header_status, path from v$asm_disk;
HEADER_ST PATH
——— ————————————————–
CANDIDATE /opt/oracle/oradata/asmrac/disk2
CANDIDATE /opt/oracle/oradata/asmrac/disk1
–创建磁盘组datatomb,不使用镜像
SQL> create diskgroup datatomb
2 external redundancy disk
3 ‘/opt/oracle/oradata/asmrac/disk1′,
4 ‘/opt/oracle/oradata/asmrac/disk2′;
Diskgroup created.
–disk状态已经是member
SQL> select header_status, path from v$asm_disk;
HEADER_ST PATH
——— ————————————————–
MEMBER /opt/oracle/oradata/asmrac/disk2
MEMBER /opt/oracle/oradata/asmrac/disk1
–1T的空间
SQL> select TOTAL_MB,free_mb from v$asm_diskgroup;
TOTAL_MB [...]
RAC安装之网卡MTU
Friday, April 11th, 2008
RAC的clusterware和oracle db软件都安装好了,今天在准备做ASM的时候遇到问题,配置好了ASM initfile,启动
instance的时候报错
oracle@hack3 dbs]$ sqlplus “/ as sysdba”
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Apr 11 15:11:15 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:unsupp_mtu failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: skgxpvaddr10
ORA-27303: additional information: requested [...]
10.2 RAC安装之clusterware
Thursday, April 10th, 2008
安装了下10.2的rac,在安装clusterware的过程中出现了一系列问题,零散的记录了下
系统环境:
4台刀片主机(linux AS 4.4) + 牛叉存储
RAC + ASM
网络环境配置(每台主机双网卡,只需要配置public,private两个IP,VIP由vipca去虚拟,不需要配置):
#RAC network configure
10.0.38.160 hack1
10.0.38.170 hack1-vip
192.168.0.1 hack1-priv
10.0.38.162 hack2
10.0.38.172 hack2-vip
192.168.0.2 hack2-priv
10.0.38.164 hack3
10.0.38.174 hack3-vip
192.168.0.3 hack3-priv
10.0.38.166 hack4
10.0.38.176 hack4-vip
192.168.0.4 hack4-priv
磁盘用途:
votedisk -> /dev/raw/raw1 -> /dev/sdb1
ocrdisk -> /dev/raw/raw2 -> /dev/sdc1
disk1 -> /dev/raw/raw3 -> /dev/sdd1
disk2 -> /dev/raw/raw4 -> /dev/sde1
/etc/sysctl.conf添加如下内容:
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max [...]
RAC最大支持100个NODE
Thursday, April 10th, 2008
今天在看11G文档,文档中说:
Oracle Clusterware supports up to 100 nodes in a cluster on configurations running Oracle Database 10g Release 2 and later releases.
不知道,有没有人真的用过?
我看3PAR
Thursday, April 3rd, 2008
最近测试了3par的存储,这个厂商在存储领域算是比较新的。以前看myspace的架构时,才第一次听说了这个产品,目前在国内才刚刚开始做。
这个存储有一些特点:
1.中端存储高端化:3PAR定为于高端存储,但是它的架构有点类似中端存储的架构,有控制器的概念,最多可以有8个控制器(S400最多有4个控制器,S800可以有8个),控制器之间由一个网状背板连接起来,每个控制器有两个INTEL的CPU负责控制指令,还有一个3PAR自己控制器的ASIC完成数据移动。普通的中端存储,一个LUN只能属于一个控制器,用户必须将LUN人工分布到两个控制器上,而3PAR每个LUN实际上是由多个控制器并行处理的。
2.非常有特点的盘盒:3PRA插盘的方式非常独特,和其他存储都完全不同,在4U高度的盘盒中,有10个盘包,每个盘包可以纵向插入4块盘,相当于其他存储一块盘的位置插入了四块,所以3PAR的盘的密度非常高。当然这也有问题,比如在换盘时,每次需要将整个盘包拔出,或者盘包自身的背板损坏,可能造成数据丢失等等。不过3PAR已经考虑了这些情况,并有解决方案。
3.虚拟卷管理:第一层:每个盘都被划分为256M的小块(chunklet),由于每个盘盒都和两个控制器相连,所以这些存储块都有两个访问通道。第二层:将这些存储块,基于RAID类型和存储块的位置组成逻辑盘(LD)。第三层:将一个或多个LD映射成为了一个虚拟卷(VV),并最终以LUN的形式输出给主机(VLUN)。这样可以将IO分散到系统所有的磁盘,光纤连接和控制器上,而不象某些存储,必须要借助主机的LVM才能实现。如果我们使用文件系统或者ASM的话,将会很方便。另外一个特点就是管理非常方便,只需要告诉系统我要多大的LUN,其他系统会自动完成。
4.精简配置:也叫做瘦存储(Thin Provisioning),就是将”使用的存储”和”分配的存储”分开了。比如用户规划需要2T的空间,但是目前只需要500G空间,这样存储可以实际只有500G空间,但是告诉主机我有2T的空间。对主机来说,存储的管理将是透明的,当未来存储扩容后,主机不需要再做任何配置工作。
5.动态优化:当存储扩容时,可以动态的将数据重新分布,更改RAID类型,硬盘类型等等。
6.性能:从测试的结果看,3PAR表现相当不错,iops和相应时间都很理想。测试结果就不写了,免得有做广告的嫌疑。
7.界面:个人觉得3PAR的命令行界面很好用,图形界面没见过,不便评论。
目前HDS,EMC的高端存储都在使用,下个月IBM 8300要到货了,期待ing.


