---
title: "CentOS6 安装 Oracle11g"
date: 2019-10-30T17:56:57+08:00
lastmod: 2019-10-30T17:56:57+08:00
tags: ["oracle", "centos"]
categories: ["database"]
---

## 安装依赖
```bash
yum install binutils compat-libstdc++-33 compat-libstdc++-33.i686 \
elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 \
glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio \
libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ \
libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
```

## 创建用户和用户组
```bash
groupadd dba oinstall
useradd -g oinstall -m oracle
```

## 配置oracle用户环境变量
- 打开 oracle 用户的的默认shell配置文件 ~/.bashrc，在最后添加以下代码
    ```bash
    export ORACLE_BASE=/opt/oracle/app #oracle数据库安装目录
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_home1 #oracle数据库路径
    export ORACLE_SID=orcl #oracle启动数据库实例名
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
    #export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" #设置Oracle客户端中文utf8
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端中文gbk
    ```

- 使设置立刻生效
    ```bash
    source ～/.bashrc
    ```

## 创建oracle 11g软件安装路径
```bash
mkdir /opt/oracle/app/product/11.2.0/db_home1 -p
chown oracle.oinstall /opt/oracle -R
```

## 配置内核参数
- 编辑 /etc/sysctl.conf，在文件尾追加下面的参数设置
    ```
    fs.file-max = 6815744
    fs.aio-max-nr =1048576
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    kernel.sem = 250 32000 100 128
    ```

- 使设置生效
    ```bash
    sysctl -p
    ```

## 限制 oracle 用户资源
- 编辑 /etc/security/limits.conf，在末尾添加以下代码
    ```
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    ```

## 安装字体
- 一般需要安装中易宋体字体，百度随便下载一个zysong.ttf，切换到zysong.ttf所在路径，运行：
    ```bash
    mkdir /usr/share/fonts/zh_CN/TureType/ -p
    mv zydong.ttf /usr/share/fonts/zh_CN/TrueType/
    fc-cache -fv
    ```

## 安装oracle 11g
- 解压下载好的oracle 11g文件
    ```bash
    unzip linux.x64_11gR2_database_1of2.zip -d /home/oracle/
    unzip linux.x64_11gR2_database_2of2.zip -d /home/oracle/
    chown oracle.oinstall /home/oracle/database/ -R
    ```

- **切换到 oracle 用户下**，运行安装程序
    ```bash
    su - oracle
    cd database
    ./runInstaller
    ```

- 若提示swap空间不足，自行百度解决！

## 配置监听器数据库
- Oracle软件安装完后，执行 netca 命令配置监听器
    ```
    netca
    ```

- 在图形界面中按提示配置监听器
- 执行 dbca 命令安装数据库
    ```bash
    dbca
    ```

- 在图形界面中按提示安装数据库就可以了。

## 测试运行
- 数据库安装完后监听器与数据库实例就已启动，
- 停止和启动监听器
    ```bash
    lsnrctl stop
    lsnrctl start
    ```

- 停止和启动实例
    ```
    sqlplus /nolog
    SQL> connect / as sysdba;
    SQL> shutdown
    SQL> startup
    # 执行其它SQL语句测试数据库
    ```

