`
itspace
  • 浏览: 978654 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle sqlplus登陆异步io错误

阅读更多
先简单交代一下操作环境,主机版本为AIX 5307,数据库版本为10.2.0.4。为贪图方便,我从另一环境下(操作系统也为aix 5307),直接将Oracle软件tar至本地主机。然后进行relink all。至此,一切正常。但执行sqlplus时,出现以下问题:
引用
$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Apr 1 09:51:47 2011

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

exec(): 0509-036 Cannot load program oracleorajf because of the following errors:
        0509-130 Symbol resolution failed for /usr/lib/libc.a[aio_64.o] because:
        0509-136   Symbol kaio_rdwr64 (number 1) is not exported from
                   dependent module /unix.
        0509-136   Symbol listio64 (number 2) is not exported from
                   dependent module /unix.
        0509-136   Symbol acancel64 (number 3) is not exported from
                   dependent module /unix.
        0509-136   Symbol iosuspend64 (number 4) is not exported from
                   dependent module /unix.
        0509-136   Symbol aio_nwait (number 5) is not exported from
                   dependent module /unix.
        0509-136   Symbol aio_nwait64 (number 6) is not exported from
                   dependent module /unix.
        0509-136   Symbol aio_nwait_timeout (number 7) is not exported from
                   dependent module /unix.
        0509-136   Symbol aio_nwait_timeout64 (number is not exported from
                   dependent module /unix.
        0509-026 System error: Error 0
        0509-192 Examine .loader section symbols with the
                 'dump -Tv' command.
ERROR:
ORA-12547: TNS:lost contact


Enter user-name: ^C

根据以上错误信息,一看就知道是aio配置问题。从AIX 5L开始,AIX开始支持2种aio:legacy AIO 和POSIX AIO。
配置legacy AIO(重启后生效)。可以用smitty aio或者用操作系统命令配置:chdev -P -l aio0 -a autoconfig=’available’
到11g为止,Oracle使用的是POSIX AIO(无需重启),配置POSIX AIO可以用如下命令
chdev -P -l posix_aio0 -a autoconfig=available。
当然也可以执行rootpre.sh来配置posix aio.
引用
# ./rootpre.sh
./rootpre.sh output will be logged in /tmp/rootpre.out_11-04-01.10:04:26
Saving the original files in /etc/ora_save_11-04-01.10:04:26....
Copying new kernel extension to /etc....
Loading the kernel extension from /etc

Oracle Kernel Extension Loader for AIX
       Copyright (c) 1998,1999 Oracle Corporation


Successfully loaded /etc/pw-syscall.64bit_kernel with kmid: 0x3ef8900
Successfully configured /etc/pw-syscall.64bit_kernel with kmid: 0x3ef8900
The kernel extension was successfuly loaded.

Configuring Asynchronous I/O....

Configuring POSIX Asynchronous I/O....

Checking if group services should be configured....
Nothing to configure.

打开rootpre.sh脚本可以看到如下语句,可以清楚的看到在AIX 5307上Oracle执行的就是红色标注部分:
引用
if [ $OSVER -lt 6 ]; then
  log_con "\nConfiguring Asynchronous I/O...."
  AIO=`${LSDEV} -C -t aio|${AWK} '{print $2}'`
  case ${AIO} in
    *Available*) log_con "Asynchronous I/O is already defined"
                 is_autoconfig_available "aio0"
                 if [ $? -ne 1 ]; then
                    log_con "Setting autoconfig to available for aio0"
                    log_do "${CHDEV} -P -l aio0 -a autoconfig=available"
                 fi
                 ;;
      *Defined*) log_do "${MKDEV} -l aio0"
                 log_do "${CHDEV} -P -l aio0 -a autoconfig=available"
                 ;;
              *) log_con "Asynchronous I/O is not installed on this system."
                 log_con "You will need to install it, and either configure it yourself using"
                 log_con "'smit aio' or rerun the Oracle root installation procedure."
                 ;;
  esac

  #--- configure POSIX AIO if AIX 5.2 or greater, we may want to use it
  if [ ${OSVER}${OSREL} -ge 52 ]; then
  log_con "\nConfiguring POSIX Asynchronous I/O...."
  POSIX_AIO=`${LSDEV} -C -t posix_aio|${AWK} '{print $2}'`
  case ${POSIX_AIO} in
    *Available*) log_con "Posix Asynchronous I/O is already defined"
                 is_autoconfig_available "posix_aio0"
                 if [ $? -ne 1 ]; then
                    log_con "Setting autoconfig to available for posix_aio0"
                    log_do "${CHDEV} -P -l posix_aio0 -a autoconfig=available"
                 fi
                 ;;
      *Defined*) log_do "${MKDEV} -l posix_aio0"
                 log_do "${CHDEV} -P -l posix_aio0 -a autoconfig=available"
                 ;;
              *) log_con "Posix Asynchronous I/O is not installed on this system."
                 log_con "You will need to install it, and either configure it yourself using"
                 log_con "'smit aio' or rerun the Oracle root installation procedure."
                 ;;
    esac
  fi
fi

执行结束后sqlplus正常:
引用
# su - oracle
$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Apr 1 10:05:01 2011

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> exit
Disconnected

分享到:
评论

相关推荐

    ORACLE SQLPLUS 命令大全

    Oracle SQLPlus 命令大全 Oracle SQLPlus 命令大全是 Oracle 数据库管理系统中的一种命令行工具,提供了丰富的命令来管理和操作数据库。下面是 Oracle SQLPlus 命令大全的知识点总结: 一、HELP 命令 HELP 命令...

    oracle sqlplus测试出现错误的解决方法

    ### Oracle SQLPlus 测试出现错误的解决方法 在使用Oracle SQLPlus工具时,尤其是在Windows 7环境下通过命令提示符(CMD)启动SQLPlus时,可能会遇到一个常见的错误:SP2-1503: 无法初始化 Oracle 调用界面。这个...

    Oracle SQLPLUS基础及sqlplus命令详解

    Oracle SQL*Plus是Oracle数据库中一个重要的命令行工具,用于执行SQL语句和PL/SQL代码,管理数据库,以及格式化输出结果。它既是Oracle开发者日常工作中不可或缺的工具,也是数据库管理员进行日常维护和故障排查时的...

    Oracle sqlplus命令详解

    ### Oracle SQLPLUS命令详解 #### 一、Oracle的启动与关闭 在操作Oracle数据库时,启动和关闭系统是基础操作之一。以下将详细介绍如何通过Oracle的`sqlplus`工具及`svrmgrl`来执行这些操作。 ##### 启动Oracle...

    详细介绍ORACLE sqlplus命令

    详细介绍ORACLE sqlplus命令,详细介绍ORACLE sqlplus命令

    Oracle SQLPlus最新手册

    此外,《Oracle SQLPlus最新手册》还涵盖了其他多种实用功能,如自定义环境设置、错误处理、脚本编写等,进一步丰富了SQLPlus的使用体验。 总结,《Oracle SQLPlus最新手册》不仅是初学者入门的良师益友,也是资深...

    oracle SQLplus命令集锦

    自己平时用到的一些SQLplus命令 现在把他制作成 exe的电子书 希望能够对大家有用 其中都是很多网页 所以可能会有些许的烦乱 目前还没有把他们都整理成word 后面会继续整理

    oracle sqlplus 工具的使用

    oracle sqlplus 工具的使用

    Oracle SQLPLUS命令的使用大全.doc

    ### Oracle SQLPLUS命令详解 #### 引言 Oracle SQL*Plus是Oracle数据库系统中的一个强大且灵活的命令行工具,用于执行SQL语句、管理数据库和执行脚本。它不仅支持标准的SQL语句(DML、DDL、DCL),还提供了一系列...

    Oracle SQLPlus 手册for windows

    ### Oracle SQLPlus手册详解:Windows环境下SQL操作与管理 #### 引言 Oracle SQLPlus作为Oracle数据库的标准命令行工具,自发布以来一直是数据库管理员、开发人员进行数据查询、脚本编写及执行的重要手段。本手册...

    给oracle的sqlplus安装更齐全的help文档(help.sql文件和安装方法)

    在$ORACLE_HOME/sqlplus/admin/help 包含了四个文件:helpbld.sql helpdrop.sql helpus.sql hlpbld.sql helpbld.sql实际是调用第四个脚本hlpbld.sql来进行安装的 helpdrop.sql是删除help表和HELP_TEMP_VIEW视图的...

    Oracle SQLplus常用的命令和函数

    Oracle SQLplus常用的命令和函数

    sqlplusw 与 sqlplus登陆数据库的方法总结

    sqlplusw 与 sqlplus 登陆数据库的方法总结主要涉及到 Oracle 数据库的登录方法,包括 sqlplusw 工具、sqlplus 命令、PL/SQL 工具和 iSqlplus 登录 oracle 数据库的方法。 首先,需要了解 Oracle 数据库的基本概念...

    oracle 使用sqlplus导入大sql文件(实战)

    oracle 使用sqlplus导入大sql文件,需熟悉linux命令,批量导入sql文件以及导入乱码解决方案

    Oracle sqlplus命令的使用大全

    Oracle的SQL*PLUS是数据库管理员和开发人员与Oracle数据库交互的主要工具之一。它不仅支持SQL语句(包括数据操作语言DML,数据定义语言DDL,数据控制语言DCL),还提供了一系列内置的命令来增强用户体验和提高工作...

    oracle sqlplus命令大全

    oracle sqlplus所有的命令的集合大全,复制过来的,没有目录,SORRY

    oracle SQLPlus常用命令

    Oracle SQLPlus是一款强大的命令行工具,它允许用户与Oracle数据库进行交互,执行SQL查询和PL/SQL块。SQLPlus提供了一系列内置的命令,使得数据库管理、数据查询和脚本执行变得简单而高效。以下是关于"Oracle ...

    ORACLE sqlplus命令+数据字典的使用

    ### ORACLE sqlplus命令与数据字典的使用详解 #### 一、ORACLE的启动与关闭 在管理ORACLE数据库时,了解如何正确地启动和关闭数据库是非常重要的。以下是两种不同环境下的操作方法: ##### 1. 单机环境下启动与...

Global site tag (gtag.js) - Google Analytics