Oracle XE数据库配置失败

时间:2013-08-03 03:19:22

标签: database oracle11g vps oracle-xe

我正在尝试在我的vps中创建一个oracle xe数据库。

VPS OS:Cent OS。

尝试运行时

/etc/init.d/oracle-xe configure

它会引发错误数据库容错失败并检查日志但日志只显示 ORA-01034:ORACLE不可用

以下是历史......

[root@vmcx-43 Disk1]# rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
Preparing...                ########################################### [100%]
/var/tmp/rpm-tmp.51363: line 186: bc: command not found
   1:oracle-xe              /var/tmp/rpm-tmp.51363: line 186: bc: command not fo                                        und########################################### [100%]
Executing post-install steps...

/var/tmp/rpm-tmp.97984: line 76: bc: command not found
/var/tmp/rpm-tmp.97984: line 77: bc: command not found
/var/tmp/rpm-tmp.97984: line 78: [: -gt: unary operator expected
/var/tmp/rpm-tmp.97984: line 82: bc: command not found

You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.

[root@vmcx-43 Disk1]# /etc/init.d/oracle-xe configure

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Password can't be null. Enter password:
Password can't be null. Enter password:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]: n

Starting Oracle Net Listener...Done
Configuring database...
Database Configuration failed.  Look into /u01/app/oracle/product/11.2.0/xe/config/log for details

[root@vmcx-43 Disk1]# cd /u01/app/oracle/product/11.2.0/xe/config/log
[root@vmcx-43 log]# ls
CloneRmanRestore.log  cloneDBCreation.log  postDBCreation.log  postScripts.log

[root@vmcx-43 log]# tail postScripts.log


commit
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0


[root@vmcx-43 log]# tail CloneRmanRestore.log


select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

9 个答案:

答案 0 :(得分:21)

将您的服务器名称和IP添加到/ etc / hosts文件

答案 1 :(得分:8)

yum install bc

然后再试一次。

答案 2 :(得分:7)

我有同样的问题。

我卸载了oracle-xe。见How to reconfigure Oracle 10g xe on Linux

然后跟着

yum install bc
rpm -i oracle-xe.rpm
/etc/init.d/oracle-xe configure

一切都很顺利。

答案 3 :(得分:6)

好的解决方案可能听起来很奇怪,但今天我在centos上安装Oracle Xe时遇到了完全相同的错误。我努力寻找答案但最终问题是我安装rpm的方式。

我最初使用了命令

$rpm -ivh oracle-xe.rpm

并以某种方式给出了同样的错误。

之后我尝试了

$rpm -i oracle-xe.rpm 

它对我有用。不太确定为什么“h”标志,即哈希标志会引起问题,但它对我有用。

答案 4 :(得分:2)

我也在Linux Mint 17.3上遇到过类似的问题。幸运的是,我很快找到了解决方案。问题只是你的共享内存文件不是Oracle期望它的位置,即/ dev / shm,但是你将它/ / run / shm与/ dev / shm链接到它。

因此,要解决此问题,在配置数据库之前,必须按顺序执行以下步骤

$ sudo rm -rf /dev/shm
$ sudo mkdir /dev/shm
$ sudo mount -t tmpfs shmfs -o size=2048m /dev/shm

我测试过,效果很好。

答案 5 :(得分:2)

对于debian ...... how to install oracle-XE from rpm

  

配置数据库...   数据库配置失败。查看/u01/app/oracle/product/11.2.0/xe/config/log了解详情

nano /u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora

评论# memory_target=100663296

/etc/init.d/oracle-xe configure // will work 

答案 6 :(得分:1)

谷歌搜索'oracle sucks'因为安装缺少日志记录而感到沮丧之后我设法解决了导致配置在运行Hortonworks HDP 2.6 Sandbox的docker容器上失败的问题:

根据https://blogs.oracle.com/oraclewebcentersuite/implement-oracle-database-xe-as-docker-containers,Oracle XE需要1 Gb的共享内存,否则会失败(我没有尝试512 MB)。

vi /etc/fstab

将行更改/添加到:

tmpfs    /dev/shm     tmpfs   defaults,size=1024m 0 0

然后通过以下方式重新加载配置:

mount -a

请记住,如果稍后重新启动docker容器,则可能需要再次执行'mount -a',因为它从容器上的默认设置开始~65 mb。

通常,失败的配置将成功创建一个侦听器,您必须在重新运行配置之前将其终止。

ps -aux | grep tnslsnr
kill {process identified in the step above}

答案 7 :(得分:0)

因为本页面上的其他任何答案都没有为我(Ubuntu)工作,所以对这一个人失去了一整天。
正确的说明here

其他教程缺少的主要技巧是执行

sed -i 's,/var/lock/subsys,/var/lock,' /etc/init.d/oracle-xe

之前

/etc/init.d/oracle-xe configure

答案 8 :(得分:-1)

检查以下权限:/u01/

在我的情况下,这些设置为root:root,我将其更改为oracle:dba,它对我有用。

但是在此之前,我尝试了以下操作:

  1. IP/hostname中设置/etc/hosts
  2. 安装bc并重新安装oracle

这两个步骤都不适合我,但是我卸载并重新安装了oracle-xe,更改了权限,然后运行了configure命令。