### Ubuntu_x86_64 安装 Oracle10g
#### 概述
本文将详细介绍如何在 Ubuntu_x86_64 系统上安装 Oracle10g 数据库,并结合官方文档《Installation Guide for Linux x86-64 b15667》进行实践操作,针对文档中的部分不准确之处进行修正。
#### 前提条件
- 已经安装了 Ubuntu_x86_64。
- Oracle 10g 的安装包。
- 具备 root 权限或有权限执行必要的系统配置更改。
#### 安装步骤详解
### 一、准备环境
**1. 创建用户与组**
为了安全起见,Oracle 数据库推荐使用特定的用户进行安装。首先创建 `oinstall` 组,用于安装;`dba` 组,拥有数据库管理员权限;`nobody` 组,用于非特权操作。然后创建 `oracle` 用户并将其加入到这些组中:
```bash
groupadd oinstall
groupadd dba
groupadd nobody
useradd -g oinstall -G dba -s /bin/bash -d /home/oracle oracle
```
通过 `usermod` 命令进一步确保用户属于所需的组:
```bash
usermod -g oinstall -G dba oracle
```
**2. 设置密码**
设置 `oracle` 用户的密码:
```bash
passwd oracle
```
### 二、安装兼容性库与32位支持库
Oracle 10g 需要一些特定的兼容性和32位库的支持,可以通过 `apt-get` 命令安装:
```bash
sudo apt-get install gcc libaio1 libaio-dev make libc6 libc6-i386 libc6-dev-i386 libstdc++5 lib32stdc++6 lib32z1 ia32-libs
```
### 三、配置内核参数
为了确保 Oracle 能够正常运行,需要调整内核的一些参数,特别是共享内存段和信号量等。编辑 `/etc/sysctl.conf` 文件,添加以下内容:
```bash
# Oracle configuration settings
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
vm.swappiness = 10
```
应用配置:
```bash
sysctl -p
```
### 四、配置文件描述符限制
为了满足 Oracle 的需求,还需要修改 `/etc/security/limits.conf` 文件来增加最大文件描述符数量:
```bash
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
```
并且需要更新 `/etc/pam.d/login` 文件以确保这些限制被应用:
```bash
session required pam_limits.so
```
### 五、设置环境变量
为 Oracle 用户设置环境变量,编辑 `.bash_profile` 或 `.profile` 文件:
```bash
if [ $USER = "oracle" ]; then
if [ "$SHELL" = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
```
### 六、创建安装目录
为 Oracle 安装创建目录,并设置权限:
```bash
mkdir -p /home/oracle/app/ora10g
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle/app/ora10g
```
### 七、创建软链接
创建几个软链接以满足 Oracle 的依赖:
```bash
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
```
### 八、安装 Oracle
以 `oracle` 用户身份登录,解压安装包并运行安装程序:
```bash
cd /home/oracle
unzip oracle-x86_64-linux10gR2-db_1of2.zip
unzip oracle-x86_64-linux10gR2-db_2of2.zip
cd database
./runInstaller -ignoreSysPrereqs
```
在安装过程中选择 `Typical` 安装类型,并按提示完成安装。
### 九、设置环境变量与启动脚本
为了能够顺利运行 Oracle 数据库,还需要进行以下步骤:
**1. 编辑 `.bashrc` 文件**
为 Oracle 用户设置环境变量:
```bash
vi /home/oracle/.bashrc
export ORACLE_HOME=/home/oracle/app/ora10g/db
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
```
**2. 修改 `dbstart` 脚本**
确保脚本中的 `ORACLE_HOME_LISTNER` 变量指向正确的路径:
```bash
vi /home/oracle/app/ora10g/db/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
```
**3. 更新 `/etc/oratab` 文件**
确保 `/etc/oratab` 文件正确地指出了 Oracle 数据库的位置,并且启动属性设置为 `Y`:
```bash
vi /etc/oratab
/home/oracle/app/ora10g/db orcl:/home/oracle/app/ora10g/db Y
```
### 十、测试数据库
完成上述步骤后,可以使用 SQL*Plus 工具测试数据库是否能够正常启动:
```bash
su - oracle
sqlplus / as sysdba
startup
exit
lsnrctl start
```
以上步骤详细介绍了如何在 Ubuntu_x86_64 系统上安装 Oracle 10g 数据库的过程,遵循这些指导可以帮助用户顺利完成安装过程并确保数据库稳定运行。