Nov
30
2007
将数据文件从文件系统转移为裸设备,很简单,记录一下操作。
1. 从v$datafile中找到需要转换的数据文件file#
2. 从dba_data_files中找到数据文件所在的表空间名称,因为restore之前要将相关表空间offline才可以
3. 创建好相应的目的裸设备
4. 数据库必须处于归档状态
在RMAN中运行如下命令:
run{
sql "alter tablespace ADMASDB_DEFAULT offline";
allocate channel d1 TYPE DISK;
set newname for datafile 136 to '/home/oracle/oradata/admas/roralv08';
set newname for datafile 164 to '/home/oracle/oradata/admas/roralv5G_3';
restore datafile 136;
restore datafile 164;
switch datafile all;
recover datafile 136;
recover datafile 164;
sql "alter tablespace ADMASDB_DEFAULT online";
}
RMAN 


Nov
30
2007
今天给客户做文件系统数据文件转移到裸设备上的操作,用RMAN来完成,本来很简单的事情,但是却意外地碰到了下面的错误。
RMAN> backup database;
Starting backup at 30-NOV-07
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=23 devtype=DISK
RMAN-00571: =============================
RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =
RMAN-00571: =============================
RMAN-03002: failure of backup command at 11/30/2007 12:30:48
ORA-00600: internal error code, arguments: [525], [0x700000118D65E98], [5], [library cache], [17], [0x700000000025618], [device information], []
ORA-27041: unable to open file
IBM AIX RISC System/6000 Error: 25: Not a typewriter
Additional information: 16
在alertlog中也有相同的ORA-600报错,检查了RMAN要备份的数据文件权限,检查了RMAN备份目的地的目录权限,检查了数据库启动之后RMAN备份之前的alertlog,没有发现任何异常,怪哉。
Metalink上相关的文章有:Note:262997.1 和 Bug No. 2181764。
只是简单地描述这是一个只有在AIX平台上才会碰到的问题,是因为RMAN在备份过程中查询X$KRBAFF表(KRB is Kernel Backup/Restore, AFF is disk and node AFFinity)引起的,解决方法是使用diskratio=0来进行备份,也就是backup命令要改为:
backup format 'path' database diskratio=0;
diskratio参数很少用到,它指定的是RMAN从多少块磁盘上读取数据文件,默认值跟FILESPERSET参数相同,如果不指定FILESPERSET参数那么该参数值是4,但是RMAN仍然会考虑真正参与备份的磁盘数,如果小于4那么就选择较小的那个数。
更进一步地在内部站点上查一下资料可以看到跟源码中的skgfdlndv()函数有关。
只有raw devices才有affinity info,而这次的备份牵涉到的文件全部都是文件系统,如果对于文件系统调用了ioctl检查affinity info那么就会出现OER(27041)的报错。
问题是解决了,但是仍然有疑问。
是什么操作系统级别的设定(比如内核参数)或者存储级别的设定(比如PV或者VG的参数)导致必须要指定diskratio=0才能RMAN备份成功?
ORA 27041 


Nov
28
2007
听说新版Gmail邮件已经有永久链接了,可以更简单地在朋友之间分享邮件搜索结果?
那么这个意思是只能把搜索结果分享给那些曾就某封邮件有过互相交流的朋友?还是说我可以把邮件分享给任何一个我愿意分享的朋友呢?
比如现在我收到一封邮件,是一个朋友的乐队小样,曲调优美,配器成熟,主唱声音超专业,我想直接把这封gmail里面的邮件分享出来我该怎么做?
好吧,我承认我是懒得把邮件里面的歌曲下载到本地,然后再上传到某个服务器上,然后再把这个服务器上的URL分享出来。
Gmail 


Nov
28
2007
最高气温20度以上的广州,我明天要投入你的怀抱啦,然后呢。。。过两天我要再一头扎进晚上冷掉渣的乌鲁木齐。
对于我这样每次出差都只背一个电脑包的人来说,这是一件伤脑筋的事情,我该穿什么衣服去这两个迥异的城市呢?我该穿一条裤子还是两条裤子呢?
上帝哥哥,给我一个秋天去新疆的机会好吗?别总是冬天呐,什么也吃不到,什么也看不了。
No Tags