Oracle NET

1.客户端通过@ora10g的名字去tnsname.ora文件获取服务器的具体连接信息

2.客户端通过tnsname.ora中的描述向服务器发出链接请求服务器端

3.服务器的监听器接收到连接请求后,验证请求的服务的有效性

4.服务器端产生一个服务进程和客户端进程建立连接

查看会话建立过程:

$ netstat -tlnp | grep 1521

$ sqlplus sys/[email protected] as sysdba

$ netstat -tnp | grep sqlplus

$ kill -9 1234 杀死维护sqlplus的进程

监听的配置

配置文件:

$ vi $ORACLE_HOME/network/admin/listener.ora

通过netca添加新的监听服务Listener15210,端口使用15210

$ vi listener.ora

$ netstat -tln|grep 1521

$ lsnrctl status listener15210

通过netmgr配置高级选项

通过lsnrctl命令来启动/停止/查看/重载监听器/服务

lsnrctl start|stop|status|reload|service

指定监听的名称:

$ lsnrctl status listener15210

网络环境变化,需要检查listener.ora和/etc/hosts文件

netca删除Listener15210

实例的配置

静态注册和动态注册

什么是静态注册

就是监听器的配置文件中写明了监听哪个实例 需要配置SID_DESC字段

定位实例的方式可以使用SID_NAME或者SERVICE_NAME来定位

什么是动态注册

就是监听器的配置文件中没写明监听哪个实例

要通过PMON告知监听器要监听的具体实例

PMON是将SERVER_NAME告诉给监听器 这个过程就是注册

默认一分钟PMON注册一次 也就是说启动监听 还没注册时 是无法连接的

添加3种方式,后面的删掉,用文档改写

区分静态注册和动态注册

lsnrctl status

是 ready 就是动态

是 unknow 就是静态

静态注册listener.ora文件信息:

$ vi listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME =ora11g)

)

)

$ lsnrctl reload

.....

Services Summary...

Service "ora11g" has 1 instance(s).

Instance "ora11g", status UNKNOWN, has 1 handler(s) for this service...

状态总是显示未知的,当有请求时,监听器才去确认数据是否存在

动态注册

Oracle9i起实例使用动态服务注册来通知监听程序有关其数据库服务的信息。

服务注册依赖PMON 进程向监听程序注册实例信息 注册间隔为1分钟左右

手动注册命令 alter system register;

无需在listener.ora 文件中设置任何信息 此文件可以不存在

3种注册方式:

本地默认端口监听

本地非默认端口监听

远程监听

---------------------------------------------------------------------------------

创建本地非默认端口:

netca创建listener15210,使用15210端口

$ netstat -tlnp | grep 15210

写入监听的别名:

$ cd $ORACLE_HOME/network/admin

$ vi tnsnames.ora  本地命名文件

listener15210 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = node1.test.com)(PORT = 15210))

)

修改参数:

SQL> ALTER SYSTEM SET LOCAL_LISTENER=listener15210;

SQL> ALTER SYSTEM register;     立即注册(可选)

服务信息已添加到新的监听中:

$ lsnrctl status listener15210

客户端指定新端口连接:

$ sqlplus sys/[email protected]:1521/orcl as sysdba 报错

$ sqlplus sys/[email protected]:15210/orcl as sysdba

删除配置:

SQL> ALTER SYSTEM SET LOCAL_LISTENER=‘‘;

SQL> ALTER SYSTEM register;

$ vi tnsnames.ora 删除listener15210别名

netca删除15210端口的监听

客户端配置

轻松连接:

$ sqlplus sys/[email protected]:1521/orcl as sysdba

适用于临时性的连接

本地命名:

查看现有的主机连接字符串

$ cd $ORACLE_HOME/network/admin

$ vi tnsnames.ora

$ sqlplus sys/[email protected] as sysdba

使用netca添加新的主机连接字符串orcl192 第三项

$ sqlplus sys/[email protected] as sysdba

SQL> select name from v$database;

tnsping测试,不需要用户名和口令:

$ tnsping 192.168.0.1:1521/orcl

$ tnsping orcl192

解析方法的顺序:

$ vi sqlnet.ora

netca可以修改 第二项

恢复默认设置:

SQL> alter system set local_listener=‘‘;

SQL> alter sytem register;

netca删除不需要的监听和连接配置

时间: 2024-10-11 22:11:02

Oracle NET的相关文章

oracle安装故障:完美解决xhost +报错: unable to open display “”

oracle安装 先切换到root用户,执行xhost + 然后再切换到oracle用户,执行export DISPLAY=:0.0 出现乱码执行export LANG=US_en 在这里给大家介绍下两种情况的常见问题: 一种是本地运行的命令,另一种则是远程ssh命令安装. DISPLAY科普 DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器,那么通过终端工具(例如:xshell)进去,运行

Sqlserver通过链接服务器访问Oracle的解决办法

转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接.通过该访问接口建立的链接服务器在进行查询orac

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步

摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 在A节点创建原表和物化视图日志 在B节点创建连接A节点的远程链接 在B节点处创建目标表和与目标表名称相同的物化视图 在B节点处刷新物化视图 升级采用存储过程定时任务JOB方式定时刷新物化视图 进一步优化 文章更新记录 参考文章 Oracle 10g 物化视图语法如下: create materia

Oracle静默安装

测试CentOS 6.5_x64下静默安装Oracle 11g R2数据库 [一.下载地址] http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html Oracle 11g 联机文档: http://www.oracle.com/pls/db112/homepage [二.系统要求] 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) 检查的命令 内

ORACLE实际执行计划与预估执行计划不一致性能优化案例

  在一台ORACLE服务器上做巡检时,使用下面SQL找出DISK_READ最高的TOP SQL分析时,分析过程中,有一条SQL语句的一些反常现象,让人觉得很奇怪: SELECT SQL_ID,        SQL_TEXT,        DISK_READS,        BUFFER_GETS,        PARSING_SCHEMA_NAME,        EXECUTIONS FROM   V$SQLAREA ORDER  BY DISK_READS DESC; 在SQL D

PL/SQL developer 连接oracle数据库报错“initialization error could not load oci.dll”

声明:PL/SQL 版本:PL/SQL Developer 9.0.6 (http://files.allroundautomations.com/plsqldev906.exe) 报错提示如图: 原因:PL/SQL只对32位OS进行支持,解决方法是额外加载一个oci.dll文件 解决办法:1.下载OCI.DLL相关库文件.地址: (需注册Oracle账号) http://www.oracle.com/technetwork/topics/winsoft-085727.html ----->  

20、oracle用户管理恢复

下面会一一讲解控制文件.redo文件及非归档模式.归档模式数据文件丢失的情况下,如何恢复数据? (1)控制文件(controlfile)丢失 在做恢复实验之前,先备份好数据. 案例1.模拟一个控制文件丢失 select name from v$controlfile; SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------

oracle数据库(新建数据库)超小白篇

用过Mysql.sqlserver.Oracle 不知道有没有比oracle建库还复杂的 显示:win10系统 1.找到文件夹Oracle-OraDb10g_home1 2.选择Database Configuration Assistant,运行程序 3.选择下一步 ...................................................................................结束..............................

oracle 自动启动

#!/bin/shsu - oracle -lc "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"su - oracle -c "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart" 修改 boot.local