实验一:

修改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监听配置及测试实验的更多相关文章

  1. ORACLE监听配置及测试实验(2)

    实验四 在tnsname.ora里添加默认监听代号 [oracle@oracle01 admin]$ vi tnsnames.ora 添加一行 PORT1528=(ADDRESS = (PROTOCO ...

  2. Oracle 监听配置详解(转载)

        使用ORACLE的SQL*Net V.2连接客户机和服务器,需配置每个客户机和服务器.在服务器上需配置的文件有:listener.ora./etc/services,在客户机上需配置tnsna ...

  3. Oracle监听配置、数据库实例配置等

    参考:http://jingyan.baidu.com/article/3aed632e7a638b70108091dd.html linux下面搞Orale参考:http://blog.sina.c ...

  4. oracle监听配置

    在listener.ora文件中指定监听的实例名和修改ip地址: 查看实例名:[localhost$] echo $ORACLE_SID LISTENER = (DESCRIPTION_LIST = ...

  5. ORACLE 监听配置

    安装后最开始如下 # listener.ora Network Configuration File: D:\oracle\app\Administrator\product\11.2.0\dbhom ...

  6. ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

    不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...

  7. Oracle 数据库监听配置和服务

    -- 补充说明 如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) PLSQL Dev ...

  8. Oracle 数据库监听配置

    一.监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求.既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的 ...

  9. oracle 11g RAC数据库监听配置相关

    oracle RAC 监听配置基本和单实例的配置相同 11g之后 安装RAC的过程中,不需要执行netca来手动创建监听,在安装集群软件的时候,会自动创建监听程序: 而在DBCA建库的时候,又会自动创 ...

随机推荐

  1. Git 合并多次 commit 、 删除某次 commit

    Git 合并多次 commit 有时候在一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱,此时可以将一部分的 commit 合并为一个 commit,以美化整个 commit 历史, ...

  2. hdoj:2031

    #include <iostream> #include <string> using namespace std; int main() { int N,R; string ...

  3. JVM学习(3)——总结Java内存模型---转载自http://www.cnblogs.com/kubixuesheng/p/5202556.html

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: 为什么学习Java的内存模式 缓存一致性问题 什么是内存模型 JMM(Java Memory Model)简 ...

  4. 蓝牙mesh介绍

    了解一下关于蓝牙Mesh的知识. 蓝牙mesh网络使用,并且依赖于低功耗蓝牙(BLE).低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈. 蓝牙BR / EDR能够实现一台设备到另一台设备的连接和通信 ...

  5. windows下MySQL免安装版配置教程mysql-5.7.24-winx64.zip版本

    一. 以管理员身份运行cmd,进入mysql的bin目录 执行以下代码. #初始化数据库 mysqld --initialize #初始化不会显示密码mysqld --initialize --con ...

  6. Scala学习笔记(三):==,eq与equals的区别

    == Scala中==与java中不同,它是比较值是否相等的,无论比较对象是否是相同类型 List(1, 2, 3) == List(1, 2, 3) //true 1==1.0//true equa ...

  7. Core Animation 动画的使用:关键帧动画、基础动画、动画组

    首先让我们了解下什么是 Core Animation,Core Animation 为核心动画,他为图形渲染和动画提供了基础.使用核心动画,我们只需要设置起点.终点.关键帧等一些参数,剩下的工作核心动 ...

  8. PM2 指令简介

    pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的,下面我们来看pm2常用的命令用法介绍吧 ...

  9. 修改torndb库为依赖pymysql,使其适应python3,一个更简单的操作数据库的类。

    1.python的MySQLdb和pymysql是两个基本数据库操作包,MySQLdb安装很麻烦,要有c++相关环境,python3也安装不了. python3一般安装pymysql,此包与MySQL ...

  10. Http Referer的一些总结

    以前对Http中Referer的认识不够透彻.最近理了理,记录一下. 1 Referer可以记录访问的来源,统计访问量,可以用来防盗链. 2 客户端用js不能篡改Referer,用一些插件什么的可以达 ...