热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle11g在centos7上静默安装与安装时的错误处理

本次(2017-03-11)修改:1)修改程序安装目录名home--->data2)删减了一些不必要的包(ksh)3)增加了rlwrap一个可以在sq

本次(2017-03-11)修改:

1)修改程序安装目录名   /home ---> /data

2)删减了一些不必要的包(ksh)

3)增加了rlwrap 一个可以在sqlplus中可以使用键盘方向键来回找历史命令。

4)增加了一些关键的截图,为帮助有需要的朋友理好知道安装进度

5)蓝色字体、双#号是新增说明


1、准备系统、软件

#oracle 11g:

linux.x64_11gR2_database_2of2.zip

linux.x64_11gR2_database_1of2.zip

#SYSTEM

CentOS7 X86_64

2、安装依赖库

#下载安装pdksh

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

##: 安装这个pdksh rpm包时可能会出现与ksh冲突问题,如果不使用ksh可以把ksh卸载了,我安装了非常多次发现并不影响使用----(2017-03-11)

#安装其它依赖

yum -y install binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel libgcc libstdc++ libstdc++-devel libaio sysstat libaio-devel elfutils-libelf-devel unixODBC unixODBC-devel

##: 删除了ksh安装包

3、用户目录创建

groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
echo "oracle:password" | chpasswd
mkdir -p /home/oracle/ora11g
chown -R oracle:oinstall /home/oracle/ora11g
chmod -R 775 /home/oracle/ora11g

4、系统配置

#内核参数调整

cat >> /etc/sysctl.conf < fs.aio-max-nr = 3145728
fs.file-max = 6815744
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.shmmni = 4096
kernel.sem = 250 32000 100 142
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 
EOF

#配置全局变量

cat >> /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
EOF

##:这个环境变量发现并没有什么用(重复配置),因为后面配置文件句柄数时已经永久配置了参数。

#配置oracle用户变量

cat >> /data/oracle/.bash_profile < export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=$(hostname)
export ORACLE_BASE=/data/oracle/ora11g
export ORACLE_HOME=/data/oracle/ora11g/product/11.2.0/db_1
export ORACLE_SID=orcl11g
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH

#以下配置在参考别人写时是要配置的,但是我加上后,系统命令无法执行,就直接注释了
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib:/usr/lib64:/usr/local/lib64
#export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
#export LD_ASSUME_KERNEL=2.6.18

##:直接删除了
export NLS_LANG="american_america.UTF8"
export NLS_LANG="AMERICAN_AMERICA.US7ASCII"
EOF

#给oracle用户配置句柄数和文件打开数

cat >> /etc/security/limits.conf < oracle soft nproc 2048
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

#配置oracle用户变量
cat >> /home/oracle/.bashrc < alias sysdba='sqlplus "/ nolog"'
EOF

#配置oracle系统配置文件
cat >> /etc/oraInst.loc < inventory_loc=/data/oracle/ora11g/oraInventory
inst_group=oinstall
EOF

#授权
chmod 664 /etc/oraInst.loc

#加载内核参数
sysctl -p

#给安装文件授权,我这里放在oracle home目录下
chown -R oracle:oinstall /home/oracle/database

#添加swap文件
#虚拟机没有或者不够swap空间
dd if=/dev/zero of=/data/swap4g bs=1M count=4096
mkswap /data/swap4g
chmod 600 /data/swap4g
swapon /data/swap4g

##:修改了文件/home/swap --- > /data/swap4g

5、安装、安装排错
#解压安装文件
#配置静默安装应答文件
su oracle ; cd ~

cp /home/oracle/database/response/* .

#配置初始化安装文件

sed -i 's/oracle.install.option=.*/oracle.install.option=INSTALL_DB_SWONLY/g' db_install.rsp
sed -i "s/ORACLE_HOSTNAME=.*/ORACLE_HOSTNAME=$(hostname)/g" db_install.rsp
sed -i 's/UNIX_GROUP_NAME=.*/UNIX_GROUP_NAME=oinstall/g' db_install.rsp
sed -i 's/INVENTORY_LOCATION=.*/INVENTORY_LOCATION=\/data\/oracle\/ora11g\/oraInventory/g' db_install.rsp
sed -i 's/SELECTED_LANGUAGES=.*/SELECTED_LANGUAGES=en,zh_CN/g' db_install.rsp
sed -i 's/ORACLE_HOME=.*/ORACLE_HOME=\/data\/oracle\/ora11g\/product\/11.2.0\/db_1/g' db_install.rsp
sed -i 's/ORACLE_BASE=.*/ORACLE_BASE=\/data\/oracle\/ora11g/g' db_install.rsp
sed -i 's/oracle.install.db.InstallEdition=.*/oracle.install.db.InstallEdition=EE/g' db_install.rsp
sed -i 's/oracle.install.db.isCustomInstall=.*/oracle.install.db.isCustomInstall=true/g' db_install.rsp
sed -i 's/oracle.install.db.DBA_GROUP=.*/oracle.install.db.DBA_GROUP=dba/g' db_install.rsp
sed -i 's/oracle.install.db.OPER_GROUP=.*/oracle.install.db.OPER_GROUP=oinstall/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.type=.*/oracle.install.db.config.starterdb.type=GENERAL_PURPOSE/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.globalDBName=.*/oracle.install.db.config.starterdb.globalDBName=ora11g/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.SID=.*/oracle.install.db.config.starterdb.SID=orcl/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.characterSet=.*/oracle.install.db.config.starterdb.characterSet=AL32UTF8/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.memoryOption=.*/oracle.install.db.config.starterdb.memoryOption=true/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.password.ALL=.*/oracle.install.db.config.starterdb.password.ALL=oracle/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.cOntrol=.*/oracle.install.db.config.starterdb.cOntrol=DB_CONTROL/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=.*/oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=true/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.dbcontrol.emailAddress=.*/oracle.install.db.config.starterdb.dbcontrol.emailAddress=test@test.com/g' db_install.rsp
sed -i 's/oracle.install.db.config.starterdb.dbcontrol.SMTPServer=.*/oracle.install.db.config.starterdb.dbcontrol.SMTPServer=smtp.test.com/g' db_install.rsp
sed -i 's/DECLINE_SECURITY_UPDATES=.*/DECLINE_SECURITY_UPDATES=true/g' db_install.rsp
chmod 640 db_install.rsp
##:修改目录配置/home ---> /data
##:修正在sed 参数  

