Articles of oracle

Oracle Instant Client DSN通过unixODBC

我已经在SuSEnetworking服务器上安装了Oracle Instant Client,并试图通过unixODBC连接到使用PHP的Oracle数据库。 连接似乎正常工作,发出一个odbc_connect后,我得到一个“odbc链接”types的响应。 发出一个odbc_prepare后,我得到一个“odbc结果”types的响应。 问题是当我尝试发出odbc_execute命令我得到两个错误之一: Warning: odbc_execute(): SQL error: [unixODBC][Oracle][ODBC][Ora]Driver not capable., SQL state S1C00 in SQLExecute 或者浏览器错误: Error 324 (net::ERR_EMPTY_RESPONSE): Unknown error. 我也尝试在odbc_connect方法上指定SQL_CUR_USE_ODBC,但是当我这样做时,脚本只能无限期地挂起。 我想知道的是,有一些选项,我必须在DSN的odbc.ini或odbcinst.ini文件中指定? 关于可用选项或这些选项的作用,似乎没有太多的文档方法。 编辑 我没有通过PDO对象方法获得连接(没有真正改变任何东西,只是尝试使用PDO准备/执行方法)。 但是我仍然无法使用odbc_prepare / odbc_execute得到任何结果。 以下是我从“SELECT * FROM product_component_version”查询中获得的服务器信息: [PRODUCT] => NLSRTL [VERSION] => 10.2.0.4.0 [STATUS] => Production [PRODUCT] => Oracle Database 10g Enterprise Edition [VERSION] => 10.2.0.4.0 […]

W2K8 R2上的SSIS,SQL Server 2008 SP2和Oracle

我正在将Windows 2000上的旧SQL Server 2000 SP4迁移到Windows 2008上的新SQL Server 2008 SP2。在旧服务器中,我们有一个DTS,可以对Oracle服务器执行一些简单的任务(3个转换 – 复制从3个SQL表到3个Oracle表的列,没有什么奇特的)。 因此,我们需要在SQL Server 2008中使用SSIS。 但是,我们还没有能够使其工作。 在我们的testing机器中,我们做了以下工作 全新安装Windows 2008 R2 安装SQL Server 2008 x64 – 使用客户端和pipe理工具,SSIS,BIDS等。 安装Service Pack 2。 安装Oracle客户端。 从MS安装AttunitySSISOraAdaptersSetupx64.msi。 我已经尝试安装所有可用的Oracle客户端:10g R2(10.2.0.4)x32,x64和11g R2(11.2.0)x32和x64。 tnsping的作品,我可以连接SQLPlus *,甚至可以用Oracle驱动创buildODBC到所需的Oracle数据库,没问题。 但是,当我尝试在SSIS中定义新的数据源时,我无法使其工作。 错误的范围从“错误的体系结构”(当只有x64的Oracle客户端存在 – 已经testing了两个客户端,x32和x64,都不工作),甚至更疯狂的事情(TNS-xxxx Oracle错误,没有任何意义,因为我已经testing了oracle连接,它工作)。 我认为主要的问题在于,我有一个w2k8(x64)操作系统,SQL Server 2008(x64),而且这些工具(SQL Server Management Studio和BIDS)都是x32,因此是架构错误。 但是,只有在build立Oracle连接时才会发生这种情况,并且已经使用x32和x64客户端进行了testing,并且无法使其工作。 有任何想法吗 ?

切换Oracle使用共享服务器,现在Java应用程序抛出SQLRecoverableExceptions

这个问题可能会模糊Java和数据库问题之间的界限,所以我很抱歉如果这是错误的地方。 不确定哪一边是责备呢。 我是一名Java开发人员,暂时在我的项目中使用DBA,所以我很新。 我们在我们的Java应用程序使用的Red Hat Linux 64位服务器上运行Oracle 11.2.0.1。 我们最近决定将Oracle 11g实例从专用服务器切换到共享服务器,现在我们的应用程序经常会抛出这些错误: 09:58:00,077 ERROR [main] SparqlHelper:198 – Error performing query: com.hp.hpl.jena.shared.JenaException: java.sql.SQLRecoverableException: Closed Connection at oracle.spatial.rdf.client.jena.OracleSemQueryPlan.executeBindings(OracleSemQueryPlan.java:494) at oracle.spatial.rdf.client.jena.OracleStagePattern.<init>(OracleStagePattern.java:216) at oracle.spatial.rdf.client.jena.OracleQueryIterBlockTriplesQH.nextStage(OracleQueryIterBlockTriplesQH.java:98) at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:94) at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:55) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:69) … (lots more) Caused by: java.sql.SQLRecoverableException: Closed Connection at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3331) at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3232) at oracle.jdbc.OracleConnectionWrapper.prepareStatement(OracleConnectionWrapper.java:115) at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:411) at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:374) at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:366) at […]

OPTIMIZER_FEATURES_ENABLE的替代scheme

