Author Archive
Monday, July 21st, 2008
当多台AIX连接相同的SAN存储时,存储lun可以同时输出到各个主机,这样VG可以在各个主机自由的切换,
为拷贝转移文件提供了极大的便利,现在发现ASM也可以这么做
我们的RAC环境是4个linux接点加一个linux standby
存储输出是4个lun ,disk[1,2,3,4],每个512G,每个lun都同时输出到5台主机,
其中disk1,disk2作为4个RAC接点的共享磁盘,做了裸设备,并创建了asm磁盘组 mydiskgroup
disk3,disk4作为standby的磁盘,也做了asm磁盘组 diskgroupstb
现在rac里面已经导入了点数据,数据库有400G,要做standby,走网络拷贝到备机上感觉太慢了,就试了下上面的想法
1.备机上卸载磁盘组diskgroupstb
@>shutdown immediate;
ASM diskgroups dismounted
ASM instance shutdown
2.4个rac接点的ASM参数文件修改asm_diskstring
@>alter system set asm_diskstring='/opt/oracle/oradata/myasm/disk[1,2,3,4]' scope = spfile;
System altered.
3.重起asm,并挂上diskgroupstb
@>startup force;
ASM instance started
Total System Global Area 283930624 bytes
Fixed Size 2143704 bytes
Variable Size 256621096 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
@>show parameter string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring string /opt/oracle/oradata/myasm/disk
[1,2,3,4]
@>alter diskgroup diskgroupstb mount;
Diskgroup altered.
ASMCMD> ls ...
Posted in 大话技术 | 7 Comments »
Monday, July 14th, 2008
一.客户段的load balance + TAF
sword =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hack1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = hack2-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = hack3-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = hack4-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER = ON)
(CONNECT_DATA ...
Posted in 大话技术 | 1 Comment »
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 ...
Posted in 大话技术 | 3 Comments »
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> ...
Posted in 大话技术 | No Comments »
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 ...
Posted in 大话技术 | 3 Comments »
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 = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range ...
Posted in 大话技术 | No Comments »
Thursday, March 13th, 2008
做了个10G中的压缩表测试,发现压缩比例还是比较高的,关键看数据是否按照重复性高的列在排序
也对压缩表和非压缩表查询进行了对比,测试结果表明解压还是存在不少的CPU消耗,时间居然比普通表要久,
但数据很多是经过cache的,相信在IO比较多的查询上,IO量的节省带来的效益应该可以盖过CPU计算产生的消耗
cnckweblog@DWALI> create table nocompress_10G as select * from all_objects;
Table created.
cnckweblog@DWALI>create table compress_10G nologging compress as select * from nocompress_10G;
Table created.
cnckweblog@DWALI> select SEGMENT_NAME,sum(BYTES) from user_extents where segment_name in ('NOCOMPRESS_10G','COMPRESS_10G') group by SEGMENT_NAME;
SEGMENT_NAME SUM(BYTES)
------------------------------ ----------
NOCOMPRESS_10G 2134900736
COMPRESS_10G 639631360
全表扫描,压缩表比较有优势
cnckweblog@DWALI>select count(*) from nocompress_10G;
17995776
1 row selected.
Elapsed: 00:00:05.69
cnckweblog@DWALI>select count(*) from compress_10G;
17995776
1 row selected.
Elapsed: 00:00:01.50
owner列应该是高度压缩的,选择他会引起CPU的消耗,结果压缩表比较慢
cnckweblog@DWALI>select count(*) ...
Posted in 大话技术 | 7 Comments »
Saturday, March 1st, 2008
oracle提供增量备份数据库的功能,这个功能的大致原理就是根据上次备份记录的checkpoint scn来比较,备份自上次
备份以来,数据块头SCN变化过的块,9I版本的这个功能并不能有效减小备份时间,因为他还是要把整个文件读入缓冲区,逐个数据块进行检查和校验,只不过推入输出缓冲区的数据块会少很多,备份片会小很多,如果到备份设备的IO不存在瓶颈,花的时间可能和一次全备差不多,但是从10G版本开始,引入了BLOCK CHANGE TRACKING特性,这次算是真正的增量了。
当这个特性开启后,ORACLE会创建一个trace文件,并起用后台进程CTWR记录变化的数据块,当需要增量备份的时候,就直接读这个文件获得要备份的数据块,速度确实是有质的飞跃
--全备数据库
run
{
allocate channel c1 device type disk format '/opt/oracle/rman/mydb_full_bck%u';
backup incremental level 0 database ;
}
allocated channel: c1
channel c1: sid=841 device type=disk
starting backup at 2008-03-01 18:19:10
finished backup at 2008-03-01 18:19:45
全备耗时35秒
--增量数据
sys@mydb>create table mytable tablespace myspace as select * from dba_objects where 1 = 2;
table created.
sys@mydb>insert into mytable select ...
Posted in 大话技术 | 9 Comments »