这可能包括:
我们想在运行 Oracle 的旧机器上安装 SQL Server。它们不能在同一台机器上共存有什么原因吗?
互联网上的各种来源建议在每次操作系统升级和/或补丁后重新链接 Oracle 二进制文件是必要的。
我可以理解升级 glibc 时需要重新链接。有些包可能不需要重新链接,有些需要,有些我不确定:
有没有人有一个列表,或者任何人都可以向我指出 Oracle 实际链接的库的列表?我不是 Oracle DBA,所以我对 Oracle 链接过程一无所知。我什至不确定我是否真的了解 Oracle 在重新链接期间正在做什么:在二进制软件中,在安装后进行自己的链接并不是一种常见的做法,是吗?
无论如何,长话短说:我有几个 RHEL[345] 盒子,我需要对其应用一些补丁。大多数机器都运行 Oracle,我想知道哪些补丁需要重新链接,哪些不需要。尽可能详尽的列表会很好:)
IANADBA,但我正在编写一个脚本,只要尚未激活 oracle 备用数据库,该脚本就会采取行动。我正在寻找的是两个查询(或查询集,如有必要)。
1 - 数据库是否已挂载(例如,有人做过“更改数据库挂载备用数据库”)
2 - 如何判断数据库是否已激活(如“alter database activate standby database”)?
正如我所提到的,我正在寻找查询,但如果系统中有某种方法可以告诉我,我也愿意接受。谢谢!
更新
我接受了下面的建议(稍作修改,因为我正在处理 Oracle 8i,我得到了这个:
SQL> SELECT INSTANCE_NAME, DATABASE_STATUS, INSTANCE_ROLE from v$instance;
INSTANCE_NAME DATABASE_STATUS INSTANCE_ROLE
---------------- ----------------- ------------------
RGR01 ACTIVE PRIMARY_INSTANCE
Run Code Online (Sandbox Code Playgroud)
目前,此实例正在积极恢复存档日志,但不是“实时”的。我仍在寻找一种方法来判断它是否没有作为备用数据库安装。
在 Unix 服务器中安装 Oracle 数据库时,用于安装的 Unix 用户 ID 将成为数据库的所有者。在 shell 脚本中确定哪个 Unix 用户是 Oracle 安装的所有者的最可靠和最通用的方法是什么?我的意思是,您可以对安装创建的文件执行 grep 以查找此信息,还是应该对特定目录中的特定文件使用 ls 命令。如果要检查的文件的名称也是可变的,我需要有一种方法来确定文件的名称和路径。
我有一个奇怪的问题。
我已经在运行 Windows Server 2008R2 的终端服务器上安装了 Oracle 10g 客户端。当我尝试使用 Toad 连接到 Oracle 时,收到错误“ORA-01019 无法在用户端分配内存”。但这只有在我以管理员身份登录时才会发生。
如果我以普通用户身份连接,则可以毫无问题地连接。另外 - 如果连接了普通用户,我可以作为管理员毫无问题地连接。
有什么想法吗?
如何在启动时更改与 Oracle 数据库的最大连接数?我用 :
ALter system set sessions=500 scope=spfile;
Run Code Online (Sandbox Code Playgroud)
但是,重新启动数据库后,使用 show parameter sessions 仍然为会话提供值 772
奎。
我正在为一个小型但读取 I/O 密集型数据库配置服务器。它用作公共访问更大的 Oracle RAC 数据库的主索引。在查看 I/O 要求时,确定一组 SSD 将提供所需的性能,并且成本低于大量 SAS 15K 轴。我有一台 HP 服务器,带有仅连接到 SSD 的 Smart Array P400。控制器有 256MB 的 BBWC。SSD 是三星(我相信)制造的基于 60GB SLC 的 2.5" SATA。
我想知道是否有人了解 RAID 10 或 5 的最佳条带大小、文件系统建议?我们将使用 Oracle 11g,所以我相信我需要有一个文件系统而不是使用 RAW 块设备。服务器将运行 RHEL 5.5。
在过去的几个月里,我阅读了大量关于 SSD 的文章,我并不反对做更多的工作,但是我的 google-fu 已经开始让我无法继续前进。我在 SSD RAID 上找到的大多数文档都是针对那些为家用 PC 上的启动驱动器执行消费级 SSD RAID 0 的人,以加快 Windows 7 启动和加载游戏的速度。我的意思是,我不是在找人来做我的工作,只是提供他们的任何经验或他们找到的文档的链接。
提前致谢!
编辑一些额外的信息,而不是回复每一条评论:
驱动器空间根本不是问题,因为数据库足够小,可以毫无问题地安装在其中一个 SSD 上。
作为一个读取量很大的数据库(4-8k 中的 95%+ 随机读取),我认为我可能会从 RAID 5 中获得更好的性能,因为我可以从阵列中的 N-1 个驱动器读取,而不仅仅是从阵列中的活动磁盘读取镜像,因为我读过一些内容表明 Smart Array P400 不支持从 RAID 10 组中的镜像两侧读取。也就是说,在我不得不担心之前,我相当肯定控制器最终会成为瓶颈。
关于 …
我正在尝试设置 CentOS 5.5/64 位 VM 以使用 PHP 和 Perl 脚本访问远程 Oracle 数据库。(我没有使用Oracle的经验,之前只编程和管理过一些PostgreSQl和MySQL。)
我已经安装了以下 Oracle Instant Client rpm:
oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)
并将以下变量添加到我的 .bash_profile 中:
export TNS_ADMIN=/etc
export ORACLE_HOME=/usr/lib/oracle/11.2
export LD_LIBRARY_PATH=$ORACLE_HOME/client64/lib
PATH=$PATH:$HOME/bin:/sbin:$ORACLE_HOME/client64/bin
Run Code Online (Sandbox Code Playgroud)
/etc/tnsnames.ora我将从运行 Oracle 数据库的远程站点的同事那里收到的信息写入到该文件中:
some_string =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = my_address)(PORT = my_port))
)
(CONNECT_DATA =
(SERVICE_NAME = PDTT)
)
)
Run Code Online (Sandbox Code Playgroud)
好的部分是我现在可以通过运行从 CLI 进行连接
sqlplus 'my_user/my_password@//my_address:my_port/PDTT'
Run Code Online (Sandbox Code Playgroud)
然后可以通过发出以下命令查看一些表:
select table_name from user_tables;
Run Code Online (Sandbox Code Playgroud)
而且我已经sudo pecl install oci8成功运行,添加了包含以下内容的文件/etc/php.d/oci8.ini:
extension=oci8.so
Run Code Online (Sandbox Code Playgroud)
并可以看到以下 phpinfo() 输出
现在我的疑问和问题请: …
我想分享一些有关我的 OCI8 安装以访问 Oracle 数据库的信息。
如果出现“ PHP 启动:无法加载动态库 'oci8.so' ”之类的错误
或“检查 Oracle Instant Client 库版本兼容性...配置:错误:未找到从 libclntsh.so 到 /opt/oracle/instantclient/libclntsh.so.*.1 的链接”
或者只是想安装 Quick&Easy OCI8 以在您的 php 和 Oracle 数据库之间建立连接,您来对地方了!