和XXX单位合作,那单位用的是Linux下的Oracle 11g,让人比较恼火,从来没整过,只能百度,记录下坎坷过程哈。

Linux下的Oracle 11g安装就不说了,我本来也没装,用的是人家现成的虚拟机,现在说说这个修改ip带来的后果。

一、修改服务器ip,导致监听不能启动 

为了适应俺们的环境,要修改虚拟机中的ip(ifconfig eth0 192.168.1.127),此时要重新配置下监听,XXX单位教的解决办法是:

重新配置监听,办法如下:

1. su- oracle //切换到oracle用户

2. 在oracle用户下敲“netca”,会弹出监听配置,按照下一步,下一步来重新配置监听就行了,如下图:

下一步选择“重新配置"然后一直下一步,直到完成。

我遇到的问题:

1. 敲完命令后,出现:

 

Oracle Net Services 配置:

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

Error: null

有关详细信息, 请查看跟踪文件: /db/oracle/cfgtoollogs/netca/trace_OraDb11g_home1-11092311上午2223.log

Oracle Net Services 配置失败。退出代码是1


经过百度,得知:oracle用户不能运行X程序,切换到root用户执行一下:xhost local:oracle,就好了。
但是我用这个图形界面设置完之后,不好使,只能修改监听文件,百度了一下,办法:
将/db/oracle/product/11.0.1/db_1/network/admin/和/db/oracle/product/11.0.1/db_1/network/admin/sample里listener.ora和tnsnames.ora文件中涉及到的host的值改成ip,然后重启监听:lsnrctl start,就好了。
二、用客户端工具访问Linux下的数据库
首先安装:Oracle- OraClient11g_home1;
然后安装:Toad for Oracle 9.7 Suite Commercial
配置步骤:
1. 在安装的客户端的文件下:d:\app\Administrator\product\11.2.0\client_1\network\admin,应该有两个文件,一个listener.ora,另一个tnsnames.oRA,内容分别如下,
listener.ora

# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\client_1\NETWORK\ADMIN\listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = orcl)//全局实例名

      (SID_NAME = XXXX)//实例名

    )

  )

 

LISTENER =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.127)(PORT = 1521))

  )

 

ADR_BASE_LISTENER = D:\app\Administrator\product\11.2.0\client_1\log

tnsnames.oRA

 

# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\client_1\NETWORK\ADMIN\tnsnames.ora

# Generated by Oracle configuration tools.

 

ORACLR_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

    (CONNECT_DATA =

      (SID = CLRExtProc)

      (PRESENTATION = RO)

    )

  )

 

192.168.1.127 =                              //Oracle Net Work  配置中的服务设置

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.127)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

 

ORCL =                                                 //Oracle Net Work  配置中的服务设置

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.127)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = XXXXX)

      (INSTANCE_NAME = XXXX)

    )

  )


d:\app\Administrator\product\11.2.0\client_1\network\admin\sample下也有两个文件一个listener.ora,另一个tnsnames.ora,把里面的host值修改成服务器端的ip

到此,Oracle Net Work配置完了。打开测试一下Oracle Net Work

打开配置:

监听,就是上面提到的listener.ora的内容

服务,上面tnsnames.ora里写的,可以测试一下

要修改一下登录名密码,测试如下:



到此,环境就完了,下面用Toad访问一下数据库

三、用Toad访问数据库

打开后先要配置一下如下图:

填好用户名,密码,选择database,点击连接,正常来讲能够连上,但是客户端有些问题时,好像也不妨碍访问数据库(这个还得请高手指点)