我在安装后配置 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
最好从头开始。
步骤 1 - 安装 SSH 服务器
sudo apt install openssh-server
步骤 2 - 执行以下命令(先决条件包(
sudo apt-get install alien libaio1 unixodbc vim
步骤 3 - 从 Oracle 网站下载 Oracle 11g 速成版设置文件 http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html。然后转到您下载安装文件 (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
执行以下命令,以防止预言机安装错误。这很奇怪,但对我的情况有所帮助。忽略将出现的错误。
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 11gR2 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 和系统管理用户帐户的密码
是否希望数据库在计算机启动时自动启动,Y
步骤8 - 在开始使用Oracle 11gR2 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
使用
sudo vim /root/.bashrc
并在该文件的末尾复制相同的内容
步骤 9 - 重新启动设备。甲骨文现在应该启动
步骤10 - 执行以下命令以输入SQL提示符
sqlplus sys as sysdba
一旦调查了日志文件中提示的日志文件,就能够注意到/u01/app/oracle/product/11.2.0/xe/config/scripts/init*
中的DB_RECOVERY_FILE_DEST
目录不存在。所以我手动创建了目录。
就我而言
sudo mkdir /u01/app/oracle/fast_recovery_area
这已在init.ora
和initXETemp.ora
中应用。 重新启动笔记本电脑并再次启动配置。
/etc/init.d/oracle-xe configure
以上为我成功完成了配置。