zoukankan      html  css  js  c++  java
  • 数据库服务名、数据库实例名、网络服务名

     
     

    oracle8i以后,数据库实例要建立两个名字:数据库服务名、数据库实例名。(oracle8i以前只有数据库实例名)

    在新建一个数据库时,数据库服务名可以相同,数据库实例名必须唯一,所以会出现一个数据库服务名下可以有多个数据库实例的情况。

    数据库网络服务名是提供给网络上的其他机器分布式调用的。
    比如用plsql连接数据库时,选择的数据库就是数据库网络服务名。它是在oracle的tnsnames.ora中配置。

    一旦配置好了外部网络就可连接使用这个数据库了。如下有几种配法,其中MYORCL就是对外提供的网络服务名:
    1.  MYORCL =
           (DESCRIPTION =
           (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
           (CONNECT_DATA =
             (SERVER = DEDICATED)
             (SERVICE_NAME = orcl) //数据库服务名
             (SID = orcl) //如果就一个实例,这行可以不写(默认就这个)。如果多个实例请指定具体的数据库实例名。
           )
         )
      这种方法用于oracle8i以上版本。因为这里用到了数据库服务名SERVICE_NAME = orcl。
      而oracle8i以下版本是没有数据库服务名SERVICE_NAME的。

    2.  MYORCL =
           (DESCRIPTION =
           (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
           (CONNECT_DATA =
             (SID = orcl)
           )
         )
       这种方法用于oracle8i以下版本。同时oracle8i以上版本也兼容这种配置方法。


    所以只要有一个oracle的客户端,在客户端的tnsnames.ora文件中配置好要操作的数据库,就可以在本地对远程数据库进行数据导入、导出等任何操作了。

    比如:
    导入远程一个oracle数据库的dmp数据文件:
    IMP username/password@myorcl FILE=jjjg.DMP IGNORE=Y FULL=Y
    其中的@之后的myorcl应是网络服务名。即自己本地机器oracle客户端的tnsnames.ora文件中配置的网络服务名。

  • 相关阅读:
    hdu 1896 stones
    各种类型的取值范围
    RSS/PSS/VSZ
    kasan BUG log
    ARM机器码分析
    Linux进程状态
    谢宝友: 深入理解RCU之七:分级RCU实现
    rcu_preempt detected stalls on CPUs/tasks
    Linux 内核 hlist
    linux cmd
  • 原文地址:https://www.cnblogs.com/dingding0505/p/3738599.html
Copyright © 2011-2022 走看看