oracle 11g企业版安装:无法执行二进制文件:Exec格式错误

oracle 11g企业版安装:无法执行二进制文件:Exec格式错误

我从oracle 下载链接。我查看了文档并按照所述执行了每个步骤,但现在当我尝试运行时:-

 . runInstaller 

在我的终端上,它抛出了上述错误,因此无法安装 oracle。我相信我已经根据我的 ubuntu 下载了正确的 oracle。

uname -a

Linux reddevil 4.8.0-22-generic #24-Ubuntu SMP Sat Oct 8 09:15:00 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

file runInstaller

runInstaller: POSIX shell script, ASCII text executable, with very long lines

我有 ubuntu 16.10

此外,网站/YouTube 上的大多数 Oracle 安装指南都位于rpm 包但是在 oracle 下载网站上有以 zip 格式打包的文件,为什么?

答案1

跟随本指南用于在 Ubuntu 中安装 Oracle 11g。运行完美。

1)下载Oracle数据库快速版

下载适用于 Linux x64 的 Oracle Database Express Edition 11g 第 2 版

2). 按照安装前的说明进行操作:

a)打开下载文件的终端并使用以下命令解压:

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 

b)使用以下命令安装所需的软件包:

sudo apt-get install alien libaio1 unixodbc

c) 使用以下命令将 RPM 包格式转换为 DEB 包格式(Ubuntu 使用的):

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

d) 使用以下命令创建所需的 chkconfig 脚本:

sudo pico /sbin/chkconfig

pico 文本编辑器启动后,命令显示在屏幕底部。现在将以下内容复制并粘贴到文件中并保存:

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
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

e) 使用以下命令更改 chkconfig 文件的权限:

sudo mod 755 /sbin/chkconfig  

f) 设置内核参数。Oracle 11gR2 XE 需要额外的内核参数,您需要使用以下命令进行设置:

sudo pico /etc/sysctl.d/60-oracle.conf

将以下内容复制到文件中并保存:

# Oracle 11g XE kernel parameters  
fs.file-max=6815744  
net.ipv4.ip_local_port_range=9000 65000  
kernel.sem=250 32000 100 128 
kernel.shmmax=536870912 

g) 使用以下命令验证更改:

sudo cat /etc/sysctl.d/60-oracle.conf 

h) 您应该会看到之前输入的内容。现在加载内核参数:

sudo service procps start

i) 使用以下命令验证新参数是否已加载:

sudo sysctl -q fs.file-max

j) 您应该会看到先前输入的 file-max 值。设置/dev/shmOracle 的挂载点。使用以下命令创建以下文件:

sudo pico /etc/rc2.d/S01shm_load

k) 将以下内容复制到文件中并保存。

#!/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 

l)使用以下命令更改文件的权限:

sudo chmod 755 /etc/rc2.d/S01shm_load

m)执行以下命令:

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

n)使用以下命令安装 Oracle DBMS:

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

o) 使用以下命令配置 Oracle:

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

输入以下信息: Oracle Application Express 的有效 HTTP 端口(默认值为 8080) Oracle 数据库侦听器的有效端口(默认值为 1521) SYS 和 SYSTEM 管理用户帐户的密码 确认 SYS 和 SYSTEM 管理用户帐户的密码 是否希望数据库在计算机启动时(下次重新启动)自动启动。

p) 通过编辑 .bashrc 文件设置环境变量:

pico ~/.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

q)通过执行您的配置文件来加载更改:

. ~/.profile

r)启动Oracle 11gR2 XE:

sudo service oracle-xe start

s)使用命令将用户 YOURUSERNAME 添加到组 dba

sudo usermod -a -G dba YOURUSERNAME

t) 使用以下命令启动 Oracle XE 11gR2 服务器:

sudo service oracle-xe start

u)以系统管理员身份使用以下命令启动命令行 shell:

sqlplus sys as sysdba

输入之前配置 Oracle 时提供的密码。现在您将进入一个仅能理解 SQL 命令的 SQL 环境。

使用 SQL 命令在 Oracle 中创建常规用户帐户:

create user USERNAME identified by PASSWORD;

将 USERNAME 和 PASSWORD 替换为您选择的用户名和密码。请记住此用户名和密码。如果您在执行上述操作时出错并出现有关 resetlogs 的消息,请执行以下 SQL 命令并重试:

alter database open resetlogs

使用 SQL 命令向用户帐户授予权限:

grant connect, resource to USERNAME;

将 USERNAME 和 PASSWORD 替换为您选择的用户名和密码。请记住此用户名和密码。使用 SQL 命令退出 sysadmin shell:exit; 使用以下命令以普通用户身份启动命令行 shell:

sqlplus

系统将提示您输入用户名和密码。通过身份验证后,您将能够输入标准 SQL 命令

相关内容