Oracle NET

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

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

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

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

监听的配置

配置文件:

$ 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

监听关闭后,网络间客户端无法访问数据库,而本机不受影响(因为本机访问是通过进程并非通过网络)

改IP情况需要修改以下文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0//ip第一块网卡修改文件

vi /etc/hosts

改主机名情况需要修改以下文件

vi /etc/sysconfig/network

vi /etc/hosts

$ORACLE_HOME/network/admin/listener.ora//监听配置文件

图形化工具

netca//创建监听配置

新建监听时,监听名不能相同,端口号不能相同

netmgr//详细信息配置

实例的配置

静态注册和动态注册

什么是静态注册

就是监听器的配置文件中写明了监听哪个实例需要配置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种注册方式:

本地默认端口监听//管理员不需要做操作

本地非默认端口监听//管理员进行配置需要修改local_listener

远程监听 //监听和数据库不在同一台机器上 需要修改remote_listener

本地非默认端口:

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/password@192.168.0.1:1521/orcl as sysdba            报错

$ sqlplus sys/password@192.168.0.1:15210/orcl as sysdba

删除配置:

SQL> ALTER SYSTEM SET LOCAL_LISTENER='';

SQL> ALTER SYSTEM register;

$ vi tnsnames.ora             删除listener15210别名

netca删除15210端口的监听

客户端部分分为

轻松连接  sqlplus sys/password @192.168.0.1:1521/orcl as sysdba//不使用监听名,而是使用ip端口连接

和本地命名 tasnames.ora文件配置

共享模式和专有模式

共享服务器的配置通过初始化参数dispatchers来配置

可以通过DBCA来修改

$ lsnrctl service

SQL> show parameter disp

SQL> show parameter shared_server

专有模式和共享模式是可以兼容在一起使用的

此时看用户如何选择

tnsnames.ora中

ORA10G =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = dba.up.com)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED) # 不写这个值就是按服务器的模式来匹配

# shared 指定使用共享方式连接

# DEDICATED 指定使用专有模式连接

(SERVICE_NAME = raw10g)

)

)

测试三种模式

ORCL_default =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

ORCL_dedicated =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

ORCL_shared =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = SHARED)

(SERVICE_NAME = orcl)

)

)

测试:

$ sqlplus sys/password@orcl_default as sysdba

$ sqlplus sys/password@orcl_dedicated as sysdba

$ sqlplus sys/password@orcl_shared as sysdba

SQL> select SID, SERVER, PROGRAM from v$session where USERNAME='SYS';

SQL> select distinct sid from v$mystat;

管理维护、大数据量导入、备份恢复等工作不适合用共享方式:

SQL> shutdown immediate               共享连接下不能发布管理命令

恢复原有设置:

dbca修改为dedicated方式

db link

数据库A访问远程数据库B上面的表:

在数据库A中,使用netca创建主机描述字符串orcl_dblink指向数据库B

$ netca

$ tnsping orcl_dblink

在数据库A中创建数据库链接:

SQL> create database link orcl_dblink_hr connect to hr identified by hr using 'orcl_dblink';

using使用主机描述字符串orcl_dblink

用户和口令都是数据库B上的

db link的名字不要求和主机描述字符串一致

访问数据库B中的表:

SQL> select count(*) from hr.employees@orcl_dblink_hr;

SQL> select count(*) from hr.employees, departments@orcl_dblink_hr;

转载于:https://www.cnblogs.com/guoxf/p/7323378.html

