在 Oracle 12c 之前,对于要使用 ASM 的数据库实例来说,所有节点上的 ASM 实例必须已处于运行状态,才能启动数据库实例。如果 ASM 实例未运行,则意味着在存储级使用 ASM 的数据库实例不能启动。这实际上意味着无论采用何种技术(即 RAC、ASM 和共享存储),均不能访问数据库实例。 随着 Oracle 12c 的推出,一个名为 Oracle Flex ASM 的特性解除了上述限制,它的一个主要特性是故障切换到集群中的其他节点。本质上是一个中心和叶架构,Oracle Clusterwar
1、首先,先说明下为什么要安装Oracle客户端管理工具? 因为Oracle服务端过大,而且消耗的资源过多,大部分公司会把服务端装在公司的服务器上,而不会装在员工的电脑上,所以这个时候就需要使用Ora
这是一个很简单的知识点,但这些年遇到过太多初学者反而受其困扰,所以还是决定记录一下。 背景:国内使用Oracle的群体,几乎都会使用PL/SQL Developer这个图形化的工具进行日常数据维护。这个软件需要依赖Oracle客户端,且必须是32位的客户端。有些在windows环境下使用64位Oracle服务端的用户(常见于开发测试环境),会直接再安装一个32位的客户端,便于使用PL/SQL Developer。 如果你在使用PL/SQL Developer连接数据库遇到类似这样的错误提示:
我们平时使用的都是32位的机器进行开发,装的都是32位的软件,但是我们的服务器一般都是64位的,所以有时也需要在64位的环境下装一个VS调试程序。最近遇到的一个问题就是一个同事换了一个电脑,用的是X64的Windows 2008作为操作系统,要进行Oracle的数据库连接,所以也装了64位的Oracle客户端。如果是控制应用项目或者WinForm项目可以正常连接Oracle,但是Web项目在程序中打开Oracle连接时,系统抛出了异常:
由于Oracle分为客户端和服务器端,所以,查看Oracle是32位还是64位也分为服务器端和客户端2个部分。
Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中。所以无需配置客户端即可连接到服务器。Oracle 客户端连接到数据库依赖于Oracle Net。Oracle提供了很多基于客户端或服务器的配置工具,需要搞清的是Oracle Net 中的相关术语。术语明白了,其实配置方法与SQL server 大同小异。
Oracle RAC 集群最突出的表现就是高可用性,这些内容主要包括load balance以及failover,通过这些技术使得单点故障不影响客户端端应用程序对数据库的正常访问,以及通过创建service实现节点间负载均衡。本文主要描述Oracle 10g rac环境下的Oracle failover测试。 下面是一些关于这方面的基础参考或相关链接: 有关负监听配置,载均衡(load balance)以及Oracle service请参考
单客户端访问名称(SCAN)是Oracle RAC环境中使用的功能,为客户端提供访问集群中运行的任何Oracle数据库的单一名称。 用户可以将SCAN视为RAC数据库的集群别名。 使用SCAN的好处是,如果在集群中添加或删除节点或数据库,则客户端的连接信息不需要更改。 SCAN首次引入了Oracle RAC 11g第2版,并在Oracle RAC 12c中提供了其他功能。 使用单一名称访问集群以连接到此集群中的数据库,客户端可以使用EZConnect和简单的JDBC瘦URL来访问集群中运行的任何数据库,而与
相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。
Oracle RAC 客户端故障转移(failover),当采用TAF方式时,对于已经建立连接的客户端,在连接的实例或节点出现故障时,客户端无需再次发出连接请求,仍然可以继续之前的数据库操作,此称之为透明故障转移。本文描述基于Oracle 10g rac,客户端TAF方式的故障转移并给出示例。
监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。Oracle官方对其的定义为:A process that listens for incoming client connection requests and manages network traffic to the database. 本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。
例如版本:instantclient-basic-nt-19.8.0.0.0dbru.zip
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。
摘要 一般性的数据库漏洞,都是在成功连接或登录数据库后实现入侵;本文介绍两个在2012年暴露的Oracle漏洞,通过这两种漏洞的结合,可以在不掌握用户名/密码的情况下入侵Oracle,从而完成对数据的窃取或者破坏。这两个漏洞就是CVE-2012-1675和CVE-2012-3137。 引言 国内外很多重要的系统都采用Oracle作为数据存储的数据库;在Oracle中存储着企业或政府大量敏感的信息,在金钱或政治的诱导下,内外部黑客会想法利用管理、网络、主机或数据库的自身漏洞尝试入侵到数据库中,以达到自身的目
如下图所示,Oracle通过Oracle Net协议实现客户端与服务器端的连接以及数据传递。Oracle Net是同时驻留在Oracle数据库服务器端和客户端上的一个软件层,它封装了TCP/IP协议,负责建立与维护客户端应用程序到数据库服务器的连接。
使用python连接oracle数据库服务器需要三个软件的位数一致额版本配套(python版本、oracle数据库服务器版本和oracle客户端连接工具版本)
提示:本文同样适合于plsql developer连接32位的各个版本oracle。
这段时间因为项目原因,接触到了Oracle12C,其实问题很简单,就是pl/sql developer能够访问数据库服务端即可,却碰到了奇奇葩葩的问题,现分享一下。
一.概要 本文主要目的,希望通过分享解密方法引起相关人士对网络安全的重视。数据库安全绝不单只数据库本身的安全,和数据库所处的整个环境都有密切关系。 本文所说的破解oracle9i、oracle10g、oracle11g密码,特指通过对oracle数据库和客户端之间通讯包进行处理破解出oracle密码明文,这有别于对oracle数据库中存储的16位密码进行破解。截获网络信息往往比登入数据库找到密码密文更易操作、更难防范、隐秘性更高。 本文会说明oracle最常见的3个版本的具体算法,但是不会揭露算法内部细节。
今天在客户服务器上遇到了oracle中文乱码问题,第一个想到的是:要想避免oracle字符乱码的问题,需要注意oracle客户端的字符编码和服务端的字符编码保持一致。
http://www.eygle.com/special/NLS_CHARACTER_SET_06.htm
Oracle RAC中,除了基于客户端的TAF方式之外,还有基于服务器端的TAF方式,可以把服务端的TAF方式看作是客户端TAF方式的一个升级版吧。服务器端的TAF,当然是需要在服务器端进行配置了,这个是通过Service来完成的。本文主要描述Oracle 10g rac 下通过service方式配置服务器端的TAF。
Oracle 客户端的安装方式一种有两种: 1、Oracle标准客户端 点击下载 这是Oracle提供的标准版11r2的客户端 2、Oracle Database Instant Client(即
1、在Oracle服务端和客户端都安装完之后,就需要配置监听程序和本地网络服务,以便外部程序和工具的访问,所以Oracle提供了两款自带的工具来配置它们分别是 Net Configuration、Ne
Oracle RAC 负载均衡使得从客户端发起的连接能够有效地分配到监听器负载较小的实例上。有两种方式实现客户端负载均衡,一是通过配置客户端的load_balance,一是通过配置服务器端的remote_listener参数。两种方式各有优劣,而且两者并不相互排斥,因此可以结合两种方式来更加有效的实现负载均衡。本文将描述两者结合的使用情况(oralce 10g rac)。
随便一个oracle命令,例如imp,如果提示输入用户名,就表示安装了oracle
1.上传oracle精简版客户端到服务器/tmp目录下,解压到/opt目录下,改名为oracleclient
NBU 的使用需要在客户端安装配置,否则无法使用,NBU 客户端支持 Linux、Window 以及 AIX 三个平台,安装过程都比较简单,本文介绍下如何在 Linux 下配置 NBU 客户端。
我只是一名普通的.Net开发人员,常用SqlServer,偶尔用其它数据库,属于能连上然后select/execute就行的那种。但就是我这么小的愿望,在面对Oracle时都很难实现。 虽然04年就开始用Oracle开发项目,但每次遇到问题总是胡乱弄一下,能用就行。这次又遇到问题,更离谱的是:同一个版本的NewLife.XCode,同一台机器,同一个ODP.Net版本,上个月写的程序工作好好的,怎么折腾都能用,刚刚新写的一个,怎么写都不行!于是,决心彻底的解决这个问题,共耗时三天三夜(熬夜到
12170, 00000, "TNS:Connect timeout occurred"
NLS(National Language Support,国家语言支持)是数据库的一个非常强大的特性,控制着数据的许多方面,最重要的两个方面包括:1、文本数据采用何种编码存储在磁盘上。2、透明地将数据从一个字符集转换到另一个字符集。Oracle字符集可以分为数据库字符集和客户端字符集。客户端字符集定义了客户端字符数据的编码方式,任何发自或发往客户端的字符数据均使用客户端定义的字符集编码,客户端可以看作是能与数据库直接连接的各种应用,例如SQL*Plus、exp/imp等。客户端字符集是通过设置NLS_LANG参数来设定的。
许春植(Luocs) (阿里巴巴高级数据库管理员,7年以上数据库运维管理经验,擅长MySQL、Oracle及MongoDB数据库,目前主要研究并建设MongoDB一套完整的运维体系) 编辑手记:感谢许春植授权独家转载其精华文章,也欢迎读者朋友向我们投稿,本文是对Oracle SCAN特性的一些介绍和总结,编辑时略有节略。 Oracle 从11g 开始推出的 SCAN 特性在 Oracle RAC 高可用连接里占据着非常重要的地位,也是以后的重点推进方向。 说在前头:文章中核心内容来自官方,当然也参考了
实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力。通常情况下有两种方式来实现负载均衡,一个是基于客户端连接的负载均衡,一个是基于服务器端监听器(Listener)收集到的信息来将新的连接请求分配到连接数较少实例上的实现方式。本文主要讨论的是基于客户端连接的负载均衡,并给出演示。
环境:Oracle 12.2.0.1 RAC 背景:用户反映12c ASM创建的用户具备sysasm权限,但无法在客户端连接到ASM实例,且没有报错。
此前从未接触过ArcGIS,对Oracle和postGre SQL也比较陌生。本文介绍了从零开始,到搭建环境,再到发布第一个ArcGIS地图服务的完整过程。
Oracle RAC服务器端的负载均衡是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去。当数据库处于运行时,RAC中各节点的PMON进程每3秒会将各自节点的连接负荷数更新到service_register。而对于节点中任意监听器故障或监听器意外失败时,PMON进程会每1秒钟检查当前节点上的监听是否重启,以获得最新的负载信息来及时调整负载均衡。本文主要演示suse 10 + oracle 10g rac下的服务器端的负载均衡。
两者完成相同的任务,即处理所有指定的SQL操作。假定从客户端提交一个任意查询(DQL)到数据库服务器不论是专用模式还是共享
这个专题讲解Python相关方面的内容,首先是运维方面,例如数据库,Linux等,后续会有Web,爬虫等。
大家对netstat -a命令很熟悉,但是,你有没有注意到STATE一栏呢,基本上显示着established,time_wait,close_wait等,这些到底是 什么意思呢,在这篇文章,我将会详细的阐述。
本人从来没有接触过Oracle,今天听师兄讲解演示了一下,颇有收获,所以著文以记之。废话少说,现介绍一下情况:
前几日通过 ADG 的switchover 模式迁移了一套 19c 的 RAC 环境,迁移后一切正常,主备库均可正常提供服务,备库正常同步,不过为了节省资源,又是测试环境,则将其备库关机回收资源了,大约一周后的时间,有开发的小伙伴找来说他的程序执行报错了,扔来了如下的错误代码。ORA-28040:No matching authentication protocol 没有匹配的认证协议。
http://www.cnblogs.com/sekai/articles/5493234.html
系统Oracle版本从原来的Oracle 11g 升级到 Oracle 19c后,PLSQL客户端连接报错:
目前一共包含7个脚本,若脚本的扩展名为“.sql”则表示该脚本为sql脚本,若脚本的扩展名为“.pl”则表示该脚本为perl脚本。 对于Oracle的SQL脚本而言,脚本DB_Oracle_HC_lhr_vxxx_10g.sql适用于Oracle 10g数据库,脚本DB_Oracle_HC_lhr_v6.0.8_11g.sql适用于Oracle 11g的数据库,脚本DB_Oracle_HC_lhr_v6.0.8_12c.sql适用于Oracle 12c及其以上版本,这3个脚本都是只读版本,这3个脚本只会对数据库做查询操作,不会做DML和DDL操作,这也是很多朋友所期待的功能。 脚本DB_OS_HC_lhr_v6.0.7.pl是perl脚本,执行后会对OS的信息进行收集,并且输出到html中。 脚本DB_MySQL_HC_lhr_v6.0.8.sql是MySQL脚本,执行后会产生MySQL的健康检查html报告,该脚本为只读脚本。 脚本DB_MSSQL_HC_lhr_v3.2.sql是SQL Server脚本,存在部分DDL和DML操作,执行后会产生SQL Server的健康检查html报告。
平时我们开发使用的是32位的PC机,所以安装的也是Oracle32位的客户端。但是一般服务器都是64位的,安装的也是64位的Oracle客户端,如果要部署使用Oracle.DataAccess连接Oracle的应用程序时,可能会遇到版本上的问题。
在安装、部署Oracle数据库软件时,需要根据不同应用结构(即硬件平台、操作系统平台)采用不同的方法(基本安装、高级安装),下面介绍几种常见的应用结构。
前两天YJ部门有一个使用occi的应用,启动时出现报错,应用日志记录的内容是Occipool error,没有任何其他信息了,后来同事向应用中加了一些日志语句,重编译运行才发现报的是ORA-00020错误,数据库process连接进程达到了上限,通过参数修改,解决了这个问题。这里我要说的是在排查过程中看到的另外一个报错。
为避免SQL-注入,所有的update,insert,delete,select全部使用带参数的形式编写 Update TableName Set FiledName=:Fd1 where Id=:Id ID Oracle类型是 Varchar2对应DbType.String 问题来了,由于类型映射不匹配,导致在执行SQL时Oracle会自动转换类型,这样直接导致无法使用到索引(全部全表扫描),所以update,delete时效率特别差 后修改代码 ID Oracle类型是 Varchar2对应DbType
使用oracle 11.2.0.1 的客户端,对19c的服务端进行连接时,报错:ORA-28040: No matching authentication protocol
这里只列出部分结果,其它的详细内容可以参考:https://share.weiyun.com/5lb2U2M
领取专属 10元无门槛券
手把手带您无忧上云