我在客户端的9i服务器(Oracle9i版本9.2.0.1.0 – 64位产品)中安装了PHP驱动的应用程序。 某些查询的性能非常糟糕(它可以使用15分钟到几个小时来计算执行计划 !),我已经将问题追踪到OPTIMIZER_FEATURES_ENABLE参数的非默认值:9i的默认值是9.2.0但客户将其更改为8.1.7 。 当我在开发箱中做同样的改变时,我遇到了同样的性能问题。 如果他们运行Oracle 10或更高版本,我可以自己更改它,但是在9i中,它是一个需要为整个实例设置的静态参数。 一段时间以前,这个改变是为了支持一个非常重要的传统计划。 客户正在等待第三方供应商的回答,但是我感觉有一点改变的机会。 那么,如果参数需要保持不变,那么我有什么select呢? 其效果可以用其他可变设置来模拟吗? 任何其他的想法?

SAN上的Oracle数据仓库。 吞吐量是否可以达到400MB / s?

我们正在开发和部署基于Oracle 11g EE的数据仓库,并在RHEL5 64位上为客户端进行分区。 所需的总存储空间大约为4TB。 我一直在阅读关于数据仓库的平衡硬件configuration,并且存储吞吐量对于数据仓库的性能是至关重要的; 存储应该被指定为顺序吞吐量不是容量,条带化和镜像的一切。 我们的客户非常热衷于使用他们的SAN(NetApp),原因很多:例如集中pipe理和备份,他们已经花了很多钱。 在我看来,即使是相对较less数量的本地磁盘,也比SAN有更好的吞吐量 16 x 10k RPM 600GB SFF磁盘 = 9600 GB raw =使用RAID-10的4800 GB可用空间 如果每个磁盘可以产生60MB / s的吞吐量,则总吞吐量为8 x 60 = 480 MB / s 我的问题:连接到SAN的单个Oracle数据库主机是否可以获得> 400MB / s的连续吞吐量? 我意识到我将需要至less一个4Gbps或更大的连接到SAN。 我没有看到理论上的原因,为什么SAN不能提供足够的磁盘速度。 SAN能否以“数据仓库”的速率提供数据(至less400MB / s)? 有没有人在现实世界中看到这些速度? 也许有一些限制,我不知道这阻止通过SAN看到这种types的速率单个主机。 我们有很多Oracle和Red Hat的经验,但我们对SAN并不熟悉。 我们是一家小公司,内部没有。

Windows Server 2003上的Oracle ODBC:数据库 – Windows 7客户端连接问题

我有一个Win 2k3服务器上的Oracle数据库(64位)。 我必须从Win7(64位)机器访问数据库。 我已经下载了即时客户端和64位ODBC驱动程序,并已明显成功安装它。 具体而言,我下载了即时客户端和驱动程序zip文件,将它们解压到同一个目录,然后运行odbc_install.exe文件。 此报告驱动程序安装成功。 然后我把目录添加到windows的“Path”环境variables中。 (即我按照这里的说明)。 当我尝试连接时出现问题。 我打开ODBC数据源pipe理器,尝试添加一个系统DSN。 当我点击“testing连接”,混蛋挂起和崩溃。 不pipe我在那里放置什么细节,都会挂起,崩溃。

Oracle:尝试重置日志时获取ORA-01195和ORA-01110

我正试图让我们的数据库启动。 当我login到sqlplus并做一个启动,我得到的消息: Total System Global Area 534462464 bytes Fixed Size 2215064 bytes Variable Size 331350888 bytes Database Buffers 192937984 bytes Redo Buffers 7958528 bytes Database mounted. ORA-01589: must use RESETLOGS or NORESETLOGS option for database open 所以我做一个关机,启动安装(工作正常),然后运行: SQL> alter database recover using backup controlfile until cancel; alter database recover using backup controlfile until cancel * […]

Oracle SGD 4.61.915不closuresWindows 2003应用程序会话

我正在使用Windows 2003应用服务器,我已经按照这篇文章: http : //download.oracle.com/docs/cd/E19351-01/821-1926/z40000df1311155.html#bbjiefec但仍然..当我closures来自SGD的应用程序..我的用户会话是“断开连接”,但进程保持打开状态。一段时间后,它自动在Windows应用程序服务器中closures。 但是,这不会发生在Windows 2008中,当我closures任何应用程序..会议得到closuresinmediatly。 任何人都知道如何解决这个问题?

间歇性java.sql.SQLException:ORA-03120:双任务转换例程:整数溢出exception

当我的spring的应用程序启动时,我间歇性地得到以下错误。 我在spring使用oracle与dbcp池作为我的数据源bean。 Caused by: org.apache.commons.dbcp.SQLNestedException: Errorpreloading the connection pool at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1238) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) … 46 more Caused by: java.sql.SQLException: ORA-03120: two-taskconversion routine: integer overflow at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:204) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:406) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399) at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:799) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:368) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at […]

使用LDAP来validationoracle数据库用户

我已经在纯Linux / OpenLDAP,Samba / OpenLDAP环境和全面的Windows / AD环境中的less数几个地方build立了Oracle数据库11g。 将使用这些数据库的应用程序将要求用户input域密码,并使用提供的用户/密码对连接到数据库。 从这个angular度来说,我认为最好的解决scheme是将数据库中的authentication代理到LDAP,如果用户可以通过LDAPauthentication,他可以访问数据库。 如果我必须手动定义可以事先连接到数据库的所有用户,这不会是一个问题。 如果LDAP密码不正确或LDAP帐户被locking,则需要拒绝访问。 如何configurationOracle数据库11g以使用LDAP进行身份validation? 这可以以便携的方式完成,使用AD和常规的LDAP服务器吗?