asm failgroup and css

2009.01.21 6:29 下午 »Author: bosonmaster »
ASM有三种冗余度
external redundancy
normal redundancy
high redundancy
 
第一种是外部冗余,也就是说通过硬件级别的
RAID来保护数据
第二种是正常冗余,也就是
2路镜像来保护数据,默认的
第三种是高度冗余,也就是通过
3路镜像来保护数据
还有要说明的
ASM镜像是数据文件extent级别的镜像,不是整个磁盘的镜像,因此最好保持磁盘大小一样
并且在
normal redundancy中,又有primary extentsecond extent,写的时候两个并行写,读的时候默认从主的读,并且2extent一定分布在不同的failgroup里,也就是FAILGROUP的意义

asm operation

2009.01.21 4:53 下午 »Author: bosonmaster »
最近有个客户一定要上ASM,没办法之前学习过,不过一直没用,重新温习下,下篇介绍下KFED的使用
 
一、
ASM的相关参数
 
instance_type:有2个,ASM或者RDBMS
DB_UNIQUE_NAME
ASM_POWER_LIMIT:
ASM_DISKGROUPS
ASM_DISKSTRING
 
二、配置一个
ASM实例
 
touch init+ASM.ora
添加一句
instance_type=asm
 
export ORACLE_SID=+ASM
 
sqlplus / as sysdba
 
create spfile from pfile='/tmp/init+ASM.ora';
 
startup nomount;
 
三、启动和关闭
ASM
 
startup force/nomount/mount
shutdown normal/immediate/transactional/abort
 
四、创建磁盘组
 
三种级别
 
normal redundancy
 
high redundancy
 
external redundancy
 
 
 
CREATE DISKGROUP disk_group_1 NORMAL REDUNDANCY
 
FAILGROUP failure_group_1 DISK
    
'/dev/raw/raw1' NAME diska1,
    
'/dev/raw/raw2' NAME diska2,
 
FAILGROUP failure_group_2 DISK
    
'/dev/raw/raw3' NAME diskb1,
    
'/dev/raw/raw4' NAME diskb2
 
 
删除一个磁盘组及其相关磁盘
 
drop diskgroup disk_group including contents
 
添加磁盘
 
alter diskgroup disk_group add disk '/dev/disk*3','/dev/disk*4';
 
删除磁盘
 
 
alter diskgroup disk_group drop disk diska2
 
 
 
调整磁盘组或者磁盘的大小
 
 
 
ALTER DISKGROUP disk_group_1
 
RESIZE DISK diska1 SIZE 100G;
 
ALTER DISKGROUP disk_group_1
 
RESIZE DISKS IN FAILGROUP failure_group_1 SIZE 100G;
 
-- Resize all disks in a disk group.
ALTER DISKGROUP disk_group_1
 
RESIZE ALL SIZE 100G;
 
 
撤销
DROP
 
 
ALTER DISKGROUP disk_group_1 UNDROP DISKS;
 
 
手动平衡数据
 
 
ALTER DISKGROUP disk_group_1 REBALANCE POWER 5;
 
 
手动
MOUNT单个或者磁盘组
 
ALTER DISKGROUP ALL DISMOUNT;
ALTER DISKGROUP ALL MOUNT;
ALTER DISKGROUP disk_group_1 DISMOUNT;
ALTER DISKGROUP disk_group_1 MOUNT;
 
 
四、创建目录
 
-- Create a directory.
ALTER DISKGROUP disk_group_1 ADD DIRECTORY '+disk_group_1/my_dir';
 
-- Rename a directory.
ALTER DISKGROUP disk_group_1 RENAME DIRECTORY '+disk_group_1/my_dir' TO '+disk_group_1/my_dir_2';
 
-- Delete a directory and all its contents.
ALTER DISKGROUP disk_group_1 DROP DIRECTORY '+disk_group_1/my_dir_2' FORCE;
 
 
五、别名
 
-- Create an alias using the fully qualified filename.
ALTER DISKGROUP disk_group_1 ADD ALIAS '+disk_group_1/my_dir/my_file.dbf'
 
