由于公司的需求,需要在linux上访问远程的windows服务器下的oracle数据库。此时需要再linux系统上安装oracle的客户端,客户端的安装和配置请看文章:http://www.cnblogs.com/ljy2013/articles/4386530.html

  当配置好客户端之后,通过客户端远程连接windows数据库时,出现ORA-12520 TNS:Listener count not find available handler for requested type of server的错误。此根据错误的说明,就是没有找到相应的数据库服务器。一般是由于两个原因导致:1)服务器上的数据库是专用模式,外界无法访问。2)服务器上的数据库允许的process数量达到最大值。(这种情况对于我刚开始是不可能的)。因此主要是查看服务器上的数据库是否是专用模式:查看的方法可以通过在服务器上oracle自带的plsql的工具连接数据库,执行下面的查询语句:select server from v$session where sid in(select distinct(sid) from v$mystat)

server的值如果是DEDICATED表示为专用模式,shared为共享模式。

因此需要将远程服务器设置为共享模式,原始创建的时候设置的是专用模式,可通过database configuration assistance来配置。选择下一步,进入:  

  步骤一:选择配置数据库选件,下一步

  步骤二:选择需要配置的数据库名,输入超级用户名和密码,下一步

  步骤三:下一步

  步骤四:选择共享服务器模式,此时会弹出一个对话框,选择配置。过一会出现了:Enterprise Manager配置失败启动Database Control时出错。

出错的原因就是在更坏配置的时候,原来配置的文件没有删除干净所导致的错误,解决的办法就是首先删除原先的配置文件,再创建新的配置文件即可。

具体步骤如下:

  1)在window上通过命令行执行:emca -deconfig dbcontrol db -repos drop

  执行上面的代码的时候,若出现Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.的错误的话,那么就是没有设置环境变量的问题。只需要在命令行设置:

          set ORACLE_UNQNAME=orcl   (orcl是SID)

 接下来命令行出现会出现如下信息:

    接下来需要输入数据库名,用户名和密码,并在命令行出现:     

EMCA 开始于 2015-4-2 11:19:18

EM Configuration Assistant, 11.1.0.5.0 正式版

版权所有 (c) 2003, 2005, Oracle。保留所有权利。 

输入以下信息:

数据库 SID: verafzy

监听程序端口号: 1521

SYS 用户的口令:

SYSMAN 用户的口令:

SYSMAN 用户的口令:

是否继续? [是(Y)/否(N)]: y

2015-4-2 11:19:18 oracle.sysman.emcp.EMConfig perform

信息: 正在将此操作记录到 E:\app\Administrator\cfgtoollogs\emca\verafzy\emca_2009

_07_23_11_19_17.log。

2015-4-2 11:19:18 oracle.sysman.emcp.util.DBControlUtil stopOMS

信息: 正在停止 Database Control (此操作可能需要一段时间)...

2015-4-2 11:19:18oracle.sysman.emcp.EMReposConfig invoke

信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...

2015-4-2 11:19:18 oracle.sysman.emcp.EMReposConfig invoke

信息: 已成功删除资料档案库

已成功完成 Enterprise Manager 的配置

EMCA 结束于 2009-7-23 11:24:56

  2)在window上通过命令行执行:emca -config dbcontrol db -repos create 

    接下来需要输入数据库名,用户名和密码,同样的会在命令行出现:

EMCA 开始于2015-4-2 11:19:18

EM Configuration Assistant, 11.1.0.5.0 正式版

版权所有 (c) 2003, 2005, Oracle。保留所有权利。 

输入以下信息:

数据库 SID: verafzy

监听程序端口号: 1521

SYS 用户的口令:

DBSNMP 用户的口令:

SYSMAN 用户的口令:

SYSMAN 用户的口令: 通知的电子邮件地址 (可选):

通知的发件 (SMTP) 服务器 (可选):

----------------------------------------------------------------- 

已指定以下设置 

数据库 ORACLE_HOME ................ E:\app\Administrator\product\11.1.0\db_1 

本地主机名 ................ PC-200901030636

监听程序端口号 ................ 1521

数据库 SID ................ verafzy

通知的电子邮件地址 ...............

通知的发件 (SMTP) 服务器 ...............

是否继续? [是(Y)/否(N)]: y

2015-4-2 11:19:18oracle.sysman.emcp.EMConfig perform

信息: 正在将此操作记录到 E:\app\Administrator\cfgtoollogs\emca\verafzy\emca_2009

07_23_11_26_55.log。

2015-4-2 11:19:18 oracle.sysman.emcp.EMReposConfig createRepository

信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...

009-7-23 11:39:46 oracle.sysman.emcp.EMReposConfig invoke

信息: 已成功创建资料档案库

009-7-23 11:39:59 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository 

信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)...

009-7-23 11:41:42 oracle.sysman.emcp.EMReposConfig invoke

信息: 已成功上载配置数据

009-7-23 11:41:47 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib

信息: 软件库已配置成功。

009-7-23 11:41:47 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary

信息: 正在部署预配档案...

009-7-23 11:42:02 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary

信息: 预配档案部署成功。

009-7-23 11:42:03 oracle.sysman.emcp.util.DBControlUtil secureDBConsole

信息: 正在保护 Database Control (此操作可能需要一段时间)...

2015-4-2 11:19:18 oracle.sysman.emcp.util.DBControlUtil secureDBConsole

信息: 已成功保护 Database Control。

2015-4-2 11:19:18 oracle.sysman.emcp.util.DBControlUtil startOMS

信息: 正在启动 Database Control (此操作可能需要一段时间)...

2015-4-2 11:19:18 oracle.sysman.emcp.EMDBPostConfig performConfiguration

信息: 已成功启动 Database Control

2015-4-2 11:19:18 oracle.sysman.emcp.EMDBPostConfig performConfiguration

信息: >>>>>>>>>>> Database Control URL 为 https://PC-200901030636:1158/em <<<<<<

<<<<< 

2015-4-2 11:19:18oracle.sysman.emcp.EMDBPostConfig invoke

警告:

************************  WARNING  ************************

 

管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。

加密密钥已放置在文件 E:\app\Administrator\product\11.1.0\db_1\PC-200901030636_ve

rafzy\sysman\config\emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数

据将不可用。

 

***********************************************************

已成功完成 Enterprise Manager 的配置

EMCA 结束于2015-4-2 11:19:18

到此,问题基本上解决了。