请为我提供在 Ubuntu 14.04 上安装 oracle 11gr2 的指导。
答案1
1.下载Oracle 数据库快捷版。
2. 安装Oracle数据库前的说明
复制下载的文件并将其粘贴到主目录中。
使用下载的 .zip 文件解压缩:
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
安装所需的软件包:
sudo apt-get install alien libaio1 unixodbc # still works in 22.04
将目录更改为 Disk1 目录:
cd Disk1/
将.rpm 包格式转换为.deb 包格式(Ubuntu 使用的格式):
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
创建所需的 chkconfig 脚本:
sudo nano /sbin/chkconfig
nano 文本编辑器启动后,命令显示在屏幕底部。现在将以下内容复制并粘贴到文件中并保存:
#!/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
更改chkconfig文件的权限:
sudo chmod 755 /sbin/chkconfig
设置内核参数。Oracle 11gR2 XE 需要额外的内核参数,您需要使用以下命令进行设置:
sudo nano /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
验证更改:
sudo cat /etc/sysctl.d/60-oracle.conf
您应该会看到之前输入的内容。现在加载内核参数:
sudo service procps start # If this doesn't work try sudo systemctl start procps
验证新参数是否已加载:
sudo sysctl -q fs.file-max
您应该会看到之前输入的文件最大值。
设置
/dev/shm
Oracle 的挂载点。创建以下文件:sudo nano /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 *) echo error exit 1 ;; esac
更改文件的权限:
sudo chmod 755 /etc/rc2.d/S01shm_load
运行以下命令:
sudo ln -s /usr/bin/awk /bin/awk sudo mkdir /var/lock/subsys sudo touch /var/lock/subsys/listener sudo reboot
3.安装Oracle数据库
安装 Oracle DBMS:
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
配置 Oracle:
sudo /etc/init.d/oracle-xe configure
通过编辑 .bashrc 文件来设置环境变量:
nano ~/.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
通过执行您的配置文件来加载更改:
. ~/.bashrc
启动 Oracle 11gR2 XE:
sudo service oracle-xe start
使用以下命令将用户 YOURUSERNAME 添加到组 dba:
sudo usermod -a -G dba YOURUSERNAME
4. 使用 Oracle XE 命令 shell
启动 Oracle XE 11gR2 服务器:
sudo service oracle-xe start
以系统管理员身份启动命令行 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 命令退出系统管理 shell:
exit;
使用以下命令以普通用户身份启动命令行 shell:
sqlplus
现在您可以运行 SQL 命令。
答案2
一切正常,但我收到以下错误:
sudo /etc/init.d/oracle-xe start
[....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
failed!
深入研究:
systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'
我通过简单地添加一个用户解决了这个问题:
sudo adduser oracle
希望这对某人有帮助。