#配置监听应答文件
sed -i 's/INSTALL_TYPE=.*/INSTALL_TYPE=""custom""/g' netca.rsp

#配置数据库应答文件
sed -i 's#GDBNAME =.*#GDBNAME = "orcl11g"#g' dbca.rsp
sed -i 's#SID =.*#SID = "orcl11g"#g' dbca.rsp
sed -i 's/#SYSPASSWORD =.*/SYSPASSWORD = "oracle"/g' dbca.rsp
sed -i 's/#SYSTEMPASSWORD =.*/SYSPASSWORD = "oracle"/g' dbca.rsp

#安装
/home/oracle/database/runInstaller -silent -responseFile /home/oracle/db_install.rsp
#先使用上面命令检查系统环境合不合格,如果出现依赖库版本不对(一般是系统的版本高了,oracle要求的版本低一些)和一些内核参数检测不出来( 并不是没有配置),这些可以忽略。如果其它的报错根据报错去给系统作相应的调整吧。
#排错只能看日志,没有其它更好的办法。
#比如以下错误都可以忽略
801:INFO: Error Message:PRVF-7543 : 操作系统内核参数 "semmni" 在节点 "centos7-6" 上没有适当的值 [应为 = "128"; 找到 = "0"]。
930:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "libaio-0.3.105 (i386)"
951:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "glibc-2.3.4-2.41 (i686)"
972:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "compat-libstdc++-33-3.2.3 (i386)"
984:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "compat-libstdc++-33-3.2.3 (x86_64)"
1050:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "libaio-devel-0.3.105 (i386)"
1071:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "libgcc-3.4.6 (i386)"
1092:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "libstdc++-3.4.6 (i386)"
1131:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "unixODBC-2.2.11 (i386)"
1152:INFO: Error Message:PRVF-7532 : 节点 "centos7-6" 上缺少程序包 "unixODBC-devel-2.2.11 (i386)"
##:新增错误信息

#以下命令是忽略那些可忽略参数的命令
/home/oracle/database/runInstaller -silent -ignorePrereq -responseFile /home/oracle/db_install.rsp
#检测安完成后,会提示用root用户执行以下面的命令去完成最后的安装
sh /home/oracle/ora11g/product/11.2.0/db_1/root.sh


##:到目前为止,oracle已经全部安装完成

6、创建实例、监听文件
#创建实例
dbca -silent -responseFile /home/oracle/dbca.rsp

#创建监听
netca /silent /responseFile /home/oracle/netca.rsp


#查看oracle的状态


7、安装rlwrap
yum install readline* ncurses-devel
tar xf rlwrap-0.30.tar.gz.zip
cd rlwrap-0.30
./configure
make
make install
#直接配置在.bash_profile里
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

source .bash_profile


#里边涉及的一些敏感数据就不打码了,因为都在VM里跑的。。。
#主要参考文章出处: http://blog.csdn.net/dc666/article/details/50014693,非常感谢!


推荐阅读
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • PatchODAX8: ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • PG12新增的VACUUM命令的SKIP_LOCKED选项
    PG12版本的VACUUM命令新增了SKIP_LOCKED选项,该选项使得vacuum命令在遇到被lock住的table时可以跳过并被视为成功执行。之前的版本中,vacuum命令会一直处于等待状态。本文还提到了PostgreSQL 12.1版本的相关信息。 ... [详细]
  • PeopleSoft安装镜像版本及导入语言包的方法
    本文介绍了PeopleSoft安装镜像的两个版本,分别是VirtualBox虚拟机版本和NativeOS版本,并详细说明了导入语言包的方法。对于Windows版本,可以通过psdmt.exe登录进入,并使用datamover脚本导入语言包。对于Linux版本,同样可以使用命令行方式执行datamover脚本导入语言包。导入语言包后,可以实现多种语言的登录。参考文献提供了相关链接以供深入了解。 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • linux下编译安装lnmp
    2019独角兽企业重金招聘Python工程师标准#######################安装依赖#####################安装必要的包:y ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
  • 32位ubuntu编译android studio,32位Ubuntu编译Android 4.0.4问题
    问题一:在32位Ubuntu12.04上编译Android4.0.4源码时,出现了关于emulator的错误,关键是其Makefile里的 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • x86 linux的进程调度,x86体系结构下Linux2.6.26的进程调度和切换
    进程调度相关数据结构task_structtask_struct是进程在内核中对应的数据结构,它标识了进程的状态等各项信息。其中有一项thread_struct结构的 ... [详细]
author-avatar
mobiledu2502860643
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有