OVERCOME = #
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU)(PORT = 1521)) #cat /etc/hosts 可以查看host (
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SERVNAME_WHS) #show parameter name 可以查看
)
)
知识储备 sqlplus hr/hr@liuwenhe 第一个hr是用户名 第二个是密码 @后面是tnsname.ora 文件里面的内容的第一行的(所要连接的服务器)。
EMNO_DBA3_王宏声 2014/5/21 21:16:14
监听的图形化配置,使用netmgr(也可以使用 netca)一、配置服务器端,使用动态注册的方式: 注意:请先修改/etc/hosts文件: ENMOEDU 192.168.80.10
1、export DISPLAY=192.168.80.1:0.0 #使用xcolck测试
2、netmgr

3、先配置监听服务器端,选择listener,再点击+,输入Listener Name: whs01

点击ok,先配置Listening Locations;

4、再点击下面的ADD ADDRESS,出现如下:

5、设置好主机名ENMOEDU,端口号1521,protocl为tcp/ip;点击file--Save Network configuration;再exit;

##########################################################
没有配置database选项,所以是动态注册方式;若要静态注册的方式,在这个时候要配置database选项部,请在这个时候参考后面的动态配置分:静态注册部分
##########################################################################################
6、启动监听, lsnrctl start whs01

7、显示没有服务,因为pmon进程是一分钟注册一次,稍等,或者如下手动注册一下
SYS@SID_WHS> alter system register; System altered.
8、然后再看监听状态:
lsnrctl status

9、监听服务已经启动好了,status 为READY,说明是动态注册的。服务器端动态注册监听配置完成;
10、查看脚本, vim listener.ora,结果如下,也可以手动去编写这个脚本文件,内容如下:
WHS01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU)(PORT = 1521))
)
二、配置客户端
1、netmgr

2、选择Service Naming ,点击+添加;

3、输入Net Service Name: overcome,点击Next;

4、选择网络通讯协议,TCP/IP ,点击Next;

5、输入 主机名及端口号,点击Next;

说明:Service Name 一定要与数据库中设置的服务名一致,
查看数据库的服务名:
show parameter service_name
修改数据库的服务名: alter system set service_names=SERVNAME_WHS,TEST;
6、输入Service Name : SERVNAME_WHS , 选择连接的类型Connect Type:Dedicated Server为专用服务器,
点击Next;

7、点击,先修改登陆用户,Change Login ,默认是scott用户,Test进行测试;
8、测试成功,点击Finish结束,保存并退出。
9、用tnsping命令测试网络服务名,3为次数;
[oracle@ENMOEDU admin]$ tnsping OVERC

OME 3
10、说明成功,然后用网络去连接数据库;
sqlplus hr/oracle@OVERCOME

连接成功;
11、回头看脚本,vim tnsnames.ora ,也可以手动的方式去配置此脚本。
OVERCOME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SERVNAME_WHS)
)
)
注意:静态注册监听,客户端在配置tnsnames.ora服务命名时,“(Oracle 8i或更高版本)服务名”里填写内容要与服务端静态注册监听器时的全局数据库名一致。否则,无法连通。如下:
lsnrctl中显示如下
服务“test”包含1个例程。
例程“mydata”,状态UNKOWN,包含此服务的一个处理程序。。。
test即从监听配置过程,数据库服务中的“全局数据库名”读到的值(即配置文件中GLOBAL_DBNAME的值),“mydata”是从监听配置中,数据库服务中SID读到的值(即SID_NAME的值)。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = test)
(ORACLE_HOME = /orahome/oracle/product/10.2.0/db_1)
(SID_NAME = mydata)
)
)
客户端在配置tnsname时,服务名(SERVICE_NAME)即为test。否则,连接不到数据库。
ABC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME =
test)
)
)
这里的ABC,服务命名。可以为任意值,在客户端连接服务器时,填写的主机字符串,即为此服务命名ABC。
总结:创建监听器后,再配置监听(动态静态之分) 静态 要在vi $ORACLE_HOME/network/admin/listener.ora 中加东西。动态不需要。
静态 :写死了 就连接某个数据库 ,动态:找到那个连那个。