Category: Oracle

  • oracle 8i 无法处理用户名问题

    我先装了oracle10g,然后再安装了8i。用10g的sqlplus,连接8i创建的数据库,提示无法解析的用户名,应该是tnsnames.ora没用设置好。后来用10g连接8i的数据库提示:ora-03134:Connections to this server version are no longer supported.
    原因貌似是oracle8.17跟10.1.0.2不兼容,好像升级10g的应用程序就可以,不知oracle搞什么鬼。
    在8i的sqlplus直接用(/as sysdba)登录就可以连上数据库但是指定数据库名( as sysdba)就会提示:无法处理用户名的问题,解决办法:
    原来tnsnames.ora文件内容为:
    # TNSNAMES.ORA Network Configuration File: D:\oracle\product\8.1.7\Db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    )
    (CONNECT_DATA =
    (SERVICE_NAME= orcl8i)
    )
    )
    修改后的tnsnames.ora内容:
    # TNSNAMES.ORA Network Configuration File: D:\oracle\product\8.1.7\Db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    )
    (CONNECT_DATA =
    (SERVICE_NAME= orcl8i)
    )
    )
    ORCL8I =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = orcl8i)
    (INSTANCE_NAME = orcl8i)
    )
    )
    之前一直以为有(SERVICE_NAME = orcl8i)就可以了,原来前缀ORCL8I=(DE*****)也是需要的。
    刚好解决这个问题,贴出来仅供参考。