Oracle XE(11.2.0)数据库配置在Ubuntu 14和16上失败

cigdeys3  于 2023-06-22  发布在  Oracle
关注(0)|答案(2)|浏览(94)

安装后配置Oracle XE时遇到错误。我遵循本教程
https://askubuntu.com/questions/566734/how-to-install-oracle-11gr2-on-ubuntu-14-04
当我为数据库配置运行此语句时。

/etc/init.d/oracle-xe configure

输入端口和密码后出现此错误

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

Starting Oracle Net Listener...Done
Configuring database...

**Database Configuration failed.  Look into /u01/app/oracle/product/11.2.0/xe/config/log for details**

我猜可能是内存目标大小的问题。我试过了

nano /u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora
comment # memory_target=100663296

但对我没用。

错误日志。

PostDbCreation.log

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


File created.

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
ORA-00845: MEMORY_TARGET not supported on this system
select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: ORACLE not available 
Process ID: 0 
Session ID: 0 Serial number: 0 

BEGIN utl_recomp.recomp_serial(); END;

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

select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: ORACLE not available 
Process ID: 0 
Session ID: 0 Serial number: 0
zc0qhyus

zc0qhyus1#

最好是从头开始。
步骤1 -安装SSH服务器

sudo apt install openssh-server

第2步-执行以下命令(先决条件包)

sudo apt-get install alien libaio1 unixodbc vim

步骤3 -从Oracle网站http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html下载Oracle 11 g速成版安装文件。然后转到下载安装文件的文件夹(rpm)并将其转换为debian类型(deb):

sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

步骤4 -执行先决条件,创建一个特殊的chkconfig脚本:

sudo vim /sbin/chkconfig

并将以下内容添加到文件中:

#!/bin/bash
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

保存上述文件并提供适当的权限

sudo chmod 755 /sbin/chkconfig

执行以下命令:

free -m
sudo ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys
touch /var/lock/subsys/listener

执行以下命令,以防止oracle安装错误。这是奇怪的,但在我的情况下帮助。忽略将出现的错误。

sudo -s
umount /dev/shm
sudo rm -rf /dev/shm 
sudo mkdir /dev/shm
mount --move /run/shm /dev/shm
sudo mount -t tmpfs shmfs -o size=2048m /dev/shm

步骤5 -创建下面的文件,

sudo vim /etc/rc2.d/S01shm_load

将以下内容复制到打开的文件中:

#!/bin/sh case "$1" 
in start) mkdir /var/lock/subsys 2>/dev/null 
touch /var/lock/subsys/listener 
rm /dev/shm 2>/dev/null 
mkdir /dev/shm 2>/dev/null 
mount -t tmpfs shmfs -o size=2048m /dev/shm ;;
*) echo error 
exit 1 ;; 
esac

执行以下命令

sudo chmod 755 /etc/rc2.d/S01shm_load

步骤6 -重新启动机器。
步骤7 -安装Oracle 11 gR 2 XE。转到创建ubuntu包文件的目录并输入以下命令(不以root用户身份),

sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb

sudo /etc/init.d/oracle-xe configure

输入以下配置信息:
Oracle Application Express的有效HTTP端口(默认值为8080,请使用7070)
Oracle数据库侦听器的有效端口(默认值为1521)
SYS和SYSTEM管理用户帐户的密码
确认SYS和SYSTEM管理用户帐户的密码
是否希望数据库在计算机启动时自动启动,Y
第8步-在开始使用Oracle 11 gR 2 XE之前,您必须设置更多内容。切换到用户的主目录(键入cd)使用以下命令打开bashrc

vim .bashrc

在.bashrc中添加以下行:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe 
export ORACLE_SID=XE 
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh` 
export ORACLE_BASE=/u01/app/oracle 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH 
export PATH=$ORACLE_HOME/bin:$PATH

执行.profile以加载更改:

. ./.profile

打开root bash

sudo vim /root/.bashrc

并在文件末尾复制相同的内容
步骤9 -重新启动设备。Oracle现在应该已经启动
第10步-执行以下命令进入SQL提示符

sqlplus sys as sysdba
q3qa4bjr

q3qa4bjr2#

调查日志文件中提示的日志文件后,能够注意到/u01/app/oracle/product/11.2.0/xe/config/scripts/init*中的DB_RECOVERY_FILE_DEST目的地目录不存在。所以我手动创建了目录。
在我的情况下

sudo mkdir /u01/app/oracle/fast_recovery_area

这已经应用在init.orainitXETemp.ora中。重新启动笔记本电脑并再次启动配置。
/etc/init.d/oracle-xe configure
上面为我成功完成了配置。

相关问题