oracle共享服务器配置汇总(53天)
oracle共享服务器配置汇总 对于共享服务器的配置进行了汇总,也发现一些隐藏的错误
方式一,多种监听(专用连接有专有连接的监听,共享服务有共享服务的监听) 方式二,一种监听,专有和共享的都设定在一个监听上 以下,liste1是专有服务器连接方式, liste2是专门的共享服务器连接方式 liste3是专有服务和共享服务混合的方式
listener.ora 配置如下。
LISTE1 =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=1521))
)
SID_LIST_LISTE1=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=PROD.oracle.com)
(SID_NAME=PROD)
(ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
)
)
LISTE2 =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=1529))
)
SID_LIST_LISTE2=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=PROD.oracle.com)
(SID_NAME=PROD)
(ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
)
)
LISTE3 =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=1520))
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=1530))
)
SID_LIST_LISTE3=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=PROD.oracle.com)
(SID_NAME=PROD)
(ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
)
)
tnsnames.ora 文件配置如下
--配置了多个端口的专用服务连接
PROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = oel1.oracle.com)(PORT = 1520))
(ADDRESS = (PROTOCOL = tcp)(HOST = oel1.oracle.com)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD.oracle.com)
)
)
--配置了共享服务连接
SPROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = oel1.oracle.com)(PORT = 1529))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD.oracle.com)
(SERVER=SHARED)
)
)
--配置共享服务连接,验证可以有多个共享服务器并存
XPROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = oel1.oracle.com)(PORT = 1530))
)
(CONNECT_DATA =
(SERVICE_NAME = PROD.oracle.com)
(SERVER=SHARED)
)
)
--配置dispatcher
SQL> show parameter dispatch
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dispatchers string (protocol=tcp)(service=PROD.or
acle.com)(dispatchers=2)
max_dispatchers integer 2
--根据需要来配置共享服务的参数。当然session,processes也需要相应的设置,如果值太小,共享服务连接就会很慢。
SQL> show parameter shared
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
max_shared_servers integer 2
shared_memory_address integer 0
shared_pool_reserved_size big integer 4404019
shared_pool_size big integer 0
shared_server_sessions integer 50
shared_servers integer 1
--配置本地监听
!!!如果配置的共享服务时非默认监听Listeners,默认端口1521,则需要在local listener中注册。
因为我建了两个监听liste2,liste3,所以把它们的端口信息都注册进去
alter system set local_listener='(address_list=(address=(protocol=tcp)(host=oel1.oracle.com)(port=1529))(address=(protocol=tcp)(host=oel1.oracle.com)(port=1530)))';
SQL> show parameter local_lis
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (address_list=(address=(protoc
l=tcp)(host=oel1.oracle.com)(
port=1529))(address=(protocol=
tcp)(host=oel1.oracle.com)(por
t=1530)))
-启动监听
LSNRCTL> start liste1
LSNRCTL> start liste2
LSNRCTL> start liste3
--查看共享服务是否配置正常。加粗的地方因为起了2个dispatcher,所以有2个D开头的handlers.
LSNRCTL> service liste3
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=1520))
Services Summary...
Service "PROD.oracle.com" has 2 instance(s).
Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Instance "PROD", status READY, has 3 handler(s) for this service...
Handler(s):
"D001" established:0 refused:0 current:0 max:972 state:ready
DISPATCHER <machine: oel1, pid: 23114>
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=46966))
"D000" established:0 refused:0 current:0 max:972 state:ready
DISPATCHER <machine: oel1, pid: 23112>
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=57952))
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "PROD_XPT.oracle.com" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
The command completed successfully
--测试一把
[oracle@oel1 admin]$ sqlplus sys/oracle@XPROD as sysdba
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
--判断连接session是否接入了共享服务
[oracle@oel1 admin]$ sqlplus sys/oracle@SPROD as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 26 20:37:34 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select sid,server from v$session where sid=(select sid from v$mystat where rownum<=1);
SID SERVER
---------- ---------
160 SHARED
--使用端口连接来确认Liste1,liste3的两个端口都可以正常访问
[oracle@oel1 admin]$ sqlplus sys/oracle@oel1.oracle.com:1520/PROD.oracle.com as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 26 20:44:38 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@oel1 admin]$ sqlplus sys/oracle@oel1.oracle.com:1521/PROD.oracle.com as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 26 20:45:12 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
--共享服务器关闭失败,所以在做data guard等场景时,不适合用共享服务器模式
SQL> shut immediate
ORA-00106: cannot startup/shutdown database when connected to a dispatcher
SQL>
--复现共享服务绑定监听错误的情况
--把本地监听设置为空
SQL> alter system set local_listener='';
System altered.
LSNRCTL> service liste1
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=1521))
Services Summary...
Service "PROD.oracle.com" has 2 instance(s).
Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:8 refused:0
LOCAL SERVER
Instance "PROD", status READY, has 3 handler(s) for this service...
Handler(s):
"D001" established:0 refused:0 current:0 max:972 state:ready
DISPATCHER <machine: oel1, pid: 23114>
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=46966))
"D000" established:0 refused:0 current:0 max:972 state:ready
DISPATCHER <machine: oel1, pid: 23112>
(ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=57952))
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "PROD_XPT.oracle.com" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
The command completed successfully
LSNRCTL> service liste2
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=oel1.oracle.com)(PORT=1529))
Services Summary...
Service "PROD.oracle.com" has 1 instance(s).
Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
The command completed successfully
--看起来好像也影响不大,后台的共享服务都起来了。但是连库连不上去。
[oracle@oel1 admin]$ sqlplus sys/oracle@XPROD as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 26 20:34:44 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12523: TNS:listener could not find instance appropriate for the client
connection
所以本地监听的配置是必须的。
- WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用
- WCF技术剖析之十四:泛型数据契约和集合数据契约(上篇)
- WCF技术剖析之十四:泛型数据契约和集合数据契约(下篇)
- WCF技术剖析(卷1)之前言
- WCF技术剖析(卷1)之目录
- WCF技术剖析(卷1)之推荐序
- 谈谈基于SQL Server 的Exception Handling[上篇]
- 谈谈WCF中的Data Contract(4):WCF Data Contract Versioning
- 如何在silverlihgt中使用右键
- WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)
- silverlight向服务器post数据类
- WCF技术剖析之十三:序列化过程中的已知类型(Known Type)
- 44 Amazing Silverlight 2.0 Screencasts
- CaseStudy(showcase)类库篇-用agTweener来实现动画效果
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel excel 上传文件保存到本地服务器功能
- PHP用swoole+websocket和redis实现web一对一聊天
- Yii框架布局文件的动态切换操作示例
- 关于laravel 子查询 & join的使用
- PHPUnit + Laravel单元测试常用技能
- php接口隔离原则实例分析
- laravel实现按月或天或小时统计mysql数据的方法
- laravel model模型处理之修改查询或修改字段时的类型格式案例
- 对laravel的session获取与存取方法详解
- php 中self,this的区别和操作方法实例分析
- Laravel使用原生sql语句并调用的方法
- Yii框架自定义数据库操作组件示例
- laravel 使用事件系统统计浏览量的实现
- PHP之多条件混合筛选功能的实现方法
- PHP多进程简单实例小结