资讯专栏INFORMATION COLUMN

CentOS 7 中安装 Oracle11g R2

Cristalven / 1422人阅读

摘要:请注意文件存在于目录下,而不是在下。改正错误然后以独立模式重新运行。错误确认当前安装的用户在所设置的用户组中错误安装命令中加入选项运行失败问题总结错误可能是监听没有启动,也可能是实例没有启动

准备

修改用户的 SHELL 限制:

vim /etc/security/limits.conf

添加如下内容:

oracle   soft    nproc    2047
oracle   hard    nproc    16384
oracle   soft    nofile     1024

oracle   hard    nofile    65536

确定 hostname 已经配置到 /etc/hosts 文件中了,即 hostname 与本地的 ip 对应上

修改 /etc/pam.d/login 文件

vim /etc/pam.d/login

添加如下内容:

session   required    /lib/security/pam_limits.so

session   required    pam_limits.so

修改 Linux 内核配置

vim /etc/sysctl.conf

添加如下内容:

fs.file-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
sysctl -p /etc/sysctl.conf
# 使修改立即生效,我当时键入如下命令时报没有找到命令,所以重启了centos

修改 /etc/profile 文件

vim /etc/profile

添加如下内容:

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

创建用户和组

# 创建用户组
groupadd oinstall
groupadd dba

# 创建用户并分配用户组
# 我安装时存在 oracle 用户不在 oinstall 的问题,最好在 /etc/group 中再设置一遍
useradd -g oinstall -g dba -m oracle
passwd  oracle

创建 Oracle 目录并设置所有权为 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

配置 oracle 用户的环境变量,必须切换到新创建的 oracle 用户下

su oracle
vim .bash_profile

添加如下内容:

umask 022
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

安装必要的包

yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install libXp* -y
yum install -y glibc-kernheaders

修改 oracle 的配置文件(只是修改应答配置文件)

在解压的database目录中有一个response目录,其中有三个文件:

db_install.rsp 安装应答配置文件,修改此文件!

dbca.rsp 创建数据库应答

netca.rsp 建立监听、本地服务名等网络设置应答

# 此文件可以参考 https://gist.github.com/piumnl/13f6ad69e31050262e86b862f69da0e4
vim database/response/db_install.rsp

实际上需要修改的有如下内容:

UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/home/oracle/app
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.SID=orcl
DECLINE_SECURITY_UPDATES=true

安装

用 oracle 用户来运行此命令。 请注意 runInstaller 文件存在于 database 目录下,而不是在 database/install 下。

./runInstaller -responseFile /home/oracle/database/response/db_install.rsp -silent -ignorePrereq

英文环境下的日志:

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 122202 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 4095 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-02-06_10-38-53AM. Please wait ...[oracle@piumnl database]$ You can find the log of this install session at:
/opt/oracle/oraInventory/logs/installActions2017-02-06_10-38-53AM.log
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run

/opt/oracle/oraInventory/orainstRoot.sh
/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:
    1. Open a terminal window
    2. Log in as "root"
    3. Run the scripts
    4. Return to
this window and hit "Enter" key to continue

安装完之后的操作

运行提示中的两个 sh 文件

开启监听

lsnrctl status # 查看状态
lsnrctl start # 启动监听

额外开启 em,即 1158 端口的em路径

emca -repos create
# 提示 `严重: Dbcontrol 资料档案库已存在。  改正错误, 然后以独立模式重新运行 EM Configuration Assistant。`

# 删除 DBcontrol,此时刚安装完数据库,DBControl应该是可以删除的
emca -repos drop

# 重新配置并创建
emca -config dbcontrol db -repos create

测试
通过 su 切换不会改变环境变量,即从 root 切换到 oracle 中不会改变环境变量为 oracle 的,实际还是 root 的。
su - [username] 似乎可以,但未曾尝试过。通过 root 切换到 oracle 并在 sqlplus 命令所在目录下执行 sqlplus
所报的错误:
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

使用 oracle 用户登录,运行 sqlplus

sqlplus
$ Enter user-name: SYS as SYSDBA
$ Enter password: (直接回车即可)

