Roby's profileblue_princePhotosBlogListsMore ![]() | Help |
|
blue_princeJune 24 AIX下ASM配置出错处理在配置AIX的ASM时,执行localconfig add报错,出错信息如下:
test:/@root>#/u01/oracle/product/10.2/bin/localconfig add
/etc/oracle does not exist. Creating it now. exec(): 0509-036 Cannot load program crsctl.bin because of the following errors: 0509-130 Symbol resolution failed for crsctl.bin because: 0509-136 Symbol _Getctype__FPCc (number 102) is not exported from dependent module /usr/lib/libC.a[ansi_64.o]. 0509-136 Symbol _Getnumpunct__FPCc (number 106) is not exported from dependent module /usr/lib/libC.a[ansi_64.o]. 0509-136 Symbol __ct__Q2_3std8_LocinfoFPCci (number 176) is not exported from dependent module /usr/lib/libC.a[ansi_64.o]. 0509-192 Examine .loader section symbols with the 'dump -Tv' command. Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'system'.. Operation successful. Configuration for local CSS has been initialized Adding to inittab
A file or directory in the path name does not exist. /etc/init.cssd[911]: /etc/oracle/scls_scr/test/root/cssrun: 0403-005 Cannot create the specified file. Startup will be queued to init within 30 seconds. Checking the status of new Oracle init process... exec(): 0509-036 Cannot load program crsctl.bin because of the following errors: 0509-130 Symbol resolution failed for crsctl.bin because: 0509-136 Symbol _Getctype__FPCc (number 102) is not exported from dependent module /usr/lib/libC.a[ansi_64.o]. 0509-136 Symbol _Getnumpunct__FPCc (number 106) is not exported from dependent module /usr/lib/libC.a[ansi_64.o]. 0509-136 Symbol __ct__Q2_3std8_LocinfoFPCci (number 176) is not exported from dependent module /usr/lib/libC.a[ansi_64.o]. 0509-192 Examine .loader section symbols with the 'dump -Tv' command. Giving up: Oracle CSS stack appears NOT to be running. Oracle CSS service would not start as installed Automatic Storage Management(ASM) cannot be used until Oracle CSS service is started 出现这个错误是由于AIX5.3自带的xlC的版本太低所致,需要到IBM的网站上下个新版本的xlC(推荐版本9以后)安装好后再配置,就可以解决问题:
test:/xlc@root>#/u01/oracle/product/10.2/bin/localconfig reset /u01/oracle/product/10.2
Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'system'.. Operation successful. Configuration for local CSS has been initialized Adding to inittab Startup will be queued to init within 30 seconds. Checking the status of new Oracle init process... Expecting the CRS daemons to be up within 600 seconds. CSS is active on these nodes. test CSS is active on all nodes. Oracle CSS service is installed and running under init(1M) 配置基于ASM存储的STANDBY时日志文件的处理在配置基于ASM存储的STANDBY时,由于控制文件里面记录的联机日志还是原来主库日志文件的信息,因此需要对其做进一步处理。就算是设置了log_file_name_convert这个参数,假如主库的联机日志有两组成员,那么只会有一组成员转换为log_file_name_convert设置的对应ASM目录,另外一个成员还会是原来的目录,另外STANDBY LOGFILE的联机日志目录也不会更改。比如日志文件配置如下,我们看一下整个操作过程:
Thread Group Member Archived Status (MB)
------ ----- ---------------------------------- ---------- ---------------- ------- 1 1 /oradata/datafile/redo1_01.log YES CLEARING 1000 1 1 +DATA/db/onlinelog/redo1_02.log YES CLEARING 1000 1 2 /oradata/datafile/redo1_01.log YES CLEARING_CURRENT 1000 1 2 +DATA/db/onlinelog/redo2_02.log YES CLEARING_CURRENT 1000 1 3 /oradata/datafile/redo3_01.log YES CLEARING 1000 1 3 +DATA/db/onlinelog/redo3_02.log YES CLEARING 1000 Group Member Archived Status (MB)
----- -------------------------------- ---------- ---------------- ------- 11 /oradata/datafile/redo1_01.log NO UNASSIGNED 1000 12 /oradata/datafile/redo1_01.log YES ACTIVE 1000 13 /oradata/datafile/redo1_01.log NO UNASSIGNED 1000 14 /oradata/datafile/redo1_01.log YES UNASSIGNED 1000 首先处理STANDBY LOGFILE,可以把所有的STANDBY LOGFILE GROUP都删除掉重建就行了:
alter database drop standby logfile group 11;
alter database drop standby logfile group 12; alter database drop standby logfile group 13; alter database drop standby logfile group 14; alter database add standby logfile group 11 ('+data') size 1000M;
alter database add standby logfile group 12 ('+data') size 1000M; alter database add standby logfile group 13 ('+data') size 1000M; alter database add standby logfile group 14 ('+data') size 1000M; 对于联机日志,则需要先把各组日志里面不转换为ASM目录的那组成员先删除掉,但是STATUS为CLEARING_CURRENT那组日志成员是无法删除的,可以后续再处理:
alter database drop logfile member '/oradata/datafile/redo1_01.log';
alter database drop logfile member '/oradata/datafile/redo3_01.log';
然后再将对应的日志组CLEAR掉再DROP,由于数据库至少需要两组联机日志,因此只能删除一组联机日志并重建好后才能再处理另一组:
alter database clear logfile group 1;
alter database drop logfile group 1; alter database add logfile group 1 ('+data','+data') size 1000M; alter database clear logfile group 3;
alter database drop logfile group 3; alter database add logfile group 3 ('+data','+data') size 1000M; 等日志组2的状态从CLEARING_CURRENT变成其他状态后,再进一步处理就可以了:
alter database drop logfile member '/oradata/datafile/redo2_01.log';
alter database clear logfile group 2;
alter database drop logfile group 2; alter database add logfile group 2 ('+data','+data') size 1000M; June 23 RMAN restore时ORA-27067错误处理今天在对一个数据库进行RESTORE时一直报ORA-27067,百思不得其解,后面查了下,得知要把备份集改成可读写才行。由于我的数据库备份是备份在NFS上面的,直接把备份集的权限改为666,问题解决。 March 24 机场大巴杀手今年2次坐机场大巴去福州机场,两次大巴都在半路上抛锚了,实乃机场大巴杀手也。上一次是过年后从莆田坐机场大巴,结果在高速路上大巴抛锚,一大车人骂骂咧咧,我倒是不急,因为提前了2个小时,慢悠悠地等着再发一辆大巴过来。上次机场大巴事故后知道,假如因机场大巴问题无法及时登机的,机场方面会尽量帮你处理好,包括办好登机牌,推迟起飞时间等。昨天从福州市区去机场,结果是在出发后没多久大巴就坏了,这次我却是影响最大的两个受害者之一,飞机17:30起飞,到16:30调运的大巴还没过来,不过有了上次的经验,这次又是不急,我相信他们能够处理好。哈哈,17:10左右到达机场,听着广播里面让自己抓紧登机的声音,不免解恨起来:NND,从来都是我等飞机,这次终于轮到飞机等我了 February 16 淘宝网招Oracle&MYSQL DBA、监控开发&值班工程师、数据仓库前端工程师Oracle 产品DBA December 11 关于Exadata(下)在Exadata中,每台Storage Server称为一个Exadata Cell。每个Exadata Cell配置一块具有512MB缓存带电池的RAID卡,一块双端口的Infiniband HCA卡,每个端口连接速度能够达到16Gb/s。如下图所示,一个标准的42U机柜最多可能容纳18台Exadata Cell,配置SAS硬盘的话存储容量能够达到65TB,如果配置SATA硬盘的话则容量为216TB。每个Exadata Cell上的HCA卡双端口分别接到两台不同的Infiniband交换机上以实现冗余。如果需要扩容的话,那么可以添加新的标准机柜,机柜之间的连接通过Infiniband相连。Oracle号称采用这种方式扩容以后,Exadata存储的容量和吞吐量都能够线性增长。 正如前面所说,一个Realm可以跟一台传统存储一样供多个数据库使用,但是传统存储无法控制不同数据库之间的IO消耗能力,有可能一个数据库把一台存储的IO使用完了,导致使用这个存储的其他数据库的IO性能受到影响。而在Exadata上则可以定制IORM(IO Resource Management),方便地将一个Realm中的IO资源分配给不同的数据库使用,比如一个Realm同时给A和B两个数据库使用,我们可以将40%的IO资源给A使用,剩余60%的IO资源给B使用,方便地解决了同一存储不同数据库的IO需求冲突。 December 04 关于Exadata(上)Oracle在今年旧金山的OOW大会上发布了自己和HP合作的第一款硬件产品——Exadata。Exadata包含主机Database Machine和存储Exadata Storage Server两种产品,硬件产品由HP提供,Oracle提供软件支持。Oracle号称该款产品在数据仓库的环境下,相比传统的Oracle数据库有着数量级的性能提升。到底该产品有着怎样的改进和亮点才会让Oracle如此自信,下面我们就Exadata的配置和产品特性做一个简单的了解。 Oracle RAC中的RDS内部互联传统的RAC内部互联大部分都是基于普通网络实现的,目前最为普及的是百兆和千兆网络,最快的也就是尚不普及的万兆网。由于普通网络的速度限制,在需要频繁进行内部通信的多节点RAC数据库中性能就无法得到保证。正是基于这一点,Oracle和Qlogic在2006年2月24号共同发布了基于Infiniband高速互联网络的RDS for Oracle RAC内部互联方案。 如图所示,传统的RAC内部互联协议都是使用UDP协议,这样无论内部互联网络是用普通网络交换机还是Infiniband交换机,都需要先把UDP协议转换成IP协议才能通过网络传输,如果使用Infiniband交换机的话,那么还需要把IP协议转换成为IPoIB协议(IP over Infiniband),这样几经转换,内部互联传输显然效率不高。而使用RDS内部互联的话,那么,Oracle RAC数据库内核可以直接通过RDS协议传输信息,少了几层转换,性能会有质的提升。 November 26 RAC上收集所有节点AWR报告的脚本假如你管理着一个超过十个节点的RAC数据库,而当你查看数据库的AWR报告时,相信你会跟我一样非常头疼,必须一个个节点把各自节点的AWR报告都找出来,然后一个个节点进行查看对比。有没有这么一个脚本,能够将RAC数据库中所有节点的AWR报告整合起来只生成一份,然后我们要诊断RAC数据库的性能时只需要查看这么一份整合好的AWR报告,里面有非常清晰的RAC各节点数据库性能指标的数据排列在一起,可以方便地查看对比各个节点的性能指标差异。Oracle从11g开始提供了$ORACLE_HOME/rdbms/admin/spawrrac.sql这个脚本,就可以满足此需求,而且还可以向下兼容到10g使用,非常方便。 November 23 今天看到彭伟国了 上周到黄龙体育中心看中超浙江绿城的比赛,混入主席台所在的后台就座。当时本来是想看台离教练席近些,看看能不能看到彭伟国。毕竟这是自己最喜欢的国内球员,从94年开始迷上足球之后,国仔就一直是我最喜欢的国内球员,我一直认为他是中国足坛到目前为止脚法最好的球员。当年国仔和他所效力的广州太阳神队都是我所钟爱的,而现在当年太阳神的主教练周穗安和国仔都是浙江绿城执教,因此便想趁机会接近看一眼。
不想上周比赛后国仔倒是都没碰到,出门后居然碰到阎嵩在身边,当时想和他握个手,不过后面觉得无趣也就离开了。这星期浙江绿城最后一个主场对深圳上清饮,还是照例混入主席台看比赛,比赛本身倒是平平,浙江以2:3负于对手。比赛结束以后混入球员通道所在的大厅,等了好久没看到球员出来。于是准备回家,不想一大帮球迷冲着球队所在的大巴过去。于是我也跟着过去看了一下,后面看到阎嵩他们走了过来,让同事帮着给我和阎嵩拍张照片,同事不会用我的相机,结果合影没拍成。大巴离开后我们便冲着过去,这时候同事说那不是彭伟国吗。于是我紧跟着跑进去,找到彭伟国提出合影的要求,我说我可是你十几年的老球迷了。国仔因为球队输球之后兴致不是很高,不过还是很配合地合影,结果比较晕的就是同事接连按了几下快门后还是没拍成我们的合影,我们看到国仔有些不耐烦也就说拍好了,然后跟着国仔从球员通道离开体育场。后面在外面等着的时候顺便和周穗安以及外援奥托拍了两张合影,他们都很配合。快离开的时候看到国仔开着他的BMW735,车牌很牛X,粵A*6666。
虽然说合影没拍成有些遗憾,不过还是挺高兴能够和当年的偶像能够如此地接近。想想时间如流水,14年就这样过去了。当年我还是一个啥都不知道的毛孩子,因为我堂哥满屋子的《足球》报而迷上了足球,继而喜欢上巴乔和彭伟国,更想不到的是居然能够14年后在杭州相继看到他们真人。这在以前这都是那么遥远的事情,只能在电视上看到他们拼搏的身影。可惜他们如今都退役了,而我对足球的喜爱也随着年岁渐长而日渐消逝。再见了,我的偶像们……
November 12 RAC中的跨节点并行在RAC中,我们可以通过设置跨节点并行,将并行操作分布到RAC中的不同节点同时进行,以便发挥整个RAC环境的最大运算能力。在RAC中设置跨节点并行主要是通过设置parallel_instance_group和instance_groups这两个参数进行的。 instance_groups这个参数主要是设置该节点实例是否属于某一个实例组,这个实例组的命名可以根据你的需要随便命名,而没有严格的限制。每个节点可以设置多个不同的实例组名,实例组名用逗号隔开,比如:instance_groups=crm,erp,oltp。这样只要其他节点的instance_groups参数中有设置成一个一样的名字,就表示这个节点也属于这个实例组。比如在一个4节点RAC的环境中,A节点的instance_groups设置为(crm,erp,oltp),B节点设置为(crm,oltp),C节点设置为(crm,erp),D节点设置为(crm,erp,oltp),那么就有A、B、C、D这4个节点共同组成crm这个实例组,A、C、D这3个节点组成erp这个实例组,A、B、D这3个节点组成oltp这个实例组。 parallel_instance_group设置的值为instance_groups里面设置的值,表明这个节点上面进行的并行操作可以跨越哪些实例组。回到上面的例子,假如A节点的parallel_instance_group设置为crm,由于crm这个实例组的成员是A、B、C、D四个节点都有,那么A节点上的并行操作就可以跨越所有的4个节点。如果A节点的parallel_instance_group设置为erp,那么A节点并行操作就可以跨越A、C、D这3个节点。如果一个节点的parallel_instance_group设置的参数在instance_groups中没有设置,那么这个节点的并行操作将只会在本节点进行,假如B节点的parallel_instance_group设置为erp,那么它上面的并行操作将不会跨节点进行。 默认情况下这两个参数都为空,那么并行操作默认将会是跨节点并行的。当然并不是设置了这两个值就一定会发生跨节点并行,是由优化器和RAC的负载均衡机制共同决定一个并行操作是否跨节点并行,需要跨越实例组中的哪几个节点并行还是实例组的所有节点并行,每个节点分配多少个并行进程工作。由于跨节点并行还有内部互联通信的开销,因此并不一定就会比单节点并行会快多少,只有那些很大的并行操作可能才需要到跨节点并行。这个可以根据测试再进行变更。在我们运行的实际案例中,由于跨节点并行的机制比较复杂,有时候会触发一些BUG,甚至并行度为DEFAULT的表在进行跨节点并行DML时一个并行进程死掉导致整个节点宕机。推荐的做法是系统级别的parallel_instance_group这个参数不要设置,不同的程序在部署之前做好测试工作,看是否需要跨节点并行。由于parallel_instance_group是可以在会话级别设置的,可以修改一些需要跨节点并行的程序在执行之前先执行alter session set parallel_instance_group=……一下,然后只限制这些程序跨节点并行。 November 05 RAC的负载均衡RAC的负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工作。在RAC中,负载均衡分为两种,一种是基于客户端连接的,另外一种是基于服务器端的。
这样当客户端连接RAC数据库时,会随机在TNS里面挑个监听地址进行连接。在Oracle10g以前,假如有节点宕机或者类似事故时,客户端可能还是选择连接到这个节点,这样会发生较长时间的TCP等待超时。而在10g以后,由于VIP和FAN的引入,这样的情况可以得到很大程度的改善。客户端的负载均衡在通常情况下能够较好地工作,但是由于连接是在客户端随机发起的,这样客户端并不知道RAC各节点的负荷及连接数情况,有可能负荷大的节点还会源源不断地增加新的连接,导致RAC节点无法均衡工作。
这样服务器端的LOAD BALANCE便配置完成。
另外可以额外设置连接的负载均衡:
October 21 并行度为DEFAULT的表进行PDML时有可能导致RAC中的节点重启也发生过几次,一并记录一下,好记性不如烂笔头。并行度设置为DEFAULT的表如果进行PDML时,会导致相应的节点重启,DEFAULT在并行度默认是按cpu_count*parallel_threads_per_cpu来跑的,但是引起节点重启也是比较怪异的。解决办法便是将表的并行度设置为一个具体的数值。碰到过很多引起节点重启的怪异问题,接下逐渐记录。 wmsys.wm_concat这个函数可能导致RAC节点重启应用中有个行列转换需要使用wmsys.wm_concat这个函数来做,结果发现一旦使用了这个函数,就会导致相应的节点CPU和内存消耗非常之高,接下主机无法响应,导致节点被踢出重启,甚至其他节点为了防止splitbrain而将自己也重启了。看来这个函数的使用还是需要小心。 August 01 并行度设置为default时可能会导致PDML ora-12805错误最近在测试ETL迁移,结果有几条SQL语句老是报ora-12805错误,然后没有进一步的信息。隐约记得这个问题以前处理过,不过具体细节却是忘了。早上准备开SR了,wanghai过来提醒了一下,这几张表的并行为default,应该是因为这个原因引起的。猛然想起来去年也碰到这问题,解决办法便是把表的并行度固定住,设置为具体的数字,不再让它为DEFAULT,这样就好了。好记性不如烂笔头,还是需要多做做笔记。 July 27 把我的生日改成情人节了当初入职HR外包人员填信息时不小心把我的身份证号填错了,0124写成0214,当初估计填的时候还在想这小子真会挑日子生,选在情人节这天落地。结果我现在办啥事身份证号出错都得折腾一番。本来这个周末要去取公积金的,临走前突然间想到这事,就打电话查了下,果然公积金帐户的身份证号也搞错了。幸好还没出门,要不这么大热的天白跑一趟我会杀人的。 July 22 Linux下如何迁移VG及文件系统在LINUX下,如果需要将一台主机上的文件系统迁移至另外一台主机上,并且文件系统是基于LVM创建的,那么可以使用VG导入导出功能将VG和LV在不同主机上迁移。
源主机上操作:
首先在源主机上将文件系统umount:
umount /u05
再将LV和VG inactive:
lvchange -an /dev/vg_u05/lv_u05
vgchange -an vg_u05 最后导出VG:
vgexport vg_u05
目标主机上操作:
导入VG:
vgimport vg_u05
激活VG,MOUNT 文件系统:
vgchange -ay vg_u05
mkdir /u05 mount /dev/vg_u05/lv_u05 /u05 如何转换RAC中RDS和UDP互联配置基于Infiniband RDS内部互联方案的RAC时,需要重新build Oracle library。在操作之前需要先把整个RAC中的ASM实例和数据库实例都停止掉,然后进行BUILD:
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk ipc_rds ioracle 而将RDS切换回普通的UDP协议时,则比较简单:
$ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk ipc_g ioracle Solaris安装RAC运行root.sh失败解决一例前段时间一个朋友在安装Solaris上的RAC时,安装clusterware最后一步运行root.sh总是无法成功,报如下的错:
# ./root.sh WARNING: directory '/oracle/product/10.2' is not owned by root
WARNING: directory '/oracle/product' is not owned by root
WARNING: directory '/oracle' is not owned by root
Checking to see if Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Failed to upgrade Oracle Cluster Registry configuration r
看了一下crs的alert日志:
2008-07-01 23:51:53.642 [client(2216)]CRS-1006:The OCR location /oracle/OCR_A is inaccessible. Details i n /oracle/product/10.2/cluster/log/db1/client/ocrconfig_2216.log. 2008-07-01 23:51:53.807 [client(2216)]CRS-1001:The OCR was formatted using version 2.
细看/oracle/product/10.2/cluster/log/db1/client/ocrconfig_2216.log:
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracl e. All rights reserved. 2008-07-01 23:51:53.612: [ OCRCONF][1]ocrconfig starts... 2008-07-01 23:51:53.612: [ OCRCONF][1]Upgrading OCR data 2008-07-01 23:51:53.630: [ OCRRAW][1]propriogid:1: INVALID FORMAT 2008-07-01 23:51:53.631: [ OCRRAW][1]ibctx:1:ERROR: INVALID FORMAT 2008-07-01 23:51:53.631: [ OCRRAW][1]propri
发现在格式化OCR的盘时出错。第一个反应是祼设备权限的问题,折腾几次后发现这个并不存在问题。最终定位到问题是由于ocr和voting disk对应的祼设备用了cylinder 0,而Solaris上祼设备的cylinder 0是要预留给系统使用的,因此才会导致格式化OCR失败。解决办法便是重建OCR和VOTING DISK对应的祼设备,跳过CYLINDER 0。 July 21 RAC中如何更改对外网卡和内部互联网卡的IP及VIP在RAC环境中,有时候由于需要会更改网卡或IP地址,这边简单记录一下操作步骤(参考metalink文档:283684.1)。
1、查看当前PUBLIC网卡和PRIVATE网卡的配置:
test1:/home/oracle>$oifcfg getif
eth1 10.0.100.0 global cluster_interconnect eth0 172.19.20.0 global public 2、更改PUBLIC网卡或者IP:
比如我们需要将PUBLIC网卡从eth0改为bond0,IP地址由172.19.20.0 改为172.13.20.0 。那么首先必须用oifcfg delif 命令删除原先的PUBLIC网卡设置,然后再用oifcfg setif 命令更改网卡及IP配置,这步只要在任意一个节点执行就可以了。(注意:在更改PUBLIC或者PRIVATE网卡及IP之前都需要将RAC中的资源停止,可以使用crs_stop -all来停止)
test1:/home/oracle>$oifcfg delif -global eth0
test1:/home/oracle>$oifcfg setif -global bond0/172.13.20.0:public
再查看可以看到PUBLIC网卡及IP都更改过来了:
test1:/home/oracle>$oifcfg getif
eth1 10.0.100.0 global cluster_interconnect bond0 172.19.20.0 global public 3、更改PRIVATE网卡或者IP:
这一步和更改PUBLIC网卡大同小异,比如说我们需要将PRIVATE网卡从eth1改为ib1:
test1:/home/oracle>$oifcfg delif -global eth1
test1:/home/oracle>$oifcfg setif -global ib1/172.13.20.0:cluster_interconnect
4、更改VIP配置:
更改PUBLIC网卡后,那么RAC各个节点的VIP必须重新配置,以便CRS知道VIP对应PUBLIC网卡名称的变更:
test1:/home/oracle>$srvctl modify nodeapps -n test1 -A 172.13.20.1/255.255.255.0/bond0
这样执行完以后,整个更改便完成了。
July 20 需要调整一下凡事不能操之过急。越想得到结果,结局往往适得其反。把每一件事情都处理解决好,那么收获就是水到渠成的。坚信没有解决不了的问题,碰到困境的时候换种思路,不要陷进死胡同。积极对待一切。 June 13 RAC:Write-to-Read TransferThe behavior of the write-to-read transfer is determined by the _FAIRNESS_THRESHOLD parameter,which was introduced in Oracle 8.1.5 and defaults to 4. Prior to the introduction of this parameter,when Instance A held a block in exclusive mode and Instance B requested a read-only copy of that block, Instance A would downgrade its exclusive lock to a shared lock and send the block to Instance B,which would also set a shared lock on the block. However, if Instance A is performing frequent updates From:Pro Database 10g RAC on Linux
June 12 RAC建库时报ASM单实例错误的解决办法 安装好RAC后,在用DBCA建库时选择ASM做为存储方案时,有时候会报错说ASM是单实例环境,不是RAC环境,这样就无法继续建库下来,出错信息如下:
The ASM instance configured on the local node is a single-instance ASM.To create a single-instance database using this ASM instance ,restart DBCA and select the single-instance database option ,to create a RAC database using this ASM instance,convert it to RAC ASM first.
这个错误一般是发生在重装clusterware和database后,这样无论怎么样重启DBCA运行都会报同样的错。具体的解决办法便是在/etc/oratab里面的关于ASM的记录:+ASM1:/u01/app/oracle/product/10.2.0/db_1:N这么一行删除掉,再接着建库就可以了。碰到过多次这个错误,记录在这里备忘一下。 May 15 使用DBMS_FILE_TRANSFER配置DATA GURAD和克隆数据库通常我们配置DATA GUARD,都需要对主库进行备份,再把备份的备份集复制到备库端进行配置。但是当数据库非常大时,尤其是数据库采用ASM作为存储方案时,如果没有足够的空间用于存放备份集,这样显然就无法通过常规的方式来配置STANDBY。利用DBMS_FILE_TRANSFER则可以方便地将主库的数据文件直接传递至备库的ASM磁盘组,这样再也不需要使用中间存储存放备份文件。下面简单介绍一下通过DBMS_FILE_TRANSFER配置基于ASM存储方案的DATA GUARD和克隆数据库的方法。
三、在主库端创建到数据文件目录的directory。
四、在备库端创建好备库的相应目录,比如bdump,udump等目录,另外在备库的ASM实例中创建备库的数据文件、控制文件等目录。
五、在备库的中间数据库上创建好两个DIRECTORY,用于存放传递过来的数据文件和控制文件。
六、在中间数据库开始传输数据文件。
这样依次对主库的每个数据文件进行处理传递后,主库上的数据文件都会传递至备库的ASM磁盘组上。
如果是克隆数据库的话,那么生成一个普通备份控制文件即可:
然后传输控制文件:
八、 配置备用库。 首先配置好备库的参数文件,并且配置好主库和备库的TNS,接下就可以配置备用库了:
如果是配置克隆数据库的话,则直接将数据库MOUNT就行:
执行RMAN的catalog命令,以使控制文件能够识别传输过来的数据文件:
然后将这些数据文件转换为备库的数据文件:
如果是配置DATA GUARD的话,则可以将备库置为恢复模式:
如果是配置克隆数据库的话,那么直接恢复数据库并打开:
这样DATA GUARD和克隆数据库就配置完成了。最后可以把中间操作创建的directory,DB LINK和中间数据库删除掉。 |
|||
|
|