DBA备忘录:Data Guard之添加数据文件
一般情况下,如果数据文件采用的是裸设备,为了便于管理,会在裸设备上创建soft link,这样在data guard环境中就有个问题,必须在主备库同时执行创建相同的link,否则备库是auto standby file management的话,会导致数据文件创建失败(前提是去掉了文件系统的写权限,否则会加到文件系统中去,这样麻烦更麻烦了)。
加入在主库创建了soft link,添加了datafile,而备库没有创建对应的link多话,则会遇到以下错误:
ORA-01274: cannot add datafile '/u01/oracle/oradata/comm/test.dbf' - file could not be created
ORA-01119: error in creating database file '/u01/oracle/oradata/comm/test_66.dbf'
ORA-27040: skgfrcre: create error, unable to create file
IBM AIX RISC System/6000 Error: 13: Permission denied
Some recovered datafiles maybe left media fuzzy
Media recovery may continue but open resetlogs may fail
MRP0: Background Media Recovery process shutdown
奇文共赏:我愿意做一辈子的程序员
很久没去CSDN逛了,今天无聊进去溜达了一下,好像也弄了个C币,根据社区技术积分和blog访问量兑换的,虽然已经快两年不混那边了,还是累计了将近3w分,似乎还是能换点书和小礼品啥的,不过去得晚了,好点的书基本上都空仓了,只换了本《 MySQL 5权威指南(第3版)》和11月的《程序员》杂志,真是有钱没处花啊^_^
还发现了个牛人,他的一篇blog还是让我挺感动的,CSDN的SQL版也算是藏龙卧虎了,呵呵。
文章地址:
http://blog.csdn.net/hb_gx/archive/2007/07/25/1708164.aspx#736374
AIX下遭遇TNS-12531
上周做HACMP的时候,由于修改了/etc/hosts中的内容,将原来的IP变成了HA的service IP,后面的名字也就从原来的hostname改成了hostname_SVC,也就是/etc/hosts中没有了IP和hostname的对应记录,然后启动监听的时候发现监听无法起来,一直挂起在那里:
$lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production on 24-NOV-2007 17:45:25
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Starting /u01/oracle/product/9.2/bin/tnslsnr: please wait…
TNSLSNR for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
System parameter file is /u01/oracle/product/9.2/network/admin/listener.ora
Log messages written to /u01/oracle/product/9.2/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.168.168)(PORT=1521)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
查看 /u01/oracle/product/9.2/network/log/listener.log,发现全是TNS-12531错误,并且在不停的增加中:
TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory
开玩笑,系统已经切换到备库,怎么可能连起监听的内存都没有了,显然不是内存不足的问题。后来还是piner想起以前也出现过相同的状况,就是/etc/hosts中缺乏hostname的记录引起的,果然一加上就正常了。注意到listener.ora中用的是IP,不是hostname。
今天又测试了一把,在AIX5.3和Oracle9206中该问题是可以重现的,在Redhat Linux Enterprise 4中没有问题。查metalink,Note:219206.1上说Unix平台都有这个问题,另外还有一个可能的原因就是oracle用户没有权限读取/etc/hosts文件。有其他平台如HP-UX,Solaris的朋友可以帮忙测试一下^_^
Redhat Linux网卡配置与绑定
Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。
相关的配置文件
/ect/hosts 配置主机名和IP地址的对应
/etc/sysconfig/network 配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推
一、网卡配置
假设我们要配置主机名为test,eth0的IP地址192.168.168.1/24,网关地址192.168.168.250
则/etc/sysconfig/network文件内容如下:
NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.168.250
eth0对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容如下:
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.168.1
NETMASK=255.255.255.0
TYPE=Ethernet
ONBOOT=yes