我的 Oracle DBA 同事正在请求对我们的生产服务器进行root 访问。
他认为他需要它来执行一些操作,例如重新启动服务器和其他一些任务。
我不同意他的观点,因为我为他设置了 Oracle 用户/组和 Oracle 用户所属的 dba 组。一切都运行顺利,目前没有 DBA 具有 root 访问权限。
我还认为,所有管理任务(如计划的服务器重启)都需要由适当的管理员(在我们的案例中为系统管理员)来完成,以避免与对基础架构交互的误解相关的任何类型的问题。
我想要系统管理员和 Oracle DBA 的输入 - Oracle DBA 是否有充分的理由在生产环境中拥有 root 访问权限?
如果我的同事真的需要这种级别的访问权限,我会提供它,但出于安全和系统完整性方面的考虑,我很害怕这样做。
我不是在寻找利弊,而是关于我应该如何处理这种情况的建议。
是否可以在 BIOS 中禁用 CPU(英特尔)内核,如果是,HP/DELL(其他?)1U/2U 服务器会允许这样做吗?
找到新的双核服务器硬件变得越来越困难,大多数新服务器都是四核服务器,因此 Oracle 许可的成本使服务器升级变得异常复杂。这让我想到了上面的问题。
所以我需要让 Oracle 11g 的 32 位和 64 位客户端在同一台机器上共存。我之前都安装过,但是有很多问题,需要使用 32 位客户端的应用程序似乎引用了 64 位客户端,反之亦然。
我在各种 Oracle 论坛和 Oracle 特定资源上搜索了很长时间,并尝试了各种技术来获取 ORACLE_HOME 和此类设置,以便两个客户端可以很好地并排运行,但实际上没有任何效果。
是否有合法的最佳实践方法来做到这一点?具体来说,我想知道每个客户端是否需要在自己的 BASE 目录中(比如 C:\oracle 和 C:\oracle32),或者它们是否应该在同一个基本目录中但有自己的客户端文件夹。
如何找出(如果可能的话,通过企业管理器)某个表正在使用的总数(以 Mb 为单位)?
最近,我们的 oracle 数据库在我们目前所知的 1 个查询上锁定时遇到了问题。
我将对发生的事情进行细分,但实际上与我的问题没有太大关系,但我愿意接受建议。
断断续续地不知道什么时候会发生,过去一个月已经发生了 4 次,用户会点击应用程序中的某些内容。用户点击了什么仍然未知。无论单击什么,它都会对数据库运行查询,这将生成大约 700k 行。
我检查了正在运行查询的表,索引看起来不错。
数据库是 60GB,服务器上有 32GB。
从数据库服务器上的日志我看到高 I/O 但 CPU 和 RAM 保持不变。
一台应用服务器,CPU 使用率高达 75% 左右。我可以找到工作进程,找到 PID,但是当我终止与工作进程关联的 PID 时,CPU 将短暂关闭,然后立即恢复。
同样回收应用程序池,并重新启动 IIS 会做同样的事情,CPU 会短暂下降,然后又会恢复正常。
唯一可以使服务器恢复正常的方法就是重新启动。
所以我的建议是,如果这个查询是导致锁定的原因,可以增加盒子上的内存以允许数据库缓存并耗尽内存。我听过一次,但我不确定它是否属实。
存储是具有 3 层的 HP PAR 3,数据库几乎位于 SSD 层中。
SSD 或内存哪个更快
安装 Oracle 数据库时,您通常会应用(或考虑应用)哪些非默认设置?
我不是在追求硬件相关设置(例如内存分配)或文件位置,而是更一般的项目。类似地,任何对特定应用程序有特殊要求而不是普遍适用的东西都没有真正的用处。
您是否将代码/API 模式(PL/SQL 所有者)与数据方案(表所有者)分开?您使用默认角色还是非默认角色,如果是后者,您是否使用密码保护角色?
我也对是否有任何地方可以对默认安装的 GRANT 进行撤销。这可能取决于版本,因为 11g 的默认安装似乎更加锁定。
这些是我在最近的设置中使用的。我想知道我是否遗漏了什么或您不同意的地方(以及为什么)。
数据库参数
字符集- AL32UTF8
配置文件
我创建了一个修改后的密码验证函数,该函数使用 apex 字典表 (FLOWS_030000.wwv_flow_dictionary$) 作为防止简单密码的额外检查。
开发者登录
CREATE PROFILE profile_dev LIMIT FAILED_LOGIN_ATTEMPTS 8
PASSWORD_LIFE_TIME 32 PASSWORD_REUSE_TIME 366 PASSWORD_REUSE_MAX 12
PASSWORD_LOCK_TIME 6 PASSWORD_GRACE_TIME 8
PASSWORD_VERIFY_FUNCTION verify_function_11g
SESSIONS_PER_USER unlimited CPU_PER_SESSION unlimited
CPU_PER_CALL unlimited PRIVATE_SGA unlimited
CONNECT_TIME 1080 IDLE_TIME 180
LOGICAL_READS_PER_SESSION unlimited LOGICAL_READS_PER_CALL unlimited;
Run Code Online (Sandbox Code Playgroud)
应用登录
CREATE PROFILE profile_app LIMIT FAILED_LOGIN_ATTEMPTS …Run Code Online (Sandbox Code Playgroud) 背景资料:
故障组 Alpha 在磁盘 1 上,故障组 Bravo 在磁盘 2 上
我们最近在我们的一台 Oracle 服务器上遇到了一个问题。我们的一个磁盘(我们称之为磁盘 1/故障组 Alpha)在 Oracle 运行时出现故障。当我们重新启动服务器时,Oracle 无法启动,因为我们没有足够的磁盘来满足我们的冗余要求。
我们怎样才能从这次失败中恢复过来?
这发生在我们的一个暂存区,我们想弄清楚将来可以做什么……特别是如果没有备用磁盘可用。
我正在浏览网络以寻找解决方案,但我没有运气。:(
如何在不安装 Oracle 服务器的情况下将Oracle 的imp/exp二进制文件安装到我的 CentOS 机器上?我正在访问另一台机器上现有的 Oracle 数据库,所以我只需要一个客户端。我已经安装了sqlplus它的依赖项(oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm, 和oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm),但是没有提供这些工具。
我真的需要完全安装 Oracle 吗?
我的目标是将数据库转储从 Oracle 吸到我的 CentOS 机器上。如果有另一种不使用的方法可以做到这一点,exp我不会因为不使用它而感到难过,但在我看来,别无选择。
我们计划将我们的应用服务器升级到 JRun 的新版本,该版本从 Java 1.4 升级到 Java 1.6。作为其中的一部分,我们一直在测试我们软件堆栈的各个部分,并意识到也需要查看我们的 Oracle JDBC 驱动程序。
查看 Oracle 站点和文档,不同版本似乎主要针对 JDBC API 的各种版本,这些版本往往对应于引入它们的 JVM 版本。 Java(通常)向后兼容,似乎坚持使用 ojdbc14.jar 可能最有意义,但我希望有人能更好地澄清事情。
文档专门调出了这样的图表,这让我想知道 ojdbc14.jar 是否在 Java 6 下得到正式支持。
classes12.jar - for Java 1.2 and 1.3
ojdbc14.jar - for Java 1.4 and 1.5
ojdbc5.jar - for Java 1.5
ojdbc6.jar - for Java 1.6
Run Code Online (Sandbox Code Playgroud)
在混合和匹配驱动程序和虚拟机时,从系统角度我应该注意些什么?
按照我们多年来一直用于以前版本的 Oracle 和 SQL Server 的标准程序,我已经安装了 Oracle 最新的 ODAC 包,其中包括在我们新的 SQL Server 2008 R2 x64 节点上的 Oracle OLE 驱动程序。我已完成建议的系统重启,但 OraOLEDB.Oracle 未显示在 SSMS 的 Linked Servers\Providers 节点中。此安装与以前的 SQL Server 安装之间的唯一区别是我现在使用的是 SQL Server x64(在 Windows 2008 R2 上)。这应该有什么区别吗?
请注意,我可以直接从 SQL Server 节点使用 SQL*Plus 连接到 Oracle 服务器。我唯一缺少的是提供者。有谁知道我错过了什么?网络上有很多帖子,但似乎有很多混乱和过时的 Oracle 下载页面链接。
我唯一需要做的就是创建一个到 Oracle 的链接服务器,并针对它运行选择查询。我不需要通过 Visual Studio 做任何事情。