FOR '+disk_group_1/mydb/datafile/my_ts.342.3';
 
-- Create an alias using the numeric form filename.
ALTER DISKGROUP disk_group_1 ADD ALIAS '+disk_group_1/my_dir/my_file.dbf'
 
FOR '+disk_group_1.342.3';
 
-- Rename an alias.
ALTER DISKGROUP disk_group_1 RENAME ALIAS '+disk_group_1/my_dir/my_file.dbf'
 
TO '+disk_group_1/my_dir/my_file2.dbf';
 
-- Delete an alias.
ALTER DISKGROUP disk_group_1 DELETE ALIAS '+disk_group_1/my_dir/my_file.dbf';
 
 
六、
 
删除文件
 
 
-- Drop file using an alias.
ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1/my_dir/my_file.dbf';
 
-- Drop file using a numeric form filename.
ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1.342.3';
 
-- Drop file using a fully qualified filename.
ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1/mydb/datafile/my_ts.342.3';
 
 
 
ASM 相关视图
 
 
V$ASM_ALIAS
 
V$ASM_CLIENT
V$ASM_DISK
V$ASM_DISKGROUP
V$ASM_FILE
V$ASM_OPERATION
V$ASM_TEMPLATE
V$ASM_DISKGROUP_STAT
 
 
其中
ASM DISK HEAEDER状态有以下几种
 
SQL> select name,header_status from v$asm_disk;
 
NAME                                               HEADER_STATU
------------------------------------------------
-- ------------
                                                  
CANDIDATE
TEST_ASM_0001                                      MEMBER
TEST_ASM_0000                                      MEMBER
TEST_ASM_0002                                      MEMBER
TEST_ASM_0003                                      MEMBER
TEST_ASM_0004                                      MEMBER
TEST_ASM_0005                                      MEMBER
TEST_ASM_0006                                      MEMBER
 
 
Former - This state declares that the disk was formerly part of a diskgroup
Candidate - When a disk is in this state, it indicates that it is available to beadded to a diskgroup.
Member - This state indicates that a disk is already part of a diskgroup.
Provisioned - This state is similar to candidate, in that its available to diskgroups.
However, the provisioned state indicates that this disk has been
configured or made available using ASMLIB
 
 
ASM的一些隐含参数
 
select a.ksppinm "Name", b.ksppstvl "Value"
 
from x$ksppi a, x$ksppcv b
 
where a.indx = b.indx
  
and ksppinm like '\_%asm%' escape '\'
order by a.ksppinm;

create catalog

2009.01.20 4:38 下午 »Author: bosonmaster »
测试RSS输出随便黏贴点
 
 
第一步:在目标数据库中创建恢复表空间:
        
SQL>create tablespace rman_tbs datafile '....' autoextend on size 50M;
第二步:在目标数据库中创建恢复用户,并分配回复表空间(
rman_tbs)的定额:
        
SQL>create user rman identified by rman
                    
temporary tablespace temp
                    
default tablespace rman_tbs
                    
quota unlimited on rman_tbs;
第三步:赋予恢复目录所有者权限:
        
SQL>grant  recovery_catalog_owner to rman;
第四步:以恢复目录所有者身份登录
RMAN恢复目录:
            
RMAN>connect catalog rman/rman;
第五步:在恢复目录中创建恢复表空间(
rman_tbs):
        
RMAN>create catalog tablespace rman_tbs;
第六步:退出
RMAN
第七步:连接目标数据和恢复目录数据库,并注册数据库:
        
RMAN>connect target rman/rman catalog rman/rman;
            
            
RMAN>register database;

bug-5970258

