我已经在Windows 7 64位上安装了Oracle 11.2.0和Allround Automations的SQLDeveloper。 当我运行SQLDeveloper并尝试连接到Oracle时,出现以下错误: Initialization error Could not load "C:\app\MyComp\product\11.2.0\dbhome_1\bin\oci.dll" OCIDLL forced to C:\app\MyComp\product\11.2.0\dbhome_1\bin\oci.dll LoadLibrary(C:\app\MyComp\product\11.2.0\dbhome_1\bin\oci.dll) returned 0 可能是什么问题?
正式的Oracle文档说,对于一台RAM超过16GiB的机器,我们需要分配16GiB的交换空间。 我们的服务器是RHEL 7,并有256GiB的RAM。 DBA不希望看到系统交换,所以他们希望我们非常积极地监视交换的16GiB。 我build议我们将内存翻倍至512GiB(费用已经核准),并禁用交换。 但是,这是违反了Oraclebuild议使用16GiB的RAM,尽pipe我们将RAM加倍。 老实说,我不明白3%的交换是否有意义,或者为什么如果我添加的RAM比我们交换的多,我们必须保持交换。 那么,有没有什么好的论点可以用来certificate在没有交换的情况下运行Oracle呢? PS我提到RAM的翻倍的唯一原因是为了certificate我很难争论的论点的荒谬性。 我真正想要的是有理由认为禁用交换。
我正在configuration一个小型服务器,但读取I / O密集型数据库。 它作为公共访问大型Oracle RAC数据库的主索引。 在考虑I / O的需求时,确定了一系列SSD可以提供比大量SAS 15K主轴成本更低的性能。 我有一个惠普服务器,一个智能arraysP400将只连接到SSD。 控制器有256MB的BBWC。 固态硬盘是三星(我相信)制造的60GB SLC 2.5“SATA。 我想知道是否有人洞察到RAID 10或5的最佳条带大小,文件系统build议? 我们将要做Oracle 11g,所以我相信我需要有一个文件系统,而不是使用RAW块设备。 服务器将运行RHEL 5.5。 在过去的几个月中,我已经做了大量的关于固态硬盘的阅读,我不反对做更多,但是我的谷歌已经开始使我无法前进。 我在SSD RAID上发现的大多数文档都是为了在家用电脑上启动驱动器的消费者级别SSD的RAID 0,以使Windows 7启动和加载游戏的速度更快。 我所说的是,我不是在找别人去做我的工作,只是提供他们已经有的经验,或者链接到他们find的某个文件。 提前致谢! 编辑一些额外的信息,而不是回复每个人的评论: 驱动器空间根本不是问题,因为数据库足够小,可以安装在其中一个SSD上,而且没有问题。 作为一个非常重读的数据库(在4-8k中有95%的随机读取),我想我可能从RAID 5中获得更好的性能,只是因为我可以从arrays中的N-1个驱动器读取数据,而不是只读取镜像,因为我读过的东西表明,Smart Array P400不支持在RAID 10集中镜像两侧读取。 也就是说,我相当肯定,在我不必担心这个问题之前,控制器最终会成为一个瓶颈。 在TRIM上:我相当肯定,即使这些驱动器支持TRIM(我不相信他们这样做),那么通过RAID控制器将TRIM命令推送到各个驱动器也会有些困难。 操作系统的支持也是有害的,因为红帽企业Linux 5仍然基于2.6.18内核树,尽pipe有很多自定义function来引入更高版本的内核版本。 EXT4还没有得到官方的支持,作为一个生产环境,如果出现问题,我需要保持自己的地位,红帽和惠普将帮助我。 尽pipe如此,我相信在驱动器级别上还是会有一些垃圾收集。 在不同的基准testing过程中,我已经多次填充了磁盘,而且如果我不得不等待擦除/编程周期而不仅仅是编程周期,则没有看到写入速度明显下降。 以下是6个驱动器RAID 10arrays的基准数据,使用256KB的条带大小。 分区是EXT3,在64个扇区alignment。 使用NOOP调度程序,并在挂载时给出NOATIME选项。 我也增加了操作系统读取caching到8MB(我相信默认是512K)。 我使用了Iozone 3.347进行这个testing,logging大小为4KB,基准文件大小为25GB,希望能够将caching从图片中删除,并测量驱动器的实际性能。 我也用四个线程(4x25GB文件是由4个subprocess写入驱动器压力)运行。 运行开始:2010年8月30日星期一12:09:57 Record Size 4 KB File […]
有没有简单的方法来确定我连接的Oracle 11g R2系统的哪个RAC节点? 我正在尝试执行一些故障转移testing,并且希望确保我的应用程序正确连接到一个节点,并且在此节点节点closures时,平滑过渡到另一个节点,而在前端没有任何明显的延迟。 也许值得一提的是我们利用TAF。 我考虑过使用企业pipe理器,但我想当我连接到一个节点运行时,这个节点宕机,我真的没有机会监控节点的连接状态。
我们正在安装订购一个configuration的oracle数据库,他们问我们想要什么字符编码。 应用程序(Java)只有英文,但用户来自世界各地。 有没有动机不使用UTF8或其他Unicode字符集?
所以我需要在同一台机器上同时存在用于Oracle 11g的32位和64位客户机。 我以前一起安装了这两个版本,但是有很多问题需要使用32位客户端的应用程序似乎引用了64位客户端,反之亦然。 我已经在各种Oracle论坛和Oracle特定资源上search了很长时间,并尝试了各种获取ORACLE_HOME和这样的设置的技术,这样两个客户端就可以并排播放,但是确实没有什么效果。 有没有一个合法的最佳实践方式来做到这一点? 具体来说,我想知道每个客户端是否需要在自己的BASE目录(如C:\ oracle和C:\ oracle32),或者他们应该在同一个基地直接,但有自己的客户端文件夹。