许春植(Luocs) (阿里巴巴高级数据库管理员,7年以上数据库运维管理经验,擅长MySQL、Oracle及MongoDB数据库,目前主要研究并建设MongoDB一套完整的运维体系) 编辑手记:感谢许春植授权独家转载其精华文章,也欢迎读者朋友向我们投稿,本文是对Oracle SCAN特性的一些介绍和总结,编辑时略有节略。 Oracle 从11g 开始推出的 SCAN 特性在 Oracle RAC 高可用连接里占据着非常重要的地位,也是以后的重点推进方向。 说在前头:文章中核心内容来自官方,当然也参考了
如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器。大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口。而且在Oracle 11g RAC环境中,对于集群监听器的配置由grid用户来接管了。基于这种情形的单实例非缺省监听及端口该如何配置呢?本文给出了解决方案,并且使用了静态及动态两种注册方法。
CONN[ECT] [logon] [AS {SYSOPER | SYSDBA}]
登录 SQLPlus 是最基础也是最关键的步骤。需要ORACLE_SID 和ORACLE_HOME环境变量,如果这些变量没有被设置或设置不正确,请为其设置正确的值。
不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册。与单实例相同,RAC非缺省端口的监听器也是通过设置参数local_listener来达到目的。除此之外,还可以对实例进行远程注册,以达到负载均衡的目的。这是通过一个参数remote_listener来实现。
Oracle RAC服务器端的负载均衡是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去。当数据库处于运行时,RAC中各节点的PMON进程每3秒会将各自节点的连接负荷数更新到service_register。而对于节点中任意监听器故障或监听器意外失败时,PMON进程会每1秒钟检查当前节点上的监听是否重启,以获得最新的负载信息来及时调整负载均衡。本文主要演示suse 10 + oracle 10g rac下的服务器端的负载均衡。
用于建立客户端与服务器之间的网络连接。 监听器运行在服务器端,属于一种网络服务,用于监听客户端向数据库发出的连接请求。
之前因为安装的是windows server 2008 r2的系统,oracle是11g r2 64bit,因为像很多网友一样,无法使用pl/sql developer 8连接oracle,今天可算连上了,对listener.ora sqlnet.ora tnsnames.ora三个文件、TNSListener服务的认识也深了一层。
Oracle RAC 监听器的配置与单实例稍有不同,但原理和实现方法基本上是相同的。在Oracle中 tns进程用于为指定网络地址上的一个或多个Oracle 实例提供服务注册,并响应来自客户端对该服务提出的连接请求。一旦连接请求到达,并派生出一个服务器进程建立服务器与用户端之间的连接(专有服务器dedicated server)或转发服务请求(共享服务器模式shared server)。如果监听器知道多于一个实例提供所请求的服务,则可能会根据客户端与服务器端相关配置将请求定位到较低负载的实例为其提供服务。因此合理正确配置监听器以及tnsnames是Oracle RAC实现负载均衡以及failover的前提,本文将描述基于 suse linux 10 + Oracle 10g RAC 下监听器的配置。
对于Oracle 网络配置,我们通常通过negmgr或者netca来完成客户端连接到数据库实例。而对于连接到ASM实例,同样可以实现从客户端来进行连接。不过Oracle并未为我们提供工具来完成配置,我们可以通过手动配置监听以及客户端tnsnames来实现。本文对此给出描述与示例。
12170, 00000, "TNS:Connect timeout occurred"
Oracle的注册就是将数据库作为一个服务注册到监听程序,而客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务,根据注册方式的不同,目前Oracle支持动态注册和静态注册这两种注册方式。
Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中。所以无需配置客户端即可连接到服务器。Oracle 客户端连接到数据库依赖于Oracle Net。Oracle提供了很多基于客户端或服务器的配置工具,需要搞清的是Oracle Net 中的相关术语。术语明白了,其实配置方法与SQL server 大同小异。
mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行、招行、工商、支付宝等均已全面支持mac os了),windows上的经典常用软件:qq、飞信、旺旺、有道词典、有道云笔记、迅雷、PPS影音、AcdSee,甚至微软自家的office全套都有for mac,今天下定决心把mac机上vmware里的windows 7给“打入冷宫”,准备把oracle、nexus、jboss、weblogic 这些跟java开发有端的“重量级”大家伙都放到cent os虚拟机里,日常开发只在mac 主机上保留eclipse/xcode/mono develop即可。
OS : Windows Server 2008 32Bit DB : Oracle 11.2.0
最近碰到一个蛮有启发意义的案例。是数据库监听相关的,但是实际的原因却又出乎意料。 问题的反馈受益于开发同学,一个开发同学在lync上找到我,说现在一个线上业务的数据库访问有些问题,想问问我是否有什么建议。大体了解了下,他们在使用一个非1521的端口,比如端口是1525,他们在业务端看到的错误信息类似下面的样子: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection 这
作者介绍:姜刚,云和恩墨技术顾问,2016年开始专职从事DBA运维,ORACLE OCP,精通shell及perl编程。 本文由恩墨大讲堂143期线上分享整理而成。课程回看可点击文末“阅读原文”。 监听程序 数据库启动后,连接数据库有两种方式,分别是:本地连接和通过监听程序连接。 >>>> 本地连接 通过登录数据库运行的主机后,不通过监听程序访问数据库实例,使用ps –ef|grep ‘LOCAL=YES’可以查看到其进程情况 >>>> 通过监听程序连接 远程客户端程序通过监听器连接到数据库实例,可以通过
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
对于存在NAT或防火墙的RAC数据库,在启用了服务器端的load balance后,经常会碰到ORA-12545连接错误,这是因为服务器端转发客户端连接请求到其它节点后,客户端使用返回的IP再次发出连接请求而出现不可识别的IP地址或主机名而造成的。本文描述了这个问题并给出了解决方案。
如下图所示,Oracle通过Oracle Net协议实现客户端与服务器端的连接以及数据传递。Oracle Net是同时驻留在Oracle数据库服务器端和客户端上的一个软件层,它封装了TCP/IP协议,负责建立与维护客户端应用程序到数据库服务器的连接。
最近的工作中需要基于Oracle连接到SQLserver2014,我们可以通过配置Gateway的方式来实现这个功能。这个Gateway的实质是透过dblink来实现的。即把SQLserver模拟成一个远端的Oracle实例,这个实例由Gateway来负责进行接收,转发等等。本文简要描述其配置过程。
② 当触发的对象类型为DATABASE的时候,登录用户不能拥有“ADMINISTER DATABASE TRIGGER”的系统权限;当触发的对象类型为“用户名.SCHEMA”的时候,登录用户不能拥有“ALTER ANY TIGGER”的系统权限。否则,这些用户还是会正常登录到数据库,只是将相应的报错信息写入到告警日志中。所以,拥有IMP_FULL_DATABASE和DBA角色的用户以及SYS和EXFSYS用户将不能通过这种方式限制登录。
1、在Oracle服务端和客户端都安装完之后,就需要配置监听程序和本地网络服务,以便外部程序和工具的访问,所以Oracle提供了两款自带的工具来配置它们分别是 Net Configuration、Ne
关键:操作每个数据库实例之前设置ORACLE_SID变量 export ORACLE_SID=数据库实例
REMOTE_LISTENER参数主要用于RAC环境中监听器的远程注册,监听器的远程注册主要用于实现负载均衡。通常情况下,客户端发出的连接请求会首先被LOCAL_LISTENER接收,然后由Master Instance来决定当前的连接请求应该由哪个目标Instance发出Server Process响应这个连接请求。在启用了负载均衡的情形下,Master Instance会将请求转发到负载较小的实例。如果此时Remote_Listener中指定的实例负载较小,那么当前的请求会被重定向到负载较小的Instance中来建立连接,派生服务器进程进行相应连接。
多年来,我们-Java / JVM社区-对public static void main(...)手工编写产生了恐惧。我们要么通过使用应用程序服务器完全摆脱了它,要么在使用像Guice或Spring这样的依赖注入框架时将其限制为残缺的形式。这是正确的方法吗?
Io 异常: The Network Adapter could not establish the connection 这个异常的出现一般与数据库和你的PC的设置有关
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184394.html原文链接:https://javaforall.cn
环境:Win Server 2008 R2 + Oracle 11.2.0.1 故障:客户反映数据库连接不上,本机sysdba和网络连接都连接不上。
实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力。通常情况下有两种方式来实现负载均衡,一个是基于客户端连接的负载均衡,一个是基于服务器端监听器(Listener)收集到的信息来将新的连接请求分配到连接数较少实例上的实现方式。本文主要讨论的是基于客户端连接的负载均衡,并给出演示。
--==========================================
最近客户邮件描述无法从客户端连接到数据库,其错误号为ORA-12537: TNS:connection closed,连接被关闭。直接通过tnsping没有任何问题。listener日志中出现TNS-12518: TNS:listener could not hand off client connection。即Listener无法分发客户端连接。下面是具体的错误信息、分析与解决的过程。
Oracle RAC 负载均衡使得从客户端发起的连接能够有效地分配到监听器负载较小的实例上。有两种方式实现客户端负载均衡,一是通过配置客户端的load_balance,一是通过配置服务器端的remote_listener参数。两种方式各有优劣,而且两者并不相互排斥,因此可以结合两种方式来更加有效的实现负载均衡。本文将描述两者结合的使用情况(oralce 10g rac)。
在Oracle RAC中,Public IP、Private IP、Virtual IP、SCAN IP、GNS VIP及HAIP的作用分别是什么?
近期在项目中客户软件升级,旧版本的数据库用的SQL Server而新版本换为了Oracle,其中部分数据需要进来平移,这样我们就需要配置Oracle连接SQL数据库,这篇我们就来看一下Oracle怎么用ODBC的方式来连接SQL Server数据库。
一、Oracle XE 数据库与连接工具安装使用 Oracle数据库历来以价格昂贵出名,当然贵有贵的道理,成为一个Oracle DBA也是令人羡慕的事情,如果程序员熟悉Oracle使用也有机会接触到大型的项目,但是Oracle似乎对一般程序员不怎么友好,因为其繁琐的安装配置过程和对系统硬件的苛求,另一般人望而止步,我最早从Oracle 9i开始接触它,深有感受,特别是熟悉了SqlServer的开发人员,初次接触Oracle还是很不习惯的。比如它没有SqlServer数据“库”的概念,一个sa账号管理很多数据
select ‘bgdrac’ database,t11.username,t11.default_tablespace tablespace_name,segment_size_in_GB,datafile_size_in_gb,tablespace_free_size_in_gb from (select username,default_tablespace from dba_users) t11 left join ( select nvl(t1.tablespace_name,t2.tablespace_name) tablespace_name,t1.size_in_GB datafile_size_in_GB,t2.size_in_GB segment_size_in_GB,t1.size_in_GB-t2.size_in_GB tablespace_free_size_in_GB from (select tablespace_name,sum(bytes)/1024/1024/1024 size_in_GB from dba_data_files group by tablespace_name) t1 full join (select tablespace_name,sum(bytes)/1024/1024/1024 size_in_GB from dba_segments group by tablespace_name) t2 on t2.tablespace_name=t1.tablespace_name) t22 on t22.tablespace_name=t11.default_tablespace where t11.default_tablespace<>’zlbfxt’;
关于wodat wodat是一款功能强大的针对Windows Oracle数据库的渗透测试工具,该工具基于C# .Net Framework开发,能够帮助广大研究人员对Windows平台下的Oracle数据库执行按摩全渗透测试任务。 注意:请在被授权执行安全测试的情况下使用该工具。 功能介绍 1、执行基于密码的渗透测试,例如用户名、密码、用户名列表和用户名:密码组合等; 2、测试一个凭证或链接字符串对目标是否有效; 3、执行暴力破解任务以发现有效的SID/ServiceName;
一.SQLPLUS登陆命令: 使用sqlplus: 10G之前的版本登陆时需要加引号(单、双引号皆可)如:sqlplus ” / as sysdba” sqlplus -prelim / as sysdba 从Oracle10g开始,sqlplus提供了一个参数选项-prelim,用这个参数,在系统已经hang的时候可以连接到SGA而不是数据库,也就是说没有session被创建。 sqlplus /nolog conn / as sysdba connect / assysdba conn sys/oracle assysdba SQL>conn bys/bys 已连接。 SQL>show user USER 为 “BYS” 使用服务名登陆,as sysdba即使用SYSDBA用户权限登陆 SQL>conn sys/oraclesys@orcl as sysdba 已连接。 查看用户权限: SQL>show user USER 为 “SYS” SQL>conn sys/oraclesys@orcl as sysoper 已连接。 SQL>show user USER 为 “PUBLIC” 登陆时可以使用IP+端口+服务名或主机名+端口+服务名 SQL>conn bys/bys@192.168.0.181:1521/orcl 已连接。 SQL>show user USER 为 “BYS” SQL>conn scott/tiger@xporacle:1521/orcl 已连接。 SQL>show user USER 为 “SCOTT” 总结如下: 直接在SQLPLUS启动时输入用户名密码的多种格式。 sqlplusscott/tiger sqlplus -prelim /nolog –数据库hang住时,可以这样登陆。 sqlplusscott/tiger@orcl sqlplus scott/tiger@192.168.2.18:1521/orcl sqlplusscott/tiger@xporacle:1521/orcl 如果监听运行在默认的1521端口,可以不写端口:如下: sqlplus bys/bys@192.168.1.211/bys3 如果不想在命令中输入密码,可以使用:或者为用监听名时: [oracle@bys3 dbs]$ sqlplus bys SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 16 20:26:51 2014 Copyright © 1982, 2013, Oracle. All rights reserved. Enter password: sqlplussys/oraclesys as sysdba
--======================== -- Oracle 监听器日志配置与管理 --======================== Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数据库服务。因此对监听器的管理与维护相当重要。
我们 主机 通过 浏览器 访问装在 虚拟机上的 Oracle的企业管理器 时,出现如下图问题:
它会在classpath下搜索activiti.cfg.xml,并基于这个文件中的配置构建引擎
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
创建ProcessEngine Activiti流程引擎的配置文件是名为activiti.cfg.xml的XML文件.注意与使用Spring方式创建流程引擎是不一样的ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine()它会在classpath下搜索activiti.cfg.xml,并基于这个文件中的配置构建引擎<beans xmlns="http://www.springframework.org/schema/bean
在某些特定的情形下,有时候需要从客户端连接到RAC中指定的实例,而不是由客户端Load_balance来动态选择或者是通过服务器端的监听器根据负载情形来转发。对此我们可以通过为tnsnames.ora中特定的网络服务名添加instance_name子项,或者是单独建立一个指向所需实例的网络服务名,下面描述这两种情形。
对于后台进程,首先需要掌握3个概念:后台进程、服务器进程和用户进程,它们之间的关系如下图:
在连接Oracel数据库时,每隔一段时间就会出现:ORA-12518:监听程序无法分发客户机连接,如图
SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 15 20:02:09 2014
领取专属 10元无门槛券
手把手带您无忧上云