2009.01.19 10:21 上午 »Author: bosonmaster »
早上有客户系统报告,数据库里600错误,报错如下:
ORA-00600: internal error code, arguments: [kole_t2u], [34], [], [], [], [], [], []
查看
trace文件有如下信息
/
u01/app/oracle/admin/lzrac/bdump/lzrac1_m000_29992.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db
System name: Linux
Node name: lzrac1
Release: 2.6.9-42.ELlargesmp
Version: #1 SMP Wed Jul 12 23:46:39 EDT 2006
Machine: x86_64
Instance name: lzrac1
Redo thread mounted by this instance: 1
Oracle process number: 40
Unix process pid: 29992, image: <a href="mailto:oracle@lzrac1">oracle@lzrac1</a> (m000)
***
ACTION NAME:(Remote-Flush Slave Action) 2009-01-17 01:00:27.388
***
MODULE NAME:(MMON_SLAVE) 2009-01-17 01:00:27.388
***
SERVICE NAME:(SYS$BACKGROUND) 2009-01-17 01:00:27.388
***
SESSION ID:(3145.11960) 2009-01-17 01:00:27.388
***
2009-01-17 01:00:27.388
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kole_t2u], [34], [], [], [], [], [], []
Current SQL statement for this session:
INSERT INTO wrh$_sqltext    (sql_id, dbid, sql_text,     command_type, snap_id, ref_count)
SELECT    sqlid_kewrstx, :dbid, sqlfulltext_kewrstx,    cmdtype_kewrstx, :lah_snap_id, 0 ref_count
FROM x$kewrtsqltext
---
-- Call Stack Trace -----
calling              call     entry                argument values in hex   
location             type     point                (? means dubious value) 
------------------
-- -------- -------------------- ----------------------------
ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
                                                  
7FBFFEF370 ? 7FBFFEF3D0 ?
                                                  
7FBFFEF310 ? 000000000 ?
ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
。。。。。。。。
KSOLS: Begin dumping all object level stats elements
KSOLS: Done dumping all elements. Exiting.
Dump event group for SESSION
Dump event group for SYSTEM
***
KEWROCISTMTEXEC - encountered error: (ORA-00600: internal error code, arguments: [kole_t2u],
[
34], [], [], [], [], [], []
)
  ***
SQLSTR: total-len=211, dump-len=211,
      
STR={INSERT INTO wrh$_sqltext    (sql_id, dbid, sql_text,     command_type, snap_id, ref_count)
 
SELECT    sqlid_kewrstx, :dbid, sqlfulltext_kewrstx,    cmdtype_kewrstx, :lah_snap_id, 0 ref_count
FROM x$kewrtsqltext}
***
KEWRAFM1: Error=13509 encountered by kewrfteh
经查询
METALINK,确认为BUG 5970258,只有到11G才能修复,目前来看问题不大
相关文档
ID:553528.1

内蒙TAX和火车票

2009.01.13 11:16 下午 »Author: bosonmaster »

今天第二次来呼和浩特,刚下飞机就遇见郁闷的事,来的时候也听同事说了,就是这出租车,明明从机场到市区打表跑也就20多块,非和我要35,以为我不知道距离,我说30吧,他说不行,我说打表也就20多,他说不行,后来想就35吧,结果呢?司机还不走,还说在等几个,NND这还是出租车吗?我也就在温州的时候遇见过拼车的事,后来想算了,我就做大巴吧,反正时间不急,5块钱做到市区,就是等了半个小时,这边航班少,不过还可以,到市区又打了个车到住的地方和司机说这事,司机说要是我要50,他说在机场等一个小时就是为了赚这份钱,在市区里随便转一个小时也有50块了,丢,不说了。所以下次到呼和浩特的兄弟们,注意下,时间不紧的话做大巴吧,还有阿,这内蒙虽说零下10几度,但是屋里热的狠。没有想象中那么冷、。

在说说这闹心的火车票,在北京的时候,有2年没回家过年,这次到杭州了,想着怎么也的回家了,有好几个朋友帮排队买票,结果到23号的票都没了,汽车23号的也没了,就剩下飞机了,这回趟家还真难,老妈说了,就算走也的回来,知道她想我回去了,看来还的继续为票的事努力下,不是我不想回,是这票也忒难买了,有认识黄牛的人可以留言给我。