Author Archive

ASM 磁盘组也可以当成AIX的VG来用

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 ...

Oracle 11G RAC环境的load balance + TAF配置

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 ...

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 ...

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> ...

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 ...

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 = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range ...

10G的compress表测试

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(*) ...

利用块跟踪来缩短增量备份时间

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 ...