8、tnsnames文件配置
监听的配置文件
2、tnsnames.ora文件
tnsnames.ora文件:客户端的
配置tnsnames.ora监听文件
1、使用netca命令
指定图像映射机器
[oracle@db11g admin]$ export DISPLAY=192.168.56.1:0.0
netca命令
[oracle@db11g admin]$ netca
2、选择local net service name configuration,点击next
3、选择add,点击next
4、输入service name:cis(一定要和lsnrctl status命令查看到的Service "cis" has 1 instance(s),cis一样),点击next
5、选择TCP,点击next
6、输入Host name:192.168.56.70,点击next
7、是否测试,可以测试,也可以不测试,点击next
8、输入net service name:cistest(这个名字可以随便起)
9、点击next
10、点击next
11、点击finish,完成
查看tnsnames.ora文件内容:
[oracle@db11g ~]$ cd $ORACLE_HOME
[oracle@db11g db_1]$ cd network/admin
[oracle@db11g admin]$ ls
listener.ora samples shrept.lst tnsnames.ora
[oracle@db11g admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
CISTEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.70)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cis)
)
)
tnsnames.ora文件是一个解析文件,把CISTEST解析成:192.168.56.70IP地址,1521端口号,cis服务名
数据库的两种连接方式
1、
[oracle@db11g admin]$ sqlplus system/oracle@192.168.56.70:1521/cis
2、
[oracle@db11g admin]$ sqlplus system/oracle@cistest -- cistest:配置的客户端监听名,tnsnames.ora文件里的
连接的时候,没有@符号,就不走监听,用户直接连接数据库实例,有@符号的时候,就走监听,监听没有启动就连接不上数据库实例了
在Windows里面也是一样的配置方法,测试的时候用:
tnsping cistest2
注意:tnsping,第一cistest2被解析了,第二访问192.168.56.70这个IP地址和1521端口,第三tnsping不去判断监听上有没有cis
所以还需要测试一下能否登录成功:
Windows要连接上linux的oracle,在Windows上就需要一个oracle客户端
Oracle客户端:下载安装包里面有详细的安装说明
1、完整版
带命令、管理工具
tnsnames.ora
库文件(程序连接数据库所要使用的一些函数等、dll、so、o)
2、instant版本
命令:sqlplus(可以有,也可以没有)
tnsnames.ora
库文件
instant版本:
1、就是一个压缩包,解压以后,放在一个目录里面
2、linux:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/oraclient/ora_instant
3、windows:设置环境变量PATH,加上c:\app/ora_instant
三个名字(实例名、数据库名、服务名)
实例名字
查看实例名:
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string orcl
一个数据库可以有多个实例,每个实例一个名字:
比如:实例1:cis1;实例2:cis2
数据库名字
查看数据库名:
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
一个数据库只有一个名字
服务名字
查看服务名:
SQL> show parameter service_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string orcl
服务的名字可以修改,并且可以有多个服务名
修改服务名:
SQL> alter system set service_name = 'cis,cist';
SQL> alter system register; -- 注册修改之后的服务名
监听的动态注册
动态注册:默认的往listener监听里面注册
SQL> show parameter local
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
log_archive_local_first boolean TRUE
parallel_force_local boolean FALSE
如果想要pmonitor把instancename和servername往listener1里面注册,就要修改local_listener这个参数
如何修改local_listener参数往listener1(IP地址:10.10.10.70)里面注册?
SQL> alter system set LOCAL_LISTENER = '(ADDRESS = (PROTOCOL=TCP)(HOST=10.10.10.70)(PORT=1521))';
SQL> alter system register;
这时候,listener里面就没了:
修改完之后呢,后悔了,这时候怎么修改回来呢?
SQL> alter system set LOCAL_LISTENER = ‘’;
SQL> alter system register;
listener又回来了: