ORACLE监听配置及测试实验
实验一:
修改db_domain和service_name
我们将Db_name和Db_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name即等于service_name,即它扩展了Db_name。
SYS@VDEDU > show parameter db_domain--查看db_domain
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_domain string
SYS@VDEDU > alter system set db_domain='oracle.com' scope=spfile;
System altered.
tnsnames.ora是Oracle客户端的网络服务名配置文件,用于存放该客户端配置的可连接实例的参数
可以在tnsname里修改service_name,加上.oracle.com
lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 31-MAY-2018 16:27:17
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle01)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 31-MAY-2018 14:25:47
Uptime 0 days 2 hr. 1 min. 30 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oracle01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle01)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "VDEDU.oracle.com" has 1 instance(s).
Instance "VDEDU", status READY, has 1 handler(s) for this service...
Service "VDEDUXDB.oracle.com" has 1 instance(s).
Instance "VDEDU", status READY, has 1 handler(s) for this service...
The command completed successfully
Lsnrctl status查看service
Sqlplus / as sysdba再启动数据库
Quit 退出sqlplus
此时再登录,就可以了
[oracle@oracle01 admin]$ sqlplus scott/oracle@VDEDU
当客户端有用户想要操作数据库的时候,比如说在数据库下建表,插入、删除数据,这个时候用户需要登录认证,而用户的登录就是一次连接请求,是客户端与服务器的连接,oracle服务器需要监听到这个请求,然后对此连接的用户名密码进行判断,因此必须要有一个监听进程,就是用来监听客户端的连接以及断开请求,这就决定了运行连接命令 SQL>conn /as sysdba之前必须已经启动了监听进程
数据库启动时,查看lsnrctl status可以看到动态监听、静态监听和对应实例
关闭数据库时只能看到静态监听
实验二
设置静态监听
首先进去$ORACLE_HOME/network/admin目录下,修改listener.ora
写入静态参数,注意第一行顶格写,下面的行都不要顶格写
SID_LIST_LISTENER = ##(此处应与监听名相同)
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = kingsql_static) ##(Service_name)
(ORACLE_HOME =/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=VDEDU) ##(实例)
) )
Lsnrctl reload 监听文件重载
关闭数据库
此时再查看lsnrctl status,只能看到静态监听
sqlplus sys/oracle@192.168.183.132:1521/kingsql_static as sysdba此时数据库如果没有启动也能进入
Sqlplus scott/oracle@192.168.183.132:1521/kingsql_static
配置静态监听的好处:静态注册,不管数据库有没有打开,监听都已经启动。而动态监听是数据库开启之后才启动。
注册就是将数据库作为一个服务注册到监听程序。
客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。
这个服务名可能与实例名一样,也有可能不一样。
在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务(无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务)
相当于是这样:在数据库服务器和客户端之间有一监听程序(Listener),在监听程序中,会记录相应数据库对应的服务名(一个数据库可能对应有多个服务名),当客户端需要连接数据库时,只需要提供服务名,就可以建立客户端和服务器之间的连接.
动态注册不需要显示的配置listener.ora文件,实例MOUNT时,PMON进程就会根据instance_name,service_name参数将实例和服务动态注册到listerer中。
动态监听的优点:
(1)不需要人工干预,在lsnrctl start后,会自动注册数据库的instance_name,service_name,然后tns不论使用SID和SERVICE_NAME均可以连接上来
(2)修改了SERVICE_NAME或者SID不用修改listener.ora文件
(3)动态注册的数据库通过状态信息中的状态READY或状态BLOCKED(对于一个备用数据库)来指明。
不管关闭何时数据库,动态注册的数据库都会动态地从 监听器注销,而与之相关的信息将从状态列表中消失。
这样,不管数据库是在运行还是已经关闭,监听器总是知道它的状态。
该信息将被用于连接请求的回退(fallback)和负载平衡。动态监听由PMON进程会向监听进行动态注册,也可以手动注册:ALTER SYSTEM REGISTER;
实验三
创建第二个监听程序
编辑listener.ora
LSNR2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle01)(PORT = 1528))
(ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1528))
)
)
查看本地监听
SYS@VDEDU>show parameter local_Listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
修改数据库本地监听,使数据库的登录向LSNR2申请
SYS@VDEDU>alter system set local_listener=’(ADDRESS = (PROTOCOL = TCP)(HOST = oracle01)(PORT = 1528))’;
System altered.
重启数据库
Lsnrctl start/stop/status/reload=Lsnrctl start/stop/status/reload LISTENER
Lsnrctl start/stop/status/reload LSNR2不能省略
修改tnsname.ora
KINGSQL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle01)(PORT = 1528))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = KINGSQL)
)
)
把端口修改为1528
再次登录 sqlplus scott/oracle@KINGSQL 就是通过LSNR2监听(1528端口)登录了
ORACLE监听配置及测试实验的更多相关文章
- ORACLE监听配置及测试实验(2)
实验四 在tnsname.ora里添加默认监听代号 [oracle@oracle01 admin]$ vi tnsnames.ora 添加一行 PORT1528=(ADDRESS = (PROTOCO ...
- Oracle 监听配置详解(转载)
使用ORACLE的SQL*Net V.2连接客户机和服务器,需配置每个客户机和服务器.在服务器上需配置的文件有:listener.ora./etc/services,在客户机上需配置tnsna ...
- Oracle监听配置、数据库实例配置等
参考:http://jingyan.baidu.com/article/3aed632e7a638b70108091dd.html linux下面搞Orale参考:http://blog.sina.c ...
- oracle监听配置
在listener.ora文件中指定监听的实例名和修改ip地址: 查看实例名:[localhost$] echo $ORACLE_SID LISTENER = (DESCRIPTION_LIST = ...
- ORACLE 监听配置
安装后最开始如下 # listener.ora Network Configuration File: D:\oracle\app\Administrator\product\11.2.0\dbhom ...
- ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...
- Oracle 数据库监听配置和服务
-- 补充说明 如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) PLSQL Dev ...
- Oracle 数据库监听配置
一.监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求.既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的 ...
- oracle 11g RAC数据库监听配置相关
oracle RAC 监听配置基本和单实例的配置相同 11g之后 安装RAC的过程中,不需要执行netca来手动创建监听,在安装集群软件的时候,会自动创建监听程序: 而在DBCA建库的时候,又会自动创 ...
随机推荐
- Android ShareUserId 使用总结
今天讲一下Android里面经常看到却不太留意的知识点——ShareUserId,在Android里面每个app都有一个唯一的linux user ID,则这样权限就被设置成该应用程序的文件只对该用户 ...
- JVM 内部原理(三)— 基本概念之类文件格式
JVM 内部原理(三)- 基本概念之类文件格式 介绍 版本:Java SE 7 每位使用 Java 的程序员都知道 Java 字节码在 Java 运行时(JRE - Java Runtime Envi ...
- 川崎机器人c#通讯(转)
由于本人在工业自动化行业做机器视觉的工作,所以除了图像处理方面要掌握外,还需要与工业机器人进行通信.最近学习了计算机与川崎机器人的TCP/IP通信,于是在这里记录一下. 除了直接与机器人通信外,有一种 ...
- windows server 2008 R2 计划任务备份系统
实验环境拓扑图: 实验效果: Windows Server Backup 可以设置备份计划,但只能按日进行备份,不能设置按周或月进行备份.所以,需要使用到 windows Server 2008 R2 ...
- 三、主流区块链技术特点及Hyperledger Fabric V1.0版本特点
一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...
- 可能是最早的学习Android N新特性的文章
可能是最早的学习Android N新特性的文章 Google在今天放出了Android N开发者预览版.Android N支持Nexus6及以上的设备.5太子Nexus5不再得到更新. Android ...
- 利用Laplacian变换进行图像模糊检测
检测图片是否模糊有很多方法(这篇文章review了36种),比如FFT和variation of Laplacian等,前者在操作到时候需要定义高频的量有多低和多高来区分图片是模糊的,操作起来比较麻烦 ...
- golang模板语法
https://www.cnblogs.com/Pynix/p/4154630.html https://blog.csdn.net/huwh_/article/details/77140664 ht ...
- [JS] Topic - this is ”closure“
Ref: 为什么要用闭包? 背景 闭包是自带运行环境的函数 发哥是自带背景音乐的男人~ 就是有权访问另一个函数作用域的变量的函数. 函数式编程的闭包,就是函数的调味包.方便用户调用函数.不必为了维护繁 ...
- python的运行机制和版本区别
引用来自:here 解释型语言和编译型 首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才 ...