# 修改SYS用户的密码,如此才可以通过 SQL Developer 访问,空密码会报 ora 01031 的错误
alter user SYS identified by 123456;  # 注意在生产环境中不能使用这种简单的密码。
# 可能会出现如下问题,这是因为没有开启监听或没有开启 oracle 实例:
# *
# ERROR at line 1:
# ORA-01034: ORACLE not available
# Process ID: 0
# Session ID: 0 Serial number: 0
# 开启监听的方式
# 退出 sqlplus,并执行 lsnrctl start 命令
# 开启 oracle 实例
# 进入 sqlplus,执行 startup ,如果被告知已启动,可以输入 shutdown immediate; ,等结束后再执行 startup

查看监听及数据库状态,启用或停止

lsnrctl [status | start | stop ]    # 查看监听及数据库状态,启用或停止
安装失败的问题总结

错误:Email Address Not Specified

Oracle 11g R2 中必须指定 metalink 账号!

也可以在 response file 中设置 DECLINE_SECURITY_UPDATES=true ,而不是默认的false。

错误:[INS-32038] The operating system group specified for central inventory (oraInventory) ownership is invalid.

确认当前安装的用户在 UNIX_GROUP_NAME 所设置的用户组中

vim /etc/group

错误:[INS-13013] Target environment do not meet some mandatory requirements.

安装命令中加入选项 -ignorePrereq

运行失败问题总结

错误: ora-12505:TNS:listener does not currently know of SID given in connect descriptor

可能是监听没有启动,也可能是 Oracle 实例没有启动

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35376.html

相关文章

  • Oracle Linux And Oracle Database 11g R2 Intsallati

    摘要:最近工作中用到了作为测试的数据库,在装和折腾了很久,这篇文章就这两点对大家分享一些我安装过程中遇到的问题和注意点,暂时还未配置,稍后找时间补上现在网上找一篇好的文章好难,往往要在一个话题或技术上找多方资源东拼西凑,互相借鉴才能达成目的,原因 最近工作中用到了Oracle作为Intel测试的数据库,在装Oracle Linux和Oracle Database 11g R2折腾了很久,这...

    Warren 评论0 收藏0
  • Oracle Linux And Oracle Database 11g R2 Intsallati

    摘要:最近工作中用到了作为测试的数据库,在装和折腾了很久,这篇文章就这两点对大家分享一些我安装过程中遇到的问题和注意点,暂时还未配置,稍后找时间补上现在网上找一篇好的文章好难,往往要在一个话题或技术上找多方资源东拼西凑,互相借鉴才能达成目的,原因 最近工作中用到了Oracle作为Intel测试的数据库,在装Oracle Linux和Oracle Database 11g R2折腾了很久,这...

    scwang90 评论0 收藏0
  • Oracle Linux And Oracle Database 11g R2 Intsallati

    摘要:最近工作中用到了作为测试的数据库,在装和折腾了很久,这篇文章就这两点对大家分享一些我安装过程中遇到的问题和注意点,暂时还未配置,稍后找时间补上现在网上找一篇好的文章好难,往往要在一个话题或技术上找多方资源东拼西凑,互相借鉴才能达成目的,原因 最近工作中用到了Oracle作为Intel测试的数据库,在装Oracle Linux和Oracle Database 11g R2折腾了很久,这...

    Flands 评论0 收藏0
  • Oracle Linux And Oracle Database 11g R2 Intsallati

    摘要:最近工作中用到了作为测试的数据库,在装和折腾了很久,这篇文章就这两点对大家分享一些我安装过程中遇到的问题和注意点,暂时还未配置,稍后找时间补上现在网上找一篇好的文章好难,往往要在一个话题或技术上找多方资源东拼西凑,互相借鉴才能达成目的,原因 最近工作中用到了Oracle作为Intel测试的数据库,在装Oracle Linux和Oracle Database 11g R2折腾了很久,这...

    piglei 评论0 收藏0
  • ubuntu中安oracle 11g

    摘要:准备工作基本和安装相同。错误报错这是因为带的和所要不兼容所致从这里下载,直接安压缩包打开提取,并提取到,然后重试就可以了参考资料 准备工作基本和Ubuntu X86_64安装oracle 11gR2 XE相同。 首先,将系统更新到最新 sudo apt-get update sudo apt-get dist-upgrade 安装依赖包 sudo apt-get install ali...

    vincent_xyb 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<