20170808上课笔记相关推荐

  1. 学习Linux第一次上课笔记

    一.配置IP地址 1.设置网络连接模式为NAT模式. 学习linux第二次上课笔记 2.获取IP地址,首先运行dhclinet服务,然后敲ip add进行查看,自动获取的IP地址. 学习linux第二 ...

  2. Redis教程(上课笔记)

    Redis教程 1. 什么是NoSql NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量.开源.不提供SQL功能的关系数据库.2009年,Last.fm的Johan Os ...

  3. HCIP-Datacom 821/831题库以及上课笔记、视频、配套讲义分享

    有幸过了HCIP-Datacom,其中821 884分,831 917分,感谢万能网络提供了那么多宝贵的资源. 整理了821/831题库,都是一个字一个字打上去的,供参考,基本上做到90%的准确率,通 ...

  4. SuperMap怎样实现测面积的代码(上课笔记)

    标题SuperMap怎样实现测面积的代码(上课笔记) (作者:李寿宇,撰写时间:2019年1月16日) 1).地图发布以后,引入SuperMap iserver <SuperMap.Includ ...

  5. 面向对象程序设计-C++ Default constructor Copy constructor Destructor Operator Overloading【第九次上课笔记】...

    先上笔记内容吧: 这次上课的内容有关 构造函数 析构函数 运算符重载 return * this 内容很细,大家好好回顾笔记再照应程序复习吧 :) #include <iostream>u ...

  6. 自动控制原理上课笔记(不定期更新)

    文章目录 前言 自动控制的一般概念 经典控制理论和现代控制理论的区别 自动控制的基本原理与方式 自动控制系统基本控制方式 对自动控制系统的基本要求 控制系统的数学模型 数学模型 微分方程 小偏差法 传 ...

  7. java上课笔记大全_JAVA基础知识上课笔记

    1.八种数值类型: int short long float double char byte boolean 2.两次转换类型:自动类型转换,强制类型转换. 在某种条件下系统自动完成类型转换, 1) ...

  8. Introduction to ES6上课笔记

    课程链接:https://scrimba.com/g/gintrotoes6 这个网站有几个热门的前端技术栈的免费课程,上课体验除了英语渣只能看代码理解听老师讲的一知半解之外,是极佳的学编程的网站了. ...

  9. 上课笔记--商法(上)

    //2015年7月5日 不同于其他商学课程,商法是一门让人觉得学了绝对有用的商科课. 记得大一的时候看了朱苏力的<法理学>,如今再对应着现在学的具体法条,而且是效率为先的商法.略有所悟. ...

最新文章

  1. android gradle 目录,Android Gradle:将目录列入文件
  2. 20179214 2017-2018 2《网络攻防实践》第七周学习总结
  3. 将query存进数组 php,thinkphp下通过QueryList获取网站指定数据并封装成数组,存入数据库...
  4. FastReport4.6程序员手册_翻译 转
  5. JAVA的思维逻辑_[Java教程]计算机程序的思维逻辑
  6. 女生会 P 的可不仅仅是丰胸和瘦腿......
  7. Python面向对象高级编程
  8. python ioc框架_轻松理解 Spring 中的 IOC
  9. php留言板上传图片,thinkphp3.2.3留言板带管理没有后台ajax上传图片功能
  10. java传智播客答案_传智播客_java基础入门习题答案.docx
  11. vue打开新html,vue在新窗口打开页面的方法
  12. CTF实验找不到ssh2john
  13. 谁征服了游戏,谁就征服了智能手机内容
  14. php微信二维码签到墙互动,微久信微信墙2017全新版本教程第二篇:微信签到/扫码3D签到/微信手绘签到...
  15. ApiPost接口测试的用法之------Post
  16. Postman | JS脚本和动态参数的使用
  17. Docker镜像是什么、包含什么、能做什么
  18. GeoGebra数学教学网站
  19. 从DICOM开始入门医学图像处理-2-VTK+Qt+VS开发环境搭建
  20. 基于AI的服务器维修,AI赋能服务器,会带给我们什么?

热门文章

  1. 史蒂夫 乔布斯(Steve Jobs)在斯坦福大学2005年毕业典礼上的演讲
  2. Flutter中嵌入Android 原生TextView
  3. Oracle归档日志(翻译)
  4. Codeforces 55D Beautiful numbers (数位DP)
  5. UVM序列篇之一:新手上路
  6. UsageLog4j
  7. EZchip将推全球首款100核64位ARM A-53芯片
  8. C++函数指针和类成员函数指针
  9. 超级菜菜鸟全程架站攻略(Mysql+Apche+PHP+Phpmyadmin+Zend,含本机安装)
  10. [Axios] axios的基础语法