006.Oracle监听网络服务全面剖析
1.oracle 网络相关概念与常用配置文件 01.监听器(LISTENER) 02.本地服务名(Tnsname) 03.oracle Net 连接方式 connect username/passwd 本地连接 connect username/passwd@itupx 远程连接 04.客户到到服务器建立会话的过程及相关术语 执行如下的命令来建立连接 SQL> CONNECT username/passwd@net_service_name 05.服务名 > show parameter service 06,常用的配置文件 ldqp.ora 用于配置LDAP的目录名称解析 cman.ora 用于oracle配置文件连接管理参数 tnsnames.ora 用于配置本地客户端和远程服务的解析 listener.ora 用于配置监听器的相关信息 sqlnet.ora 用于配置服务器和客户端的解析方式 listener.ora tnsnames.ora 非ASM模式下在:/oracle/app/oracle/product/11.2.0/network/admin 下 listener.ora 非ASM模式下在:默认没有, 如果在grid下,listener.ora:/oracl/app/oracle/product/11.2.0/grid/network/admin 如果在grid下 tnsnames.ora在:/oracl/app/oracle/product/11.2.0/network/admin 非ASM模式下在日志路径:/ora在:/oracl/app/oracle/product/11.2.0/network/log 07.网络管理器 netmgr > profile : 它的修改主要保存在 sqlnet.ora 文件下 grid 模式下,查看监听 $ crs_stat -t $ srvctl -h $ srvctl -h | grep listener 查看监听命令 > set rawmode :显示详细的监听信息,默认打开 > show rawmode 显示rawmode > set rawmode on 从一个监听切换到另人个监听 set current_listener 监听设置 trc_level: off:默认关闭 user:跟跟踪设置为用户的相应级别 admin:跟踪设置为管理级别 support:跟踪设置为客户支付级别
inbound_connect_timeout :等待超时设置 5.监听静态注册与动太注册 常用的两种注册方式:静态注册和动太注册 > alter system set service_names='服务1,服务名2.。。。'; 增加服务名 > alter system register 手动注册 > alter system set REMOTE_LISTENER='LISTENERS_DB01' scope=both; 添加远程监听 >show parameter list 8.生产环境如何配置第二个监听优化数据传输 12.ORACLE 11G中的ADR工具与日志 查看ADR信息 > col NAME format a30 > col VALUE format a50 > set lin 200 > select name,value from v$diag_info; 让11G日志变成10G的格式: 需要在listener.ora文件添加如下行: DIAG_ADR_ENABLED_listener = OFF 注意:listener是监听名,需要替换成自己的监听名字 然后:lsnrctl reload listenr 如果是grid模式: DIAG_ADR_ENABLED_LISTENER = OFF DIAG_ADR_ENABLED_LISTENER_SCAN1 = OFF --rac 设置日志文件的两种方法: lsnrctl SET LOG_DIRECTORY directory LSNRCTL> SET LOG_DIRECTORY /ippux/log 设置日志文件的两咱方法 lsnrctl LOG_FILE file_name LSNRCTL> SET LOG_FILE file_name 设置日志的状态 lsnrctl SET LOG_STATUS {on | off } LSNRCTL> SET LOG_STATUS {on | off } 14.oracle 监听安全与密码管理 设置监听密码 lsnrctl stop set current_listener 设置当前监听 start 启动过程也不需要任何密码,启动的详细信息 change_password 使用change_password来设置密码 save_config 注意此处的save_config失败 set password 输入新设定的密码验证 save_config 再次save_config成功 关闭Local OS Authentication,我们只需要在listener.ora里添加 LOCAL_OS_AUTHENTICATION_LISTENER=off即可 删除监听密码 change_password 或者 ps -ef | grep tnsnames kill-9 lsnrctl reload 配置listener.ora 中的 ADMIN_RESTRICTIONS参数后,不管执行任何设置管理命令都不可用(远程,本地) 在listener.ora文件中手动加入下面代码: ADMIN_RESTRICTIONS_<监听名> = ON
17.如何把监听当防火墙使用,限制客户端访问oralce 通过在sqlnet.ora文件中增加如下列记录实现 tcp.validnode_checking = yes 打开功能 tcp.invited_nodes = (hostname1,hostname2,ip1,ip2) 允许访问设置 tcp.excluded_nodes = (ip,hostname1,hostname2) 不可以访问设置 注:设置后需要重新启动监听 注:只能写单个IP,不能写网段和范围,且只支持TCP、IP协议 15.通过两个数据库之间使用DB_LINK进行网络连接 需要的权限 select distinct privilege as "database link privileges " from role_sys_privs where privilege in ('CREATE SESSION','CREATE DATABASE LINK','CREATE PUBLIC DATABASE LINK '); 创建DB_LINK语法 create database link <remote_global_name> connect to <user> identified by <“pwd”> using '<connect_string_for_remote_db>'; DB_LINK分类 私有 公有 全局 18.oracle 监听与客户端连接故障检查分析流程 01.客户端软件(版本问题,或者安装多个客户端) 02.安装操作系统位数合适的客户端 03.客户端命名配置 04.监听器故障 lsnrctl status 05.数据库实例的动静态注册 06.其它相关 跟踪客户端会话连接过程 跟踪本地sqlplus连接过程 跟踪服务器端SQLPLUS连接过程 truss -D sqlplus "/as sysdba" 在hp-ux平台中,可以使用tusc命令跟踪 监听进程: tusc -T hires -afpo lsnr.log <pid 进程号> 本地sqlplus无法连接到数据库 连接hang 用sqlplus -prelim "/as sysdba" 19.oracle 如何使用tracle跟踪问题深入分析监听 01.oracle trace的相关参数 trace_level_[client | server | listener] =[0-16|admin | support | off ] 对于oracle11G,使用传统的oracle net tracing时,必须添加下列参数 sqlnet.ora file on either client or server: diag_adr_enabled=off listener.ora file : diag_adr_enabled_<listener_name>=off cman.ora: diag_adr_enabled=off adr_base=/your_directory/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |