aio引起sqlplus / as sysdba不能用2008-04-23 11:40不单单是:“aio引起sqlplus / as sysdba不能用”
i2的系统,用户自己维护的
OS:AIX 5.3
Oracle: 10.2
询问并检查了一下情况:
1. 重装了操作系统,Oracle软件和数据文件在另外的VG中。
2. 环境变量恢复到重装系统之前的状态,Oracle用户和组也已经创建(UID,GID都与原来相同),文件的权限也都没有改变。
3. 当sqlplus / as sysdba的时候报错:
[qasmdm1:oracle] /oracle/home>> sqlplus / as sysdba
SQL*Plus: Release 10.2.0.2.0 - Production on Wed Apr 23 10:34:49 2008
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
Could not load program oracledevmdm:
Symbol resolution failed for /usr/lib/libc.a[aio_64.o] because:
Symbol kaio_rdwr64 (number 1) is not exported from dependent
module /unix.
Symbol listio64 (number 2) is not exported from dependent
module /unix.
Symbol acancel64 (number 3) is not exported from dependent
module /unix.
Symbol iosuspend64 (number 4) is not exported from dependent
module /unix.
Symbol aio_nwait (number 5) is not exported from dependent
module /unix.
Symbol aio_nwait64 (number 6) is not exported from dependent
module /unix.
Symbol aio_nwait_timeout (number 7) is not exported from dependent
module /unix.
Symbol aio_nwait_timeout64 (number 8) is not exported from dependent
module /unix.
System error: Error 0
Examine .loader section symbols with the 'dump -Tv' command.
ERROR:
ORA-12547: TNS:lost contact
metalink查了一下,说是aio的问题。检查了一下AIO
PEKAX131:/dev>smit aio
Change/Show Characteristics of Asynchronous I/O
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
MINIMUM number of servers [1] #
MAXIMUM number of servers per cpu [15] #
maximum number of REQUESTS [4096] #
server PRIORITY [39] #
STATE to be configured at system restart defined +
State of fast path enable
确实没有自动启动,执行下面的操作启动AIO:
PEKAX131:/>mkdev -l aio0
aio0 Available
并且smit aio 把STATE to be configured at system restart 修改为available
再sqlplus连接并启动库都没有问题了
[qasmdm1:oracle] /oracle/home> sqlplus / as sysdba
SQL*Plus: Release 10.2.0.2.0 - Production on Wed Apr 23 11:20:24 2008
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup
经询问,知道了原因:
用户原来做过mksysb(AIX备份操作系统的命令方式)
出问题是在前一天晚上操作系统问题之后恢复了mksysb,而aix恢复完之后并没有启用aio.
正常情况,aix安装oracle之前执行rootpre