oracle从10.2.0.1升级到10.2.0.4

由于客户需要,白费周折,终于将oracle升级到10.2.0.4.

1.升级地址ftp://updates.oracle.com/6810189/p6810189_10204_Win32.zip

2.安装。注意,一定要确保所有有关oracle的service全部关闭。

                          ----最保险的办法就是全部改成manual,然后重启。

3.安装完成后升级数据库。如果发现无法连接情况请参考下面资料(数据库没有升级也是原因之一,所以一定要记住进阶着升级数据库)。

 

相关资料****

确认oracle 的监听已经起来!
检查TNS解析顺序,和本身是否正确!
相关命令:
lsnrctl  
netstat 
tnsping

 

"ORA-12154: TNS: 无法解析服务名"(转)

  本文将讲解在Oracle Net Services中经常碰到的一个错误。Oracle Net Services,以前称为Net8或SQL*Net,它允许基于客户端的用户连接到数据库。准确地说,Oracle Net是Oracle Net Services的一个部件,提供连接到数据库的功能. 在某些情况下,了解Oracle Net Services 与 Oracle Net的不同是很重要的,有点类似于要了解数据库与实例有哪些不同一样。
  Oracle9i以前的版本中的protocol.ora文件的内容移到了9i版本中的sqlnet.ora文件中。因配置不当而产生的常见问题之一是产生错误-"ORA-12154: TNS: 无法解析服务名"。让我们来看看Oracle是怎么解析服务名的,以及出现"ORA-12154"时的错误究竟是什么。
        以下内容对Net8 和 Oracle Net 中的配置文件tnsnames.ora and sqlnet.ora同样适用。
     首先让我们举个简单的例子,当输入username/password@SID时会发生什么。我使用scott/tiger进行登录,数据库是dbaspt。 输入username/password@SID后,Oracle会停在文件sqlnet.ora处来获取NAMES.DEFAULT_DOMAIN (如果存在的话)的值。 当 "Scott" 安装了Oracle软件并创建了 the seed database, 他会被提示为数据库创建一个域名。假设Scott输入的域名是"company.com"。Oracle 会将具有值company.com的NAMES.DEFAULT_DOMAIN加入数据库dbaspt,形成dbaspt.company.com。Oracle接下来将会停在tnsnames.ora文件。
    "tnsnames.ora" 中的"tns"是"transparent network substrate"的缩写。大多数情况下,你不用关心Oracle与网络是如何连接的,只需知道如何成功地创建至少一个与 Oracle Net相关的文件。在一个平台上会创建了,在其它任何平台上同样能创建。那么Oracle 想在文件tnsnames.ora 中找些什么呢?
  以下的tnsnames.ora 和sqlnet.ora 文件配置比较典型,用户Scott创建了the seed database后就能看到。

# TNSNAMES.ORA Network Configuration File: D:\Oracle\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
EXTPROC_CONNECTION_DATA.COMPANY.COM =
(DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
        (SID = PLSExtProc) (PRESENTATION = RO)
    )
)
DBASPT.COMPANY.COM =
(DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = yourpc)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = dbaspt)
    )
     
ORA Network Configuration File: D:\Oracle\network\admin\sqlnet.ora #Generated by Oracle configuration tools. NAMES.DEFAULT_DOMAIN = company.com SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

  在文件tnsnames.ora的第二段是以DBASPT.COMPANY.COM开始的。如果DBASPT.COMPANY.COM 不以上面的模样出现的话,Scott就会收到ORA-12154 错误。如果第一行只有"DBASPT" (没有默认的域名),错误仍将发生。如果NAMES.DEFAULT_DOMAIN 没有值并且文件tnsnames.ora 像上面显示的那样不变会是什么情况呢? Scott仍然会收到ORA-12154错误,原因是 Oracle 正在寻找DBASPT,而不是 DBASPT.COMPANY.COM。
     
  sqlnet.ora文件中没有使用默认域名,但 tnsnames.ora 文件包含SID "dot" NAMES.DEFAULT_DOMAIN 入口的情况下, Scott使用合法的完全网络服务名称也可以连接到数据库。 合法的完全网络服务名称是在SID后面加上NAMES.DEFAULT_DOMAIN。Scott 使用scott/[email protected]可以连接到数据库。如果NAMES.DEFAULT_DOMAIN的值为internet.com,Scott使用scott/[email protected]还能连接到数据库dbaspt吗? 回答是肯定的! 任何时候Scott (或是你) 使用带有a period的字符串,Oracle会认为是一个合法的完全网络服务名。如果使用合格的完全网络服务名称, Oracle 就会略过sqlnet.ora 文件直接找到tnsnames.ora来解析服务名。
  普通环境下,你甚至不需要sqlnet.ora 文件。没有要求一定要使用NAMES.DEFAULT_DOMAIN。 样本 文件中的NAMES.DIRECTORY_PATH能反映出Oracle默认的名称解析查找路径,如果你使用的是默认查找顺序, sqlnet.ora就可以不必再列出查找顺序了。因为标本文件sqlnet.ora是基于Windows环境的,Oracle 包括了不需要的SQLNET.AUTHENTICATION_SERVICES 参数及事件。

  如果你使用一个且仅一个数据库,而没有外部程序调用,在tnsnames.ora文件中你所全部需要的就像这样子:

DBASPT =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = yourpc)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dbaspt)
    )

  )

  Scott 和其它用户只需用username/password@dbaspt 来连接到数据库。 因为使用"SID = your_database_name"仍然是支持的,所以"SERVICE_NAME"入口可以变成""SID", 但Net8 和非Oracle推荐的标准是 "SERVICE_NAME = your_database_name."
  在Oracle中完成一件事情有多种方式,Oracle网络配置也不例外。 在一个测试数据库中不要怕多做实验,因为Oracle中的数据是不容易被破坏的。

 

 

 

你可能感兴趣的:(oracle,sql,.net,SQL Server,软件测试)