Oracle 11g的网络配置

一、Oracle11g的网络配置

1.  Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。

2.  服务器端配置监听器,客户端配置网络服务名。

tnsnames.ora 位于oracle的客户端,listener.ora 位于oracle的服务端

二、Oracle11g的启动和停止

1.如果通过网络(TCP/IP协议)访问数据库服务器,至少要启...TNSListener和OracleServiceXE服务。

2. 如果本地即Oracle11g客户端和服务端位于同一台计算机上(不是通过TCP/IP协议)访问数据库服务器,至少要启动OracleServiceXE服务。(XE位数据库名)。

3.Oracle的启动和关闭方式:

  • 手动在计算机的服务列表选择,相应服务启动
        
  • 桌面上创建.bat文件启动和停止数据库系统
       1.创建启动文件:OrclStart.bat
           
 
        2.创建停止文件:OrclStop.bat
          

 

三、Oracle11g的连接    

sqlplus命令:

 Ø  命令 : sqlplus hb/[email protected]   用“@xe”表示通过tcp/ip协议访问,"xe"为服务名。此方式一定会通过服务器端的监听 ,所以必须启动监听程序。

 Ø  命令 : sqlplus hb/hb(本地访问)如果客户端和服务端位于同一计算机,可以不启动监听,也能连接,因为此链接不需要通过tcp/ip协议。

注意:通过第三方登录(如:PLSql)必须启动监听

 

连接方式:(可以在sqlnet.ora中配置)

 

1,简单连接:类似conn hb/[email protected]:1521/XE的连接方式,不需要客户端进行任何配置。

(注:其中“a84p1l1x02meo8p”为数据库服务端计算机名,也可以为ip地址。"XE"为数据库名)

2,本地命名:类似conn hb/[email protected]的连接方式,需要客户端配置一个本地命名解析文件,为$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora文件,可以直接进入文件位置,也可以使用netca配置。

       (注:其中“xe”为服务名,用netca进入可视界面配置,不易出错)

服务名:服务名就是连接字符串(不区分大小写),可以通过它访问远程数据库,可以通过NETCA配置,配置时要指明远程数据库的主机名,网络协议用TCP/IP,配置完成后可以用如 下方式登陆:(以服务名为xe)  username/[email protected]也就是:是对数据库的一个标识,通过服务名可访问数据库 。

   测试服务能否连接上:tnsping  <服务名>


 

四、Oracle11g网络配置的主要文件的说明及配置

     loracle11g中进行网络配置的主要文件有三个,位于:$ORACLE_HOME\NETWORK\ADMIN下的sqlnet.ora、listener.ora、tnsnames.ora文件(Windows和Linux位置一样)

(本人的$ORACLE_HOME为:$ORACLE_HOME=D:\Java\oraclexe\app\oracle\product\10.2.0\server)

  • 服务器端监听器配置信息包括监听协议、地址及其他相关信息。配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器
  • 客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中
  • Oracle中的 NetConfiguration Assistant和Net Manager工具都能用来配置监听器和网络服务名

1.sqlnet.ora文件

a.文件中配置:
 
 

b.netca命令进入NetConfiguration Assistan界面配置:

1.用netca命令或在Oracle11g的配置和移植工具中打开NetConfiguration Assistan界面

 选择【命名方法配置】-【下一步】

2.选定命名“本地命名”和“轻松连接命名”

 

2.tnsnames.ora文件

a.文件中配置:

b.netca命令进入NetConfiguration Assistan界面配置:

1. 选择【本地网络服务名配置】-【下一步】

2.【添加】-【下一步】

3.配置数据库名-【下一步】

4.选择“TCP/IP”协议-【下一步】


5.配置数据所在主机名或ip地址和端口号-【下一步】


6.选择【是,进行测试】,是否能连接数据库

7.显示未连上,点击【更改登录】,重新设置数据库用户名和密码


8.用户名和密码修改为数据库中的用户名和密码登录【确定】

9.连接成功-【下一步】


10.配置服务名-【下一步】


11.选择【否】,不需要配置另一个服务名


12.配置成功!

看数据库名和服务名是否是同名可以用daca命令打开数据库配置助手的可视界面配置

3.listener.ora文件

  • 服务器端监听控制:lsnrctl   start|stop| status
  • 图形界面配置监听:netca
  • 编辑文件方式配置监听:编辑$ORACLE_HOME\NETWORK\ADMIN\listener.ora文件。

a.文件中配置:

  1.注册就是将数据库作为一个服务注册到监听程序,在数据

库服务器启动过程中,数据库服务器会向监听程序注册相应的

服务 。    

在listener.ora中,如果有类似

    SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = Orcl)

      (ORACLE_HOME =   D:\app\Administrator\product\11.1.0\db_1)

      (SID_NAME = ORCL)

    )

  )

,就是静态注册。

 

2.在listener.ora中,如果有类似

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

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

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

    )

  ),就是动态注册。

   动态注册的一个特点就是不需要LISTENER.ORA文件。默

认情况PMON向LSNRCTL 注册TCP/IP协议,PORT 为1521。 

(两个address表示两个监听,第一个监听调用外部过程,例如C语言,C++,Java等处理复杂的任务。第二个是监听主机数据库)

3。配置静态注册可以用Net Manager可以界面工具来配置

b.netca命令进入NetConfiguration Assistan界面配置动态注册:

选择【本地网络服务名配置】-然后一直【下一步】就可以了

 

 

使用lsnrctl status查看某个服务是静态注册、还是动态注

册;如果是UNKNOWN,表示静态注册;如果是READY,表

示动态注册。

    READY的服务是由PMON进程动态的注册到监听器,因此

PMON进程所在的数据库一定处于打开状态,所以说这些服务

名所对应的实例已经准备好(READY)接受用户的连接请求。

    UNKNOWN的服务是通过编辑listener.ora而静态注册的服

务名,监听器并不知道该服务名对应的实例是否打开了,所以

UNKNOWN表示。

动态注册、静态注册可以根据需要进行转换。