我在 oracle linux 6.7 上有 oracle 数据库 11.2.0.4 。
我已经使用 asm 选项安装了 oracle 数据库单实例。
我有 2 个用户:oracle 和 grid
我的数据库是开放的,一切都很好!
我想安装用于将数据库连接到 sql server 的 oracle 网关。这个产品给我一个错误:你不能在 /u01/app/grid/product/11.2.0/ASM 上创建目录。
要解决此错误,请执行以下命令:
chown -R 网格:oinstall /u01
chmod -R 775 /u01
执行这些命令并重新启动服务器后,我无法启动数据库。
我的磁盘组已安装,但我无法使用 oracle 用户启动数据库:
sqlplus sys/****** 作为 sysdb
sql > 启动
ORA-01078: 处理系统参数失败
ORA-01565: 识别文件 '+DATA/orcl/spfileorcl.ora' 时出错
ORA-17503: ksfdopn:2 无法打开文件 +DATA/orcl/spfileorcl.ora
ORA-12547: TNS: 失去联系
……………………………………………………………………………………………………………………
使用网格用户,下面的命令输出为:
srvctl 启动数据库 -d orcl
PRCR-1079:无法启动资源 orcl.db
ORA-12547: TNS: 失去联系
CRS-5017:资源操作“ora.orcl.db start”遇到以下错误:
ORA-12547: TNS: 失去联系
. 有关详细信息,请参阅“/u01/app/grid/product/11.2.0/ASM/log/it/agent/ohasd/oraagent_grid/oraagent_grid.log”中的“(:CLSN00107:)”。
CRS-2674:在 'it' 上启动 'ora.orcl.db' 失败
ORA-12547: TNS: 失去联系
谁能帮我 ?
您的权限不正确。
Oracle 建议角色分离,您似乎已经遵循了创建单独的 oracle 和网格用户。但我愿意打赌您的 ORACLE_HOME 位于 /u01/app/database 或类似目录下,这意味着您运行的 chmod 和 chown 命令也更改了数据库主目录的权限和所有权。这破坏了 Oracle 预期的角色分离,您的数据库将无法启动。
Oracle 网格/数据库安装的权限结构远比简单的 chmod/chown 可以复制的要复杂得多。一方面,数据库二进制文件 ($ORACLE_HOME/bin/oracle) 需要一个 setguid 位:
您还需要对二进制文件拥有正确的所有权,在您的情况下应该是 oracle:
这两个命令可能会解决问题,但我不相信一切都会正常运行。您很容易陷入这样一种情况,即修复一件事只会向您显示下一件坏事。
GRID_HOME 中的二进制文件需要特定的权限,这些权限与应用于根目录的通用 775 不同(并且更具限制性)。值得注意的是,如果权限和所有权不正确,侦听器将无法正确启动。
不幸的是,虽然可以手动修复它,但这并不简单。您可以通过以下方式更正网格安装中的权限:
但是,从头开始可能更容易,特别是如果您想避免将来出现问题并且没有可运行的安装进行比较。
最初的网关问题可能是您的环境设置不正确。网关安装应用于数据库首页;您记下的路径是网格主页,其中包含“ASM”一词,表明您尝试安装在 ASM(存储)数据库而不是实际数据库中。ASM 是网格安装的一部分,与您的工作数据库不同。