日期:2013-07-26  浏览次数:20506 次


由于项目要求,公司需求把一些项目的数据库转移成Oracle,而原来几乎都是使用SqlServer的。突然间发现,2~3年的SqlServer开发和使用经验,其实并没有给我学习Oracle带来多少优势,相反在初学Oracle的时候,还经常被缠绕在脑中的SqlServer的很多模式所困扰。Oracle是一个系统而庞大的平台,其实曾经不只仅只是一个数据库那么简单了。所以对我来说,无论是其管理还是开发,几乎都是全新的。由此,也就只能卸下SqlServer的包袱,对Oracle,慢慢来吧...

这里记录下一些我在初学Oracle时遇到一些问题。有些问题可能比较菜一些,也过于芜杂,不过权给本人做个Oracle的学习笔记罢了。

by xpilot 2004/9/1

1.安装Oracle后,更改Windows计算机名,导致部分Oracle第三方工具,如:PLSQL
Developer无法登陆,并提示ORA-12541:TNS:no listener或ORA-12547:TNS:丢失联系等错误信息的处理方法。

答:从Oracle的错误提示来看,是说TNS:no listener ,估量是某种服务没有启动,打开windows管理工具->服务,一看,有一个OracleOraHome90TNSListener这样的服务,和错误信息题是分歧,基本就可以肯定是这个服务所引发的问题。再一看,该服务没有启动,遂手工启动,刷新后一看,该服务竟然马上就自动关闭了。重试N次,结果一样。到Google搜索看看,没想到这还是一个普遍的问题,有一团体提出,把安装目录下的listener.ora打开察看。如:d:\oracle\ora90\network\admin\listener.ora。
打开该配置文件后发现如下一段配置信息:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = local)(PORT = 1521))
      )
    )
  )
 
当看到这一行HOST=local 的时候,问题处理了。原来是由于几天装好Oracle后,又改了Windows的计算机名,而这个配置文件中记录的监听主机名还是原来的名称,这也就怪不得,OracleOraHome90TNSListener服务无法启动了,马上修正为如今的计算机名,再次启动OracleOraHome90TNSListener服务成功,PL/SQL Developer连接Oracle数据库成功,不能登陆毛病排除。

总结:Oracle比较强调手动功用调整,将一些配置信息放置在配置文件中。不像SqlServer一样,几乎把任何信息都放在注册表中,当然了这也符合Oracle作为一个跨平台数据库的精神。但对初学者来说,确有一定难度,不像SqlServer那么“傻瓜”,再处理这个问题时,差点又重装一次Oracle,看来遇到问题多Google多分析,还是屡试不爽的。