ORACLE Enterprise Linux 6.3 环 境 下 ORACLE11g 的 安 装 文 档 1 安 装 前 的 参 数 配 置 Auther:chenzhuzuo@163.com 以 下 操 作 需 要 一 root 用 户 的 身 份 进 行 操 作 1.1 在 文 件 /etc/sysctl.conf 中 添 加 如 下 内 容 fs.le-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 ernel.shmall = 4294967296 执 行 sysctl -p 查 看 以 上 修 改 是 否 生 效, 执 行 结 果 如 下 图 所 示 ( 此 步 可 略 )
1.2 在 文 件 /etc/security/limits.conf 中 添 加 如 下 内 容 : racle soft nproc 2047 oracle hard nproc 16384 oracle soft nole 1024 oracle hard nole 65536 1.3 在 文 件 /etc/pam.d/login 中 添 加 如 下 内 容 session required /lib/security/pam_limits.so session required pam_limits.so 1.4 在 文 件 /etc/prole 中 添 加 如 下 内 容 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 1.5 创 建 或 修 改 安 装 数 据 库 的 用 户 和 组 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle ( 如 果 系 统 中 没 用 创 建 oracle 用 户 执 行 本 句 及 接 下 来 的 一 条 语 句 ) password oracle usermod -g oinstall -G dba oracle ( 如 果 系 统 中 已 经 存 在 oracle 用 户 ) 1.6 创 建 oracle 安 装 目 录 与 修 改 安 装 权 限 mkdir /home/oracle/app mkdir /home/oracle/app/oracle mkdir /home/oracle/app/oradata mkdir /home/oracle/app/oracle/product chown -R oracle:oinstall /home/oracle/app 1.7 修 改 配 置 文 件 /etc/prole 在 文 件 中 添 加 如 下 内 容 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 切 换 到 oracle 用 户 :su oracle 1.8 修 改 ~/.bash_prole 在 文 件 中 添 加 以 下 内 容 : export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export PATH 1.9 检 查 必 须 的 软 件 包 是 否 已 安 装 安 装 oracle 所 需 的 软 件 包 有 : binutils-2.15.92.0.2-18 compat-libstdc++-33.2.3-47.3 elfutils-libelf-0.97-5 elfutils-libelf-devel-0.97-5 gcc-3.4.5-2 gcc-c++-3.4.5-2 glibc-2.3.4-2.19 glibc-common-2.3.4-2.19 glibc-devel-2.3.4-2.19 glibc-headers-2.3.4-2.19 libaio-devel-0.3.105-2 libaio-0.3.105-2 libgcc-3.4.5 libstdc++-3.4.5-2 libstdc++-devel-3.4.5-2 make-3.80-5 numactl-0.6.4.i386 sysstat-5.0.5 unixodbc-2.2.11 unixodbc-devel-2.2.11
pdksh-5.2.14 首 先 检 查 系 统 中 是 否 已 经 安 装 了 以 上 列 出 的 软 件 包, 检 查 的 方 式 为 : rpm -qa grep pakagename 案 例 : 结 果 说 明 我 的 系 统 中 已 经 安 装 了 binutils 这 个 包, 虽 然 版 本 和 要 求 的 版 本 不 相 同, 只 要 是 比 要 求 的 版 本 高 就 可 以 了 不 一 定 是 同 一 版 本, 如 果 系 统 中 没 有 安 装, 可 以 到 系 统 安 装 盘 中 的 pakage 文 件 中 找 到 相 应 的 包 或 到 网 上 下 载 相 应 的 包 进 行 安 装, 下 载 时 可 以 到 以 下 2 个 网 站 查 询 相 应 的 包 并 下 载 http://fr2.rpmnd.net/ http://rpm.pbone.net/ 下 载 时 根 据 自 己 的 系 统 版 本 下 载 相 应 的 包, 因 为 我 的 系 统 为 64 位 系 统, 所 以 选 择 x86_64 的 包, 如 : 安 装 包 的 命 令 为 : rpm -ivh binutils-2.20.51.0.2-5.34.e16.x86_64.rpm 其 他 包 的 检 查 和 安 装 也 类 似 1.10 oracle 补 丁 安 装 如 果 你 的 系 统 是 64 位 系 统, 则 需 要 打 p8670579_112010_linux.zip 补 丁, 在 网 上 下 载 到 系 统 中 ( 这 里 提 供 一 个 下 载 地 址 :http://vdisk.weibo.com/s/h1bqf ), 下 载 后 执 行 unzip p8670579_112010_linux.zip 即 可 完 成 补 丁 的 安 装 至 此 oracle 安 装 的 前 期 准 备 已 经 完 成 2 安 装 oracle11g 的 过 程 2.1 将 拷 贝 到 linux 上 的 oracle 安 装 包 解 压 : unzip linux.x64_11gr2_database_1of2.zip unzip linux.x64_11gr2_database_2of2.zip 解 压 完 成 后 会 得 到 一 个 目 录 database 如 下 所 示 : 如 果 前 面 登 录 时 是 以 root 用 户 登 录 的, 需 要 先 注 销 后 (logout) 再 以 oracle 用 户 登 录 图 形 界 面 才 能 执 行 安 装 操 作, 否 则 会 出 现 以 下 错 误 :
以 oracle 身 份 登 录 系 统 后, 进 入 database 下 执 行 :./runinstaller 2.2 弹 出 oracle 的 安 装 引 导 界 面, 安 装 过 程 和 windows 上 的 安 装 过 程 大 同 小 异 需 要 注 意 的 是 安 装 到 如 下 图 所 示 的 步 骤 时 可 能 会 出 现 图 中 failed 未 检 查 通 过 的 包 或 其 他 参 数 不 符 合 要 求 的 提 示. 解 决 的 办 法 : 1)Swap size 这 是 提 示 系 统 的 缓 存 大 小 不 符 合 要 求, 需 要 根 据 图 片 显 示 的 界 面 的 下 方 的 提 示 修 改 缓 存 的 大 小, 修 改 的 方 法 : (1) 查 看 内 存 和 swap 大 小 [root@gamedb ~]# free -m total used free shared buffers cached Mem: 1001 338 662 0 8 307 -/+ buffers/cache: 22 978 Swap: 509 0 509( 当 前 缓 存 的 大 小 单 位 为 M)
(2) 决 定 修 改 swap 大 小, 首 先 在 空 间 合 适 处 创 建 用 于 分 区 的 swap 文 件 : [root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 count=2000000( 这 里 需 要 根 据 提 示 修 改 count 的 大 小, 这 里 是 增 加 2G 的 缓 存 ) ( 注 意 : if 表 示 inle, of 表 示 outle, bs=1024 表 示 写 入 的 每 个 块 的 大 小 为 1024B=1KB(1024B 字 节 =1024*8bit 位 ) (3) 查 看 创 建 的 文 件 大 小 是 否 符 合 要 求 : [root@gamedb tmp]# du -sh big_swap 2.0G big_swap [root@gamedb tmp]# ls -al big_swap -rw-r--r-- 1 root root 2048000000 6 月 18 11:55 big_swap (4) 将 目 的 文 件 设 置 为 swap 分 区 文 件 : [root@gamedb tmp]# mkswap big_swap Setting up swapspace version 1, size = 2047995 kb ============================================================================== (5) 激 活 swap, 立 即 启 用 交 换 分 区 文 件 : [root@gamedb tmp]# swapon big_swap (6) 再 次 查 看 内 存 和 虚 拟 内 存, 发 现 已 经 被 正 常 修 改 : [root@gamedb tmp]# free -m total used free shared buffers cached Mem: 1001 984 16 0 2 931 -/+ buffers/cache: 50 950 Swap: 2462 0 2462( 缓 存 大 小 已 经 发 生 变 化, 说 明 修 改 成 功 ) (7) 若 要 想 使 开 机 时 自 启 用, 则 需 修 改 文 件 /etc/fstab 中 的 swap 行 : [root@gamedb tmp]# vi /etc/fstab # LABEL=SWAP-hda2 swap swap defaults 0 0 /tmp/big_swap swap swap defaults 0 0 修 改 完 成 后 点 击 check Again, 如 果 没 有 swap size 这 个 提 示 说 明 修 改 已 经 成 功, 否 则 再 根 据 提 示 按 照 以 上 的 方 法 修 改 swap 的 大 小 2) 第 二 个 红 框 中 的 错 误 提 示 是 说 系 统 的 相 关 参 数 的 大 小 不 符 合 要 求, 解 决 办 法 是 将 配 置 文 件 /etc/sysctl.conf 中 的 相 应 参 数 的 大 小 修 改 成 提 示 中 的 期 望 大 小 即 可 ( 如 果 文 件 中 没 有 相 应 的 参 数 添 加 进 去 即 可 ), 修 改 后 点 击 check Again 以 确 定 修 改 是 否 成 功 3) 第 三 个 红 框 中 的 提 示 指 出 系 统 中 的 软 件 包 没 有 安 装, 解 决 办 法 是 根 据 提 示 在 系 统 查 询 相 应 的 包 是 否 已 经 安 装, 检 查 的 方 法 和 前 面 提 到 的 包 查 询 的 方 法 一 样, 执 行 :rpm -qa grep packagename
如 :rpm -qa grep gcc 如 果 查 询 的 结 果 是 系 统 已 经 安 装 了 gcc 这 个 包, 就 可 以 忽 视 错 误 提 示, 如 果 没 有 安 装 则 需 要 下 载 安 装 相 应 的 包 当 把 提 示 中 的 包 都 确 定 在 系 统 中 安 装 后, 如 果 还 是 有 failed 提 示, 可 以 勾 选 右 上 角 的 Ignore All 选 项 执 行 下 一 步 操 作 接 下 来 的 步 骤 安 装 提 示 执 行 即 可 安 装 完 成 后 执 行 一 下 命 令 即 可 启 动 数 据 库 和 监 听 服 务 sqlplus / as sysdba startup quit lsnrctl start 登 入 数 据 库 启 动 数 据 库 推 出 数 据 库 启 动 监 听 安 装 oracle 如 果 出 现 中 文 乱 码, 则 需 要 修 改 数 据 库 的 字 符 集, 修 改 的 步 骤 : 以 sysdba 的 身 份 登 录 sqlplus 执 行 以 下 命 令 1.shutdown immediate ; 2.startup mount ; 3.alter system enable restricted session ; 4.alter system set JOB_QUEUE_PROCESSES=0; 5.alter system set AQ_TM_PROCESSES=0; 6.alter database open ; 7. alter database character set INTERNAL_USE ZHS16GBK; 8.shutdown immediate ; 9.startup ;