CentOS静默安装Oracle 11gR2(x64)
环境
OS: CentOS 7.4; hosts: L134; IP: 192.168.1.134
DB: linux.x64_11gR2_database
安装依赖包
yum install -y binutils compat-libstdc++-33 elfutils-libelf \
elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel \
libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl \
sysstat libXp unixODBC unixODBC-devel
创建安装文件的目录(目录不限,只要空间足够即可),并上传安装文件
mkdir -p /opt/oracle_install
cd /opt/oracle_install/
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
安装pdksh,注意会不会与ksh冲突
wget http://vault.centos.org/5.11/os/i386/CentOS/pdksh-5.2.14-37.el5_8.1.i386.rpm
yum localinstall pdksh-5.2.14-37.el5_8.1.i386.rpm
创建Linux账号
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle
123456
配置内核参数(修改或添加以下内容)
vim /etc/sysctl.conf
kernel.shmall = 2097152
#kernel.shmmax最低:536870912,最大值:比物理内存小1个字节的值,建议超过物理内存的一半
kernel.shmmax = 2147483648
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
配置生效
sysctl -p
修改用户限制
vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
主机名与IP对应
vim /etc/hosts
192.168.1.134 L134
创建oracle安装目录
mkdir -p /data/app/oraInventory
chown -R oracle:oinstall /data/app
chmod 755 /data/app
上传安装文件,并解压
cd /opt/oracle_install
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
切换用户并修改配置文件(以下用oracle账号配置和执行)
su - oracle
vim /home/oracle/.bash_profile
ORACLE_BASE=/data/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
export NLS_LANG=AMERICAN
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
source /home/oracle/.bash_profile
配置静默安装文件
mkdir -p /home/oracle/rsp
cp /opt/oracle_install/database/response/* /home/oracle/rsp
cd /home/oracle/rsp
chmod 700 *
vim db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=L134
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/data/app/oracle
oracle.install.db.InstallEdition=EE
#自定义安装,否,使用默认组件
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
#数据库类型;注释写着GENERAL_PURPOSE/TRANSACTION_PROCESSING和DATA_WAREHOUSE是候选项,
#但实际前者只能二选一,需要注意。
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.memoryOption=false
oracle.install.db.config.starterdb.memoryLimit=2048
#所有数据库用户使用同一个密码
oracle.install.db.config.starterdb.password.ALL=root123
DECLINE_SECURITY_UPDATES=true
开始安装
/opt/oracle_install/database/runInstaller -silent -responseFile /home/oracle/rsp/db_install.rsp
安装成功有如下提示
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/data/app/oraInventory/orainstRoot.sh
/data/app/oracle/product/11.2.0/db_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
Successfully Setup Software.
安装日志
/data/app/oracle/oraInventory/logs/installActionsXXXX.log
以root身份证执行以下两个脚本(这一步需要切换为root账号执行)
su -
/data/app/oracle/oraInventory/orainstRoot.sh
/data/app/oracle/product/11.2.0/db_1/root.sh
配置监听(切换为oracle账号)
su - oracle
netca /silent /responseFile /home/oracle/rsp/netca.rsp
监听安装成功有类似如下提示
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /home/oracle/rsp/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/data/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
dbca建库
修改应答文件
vim /home/oracle/rsp/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = "AL32UTF8"
开始创建数据库
注意在xshell5下,执行了dbca命令后,会自动清屏,没有显示要求输入sys和system用户的密码,实际是要输入两次相同的密码的。
dbca -silent -responseFile /home/oracle/rsp/dbca.rsp
Enter SYS user password:
Enter SYSTEM user password:
创建完成的提示
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
57% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
74% complete
85% complete
96% complete
100% complete
Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
此到,oracle已经安装完成,可以使用sqlplus登录。
扩展
增强sqlplus的编辑功能
su -
cd /opt/oracle_install
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum install readline rlwrap -y
su - oracle
echo 'alias sqlplus='"'"'rlwrap sqlplus'"'" >> /home/oracle/.bash_profile
echo 'alias rman='"'"'rlwrap rman'"'" >> /home/oracle/.bash_profile
美化sqlplus的显示
echo 'set linesize 300' >> $ORACLE_HOME/sqlplus/admin/glogin.sql
echo 'set pagesize 50000' >> $ORACLE_HOME/sqlplus/admin/glogin.sql
echo 'set timing on' >> $ORACLE_HOME/sqlplus/admin/glogin.sql
安装故障
仔细查看错误提示和安装日志,一般都能定位到问题上,比如配置文件错误,依赖包问题或其他先决条件不满足等,都可以在安装日志中查到。
未安装完成中止的日志在/tmp/OraInstallXXXXX/下,其中XXXX为安装日期,
故障1
[oracle@L134 ~]$ sqlplus
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
原因:环境变量未配置或配置有问题
[oracle@L134 ~]$ echo $ORACLE_HOME
/data/oracle/11g2a
发现ORACLE_HOME的路径写错,改正后再source一次即可。
故障2
重新安装oracle时,没有orainstRoot.sh文件
只提示运行:/data/oracle/product/10.2.0/crs_1/root.sh这个文件。
原因:没删除/etc/oraInst.loc文件
故障3
静默安装Oracle时提示:"[SEVERE] - Email Address Not Specified"
系统环境:CentOS 6.3 x86_64 + Oracle 11gR2
解决办法:
修改responseFile文件,将DECLINE_SECURITY_UPDATES=的值设为true,如果为空系统会假设该值为false,DECLINE_SECURITY_UPDATES=的值默认为空。
故障4
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 37373 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4999 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-03-07_07-08-17PM. Please wait ...
Invalid source path '../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles' specified for unzip. Unzip command failed.
Please check oraparam.ini and specify a valid source path.
No such file or directory
检查:
- 安装文件没问题
- 安装文件存放的路径,不要有中文路径
- 安装路径,不要有中文。
故障5
[FATAL] [INS-13013] Target environment do not meet some mandatory requirements.
CAUSE: Some of the mandatory prerequisites are not met.
解决办法:
详细查看安装日志。搜索SEVERE,FAILED,Severity,CRITICAL,Error这几个关键字,看为什么没有通过校验。
如果实丰没有办法,如在CentOS 6.x 64位下,已经安装了glibc-2.12-1.209.el6_9.2.x86_64,但在检验时,出现如下错误。因为oracel要求:glibc-2.3.4-2.41(i686) 32位的,但实际已经安装64位更新的版本了,此检验可以忽略。找到32位的旧版本的glibc,但死活安装不上。最后只能加上-ignorePrereq参数,但最好还是全部通过检验比较好。
955-INFO: *********************************************
956-INFO: Package: glibc-2.3.4-2.41: This is a prerequisite condition to test whether the package "glibc-2.3.4-2.41" is available on the system.
957-INFO: Severity:CRITICAL
958:INFO: OverallStatus:VERIFICATION_FAILED
959-INFO: -----------------------------------------------
960-INFO: Verification Result for Node:oracletest1
961-INFO: Expected Value:glibc-2.3.4-2.41 (i686)
962-INFO: Actual Value:missing
963-INFO: Error Message:PRVF-7532 : Package "glibc-2.3.4-2.41 (i686)" is missing on node "134test"
964-INFO: Cause: A required package is either not installed or, if the package is a kernel module, is not loaded on the specified node.
965-INFO: Action: Ensure that the required package is installed and available.
966-INFO: -----------------------------------------------
故障
查看安装日志,除了一些WARNING之外,还发现有几个VERIFICATION_FAILED,不过都是IGNORABLE。仔细去查下这些依赖包其实都是已经安装好了的。以下是其中一部分。
797 INFO: OS Kernel Parameter: semmni: This is a prerequisite condition to test whether the OS kernel parameter "semmni" is properly set.
798 INFO: Severity:IGNORABLE
799 INFO: OverallStatus:VERIFICATION_FAILED
800 INFO: -----------------------------------------------
801 INFO: Verification Result for Node:134test
802 INFO: Expected Value:128
803 INFO: Actual Value:0
804 INFO: Error Message:PRVF-7543 : OS Kernel parameter "semmni" does not have proper value on node "134test" [Expected = "128" ; Found = "0"].
805 INFO: Cause: Kernel parameter value does not meet the requirement.
806 INFO: Action: Modify the kernel parameter value to meet the requirement.
807 INFO: -----------------------------------------------
926 INFO: Package: libaio-0.3.105: This is a prerequisite condition to test whether the package "libaio-0.3.105" is available on the system.
927 INFO: Severity:IGNORABLE
928 INFO: OverallStatus:VERIFICATION_FAILED
929 INFO: -----------------------------------------------
930 INFO: Verification Result for Node:134test
931 INFO: Expected Value:libaio-0.3.105 (i386)
932 INFO: Actual Value:missing
933 INFO: Error Message:PRVF-7532 : Package "libaio-0.3.105 (i386)" is missing on node "134test"
934 INFO: Cause: A required package is either not installed or, if the package is a kernel module, is not loaded on the specified node.
935 INFO: Action: Ensure that the required package is installed and available.
936 INFO: -----------------------------------------------
图形界面安装,请参考:https://www.cnblogs.com/fishparadise/p/9189325.html
CentOS静默安装Oracle 11gR2(x64)的更多相关文章
- CentOS 7安装Oracle 11gR2以及设置自启动(2)
6.创建表空间和用户授权 (1).连接数据库 $ sqlplus / as sysdba (2).创建数据库表空间 语法: create tablespace 表空间名 datafile ‘物理地址( ...
- CentOS 7安装Oracle 11gR2以及设置自启动(1)
一.环境准备 1.正确无误的CentOS 7系统环境 虚拟机要求: 内存至少2G 处理器至少2个 根分区要大于20G(安装oracle很占空间,空闲空间要足够) 2.正确的JDK环境 CentOS 7 ...
- CentOS安装Oracle 11gR2(x64)
本文主要步骤是参考:https://www.linuxidc.com/Linux/2014-02/97374.htm 后来自己加入了一些安装过程中遇到的问题和解决方法.使用图形界面安装Oracle已经 ...
- CentOS 7 安装Oracle 11gR2
概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...
- 亦步亦趋在CentOS 6.4下安装Oracle 11gR2(x64)
安装前须知: 内存(RAM)的最小要求是 1GB,建议 2GB 及以上. 虚拟内存 swap 建议:内存为 1GB~2GB 时建议swap大小为内存大小的 1.5 倍:内存为 2GB~16GB 时建议 ...
- CentOS 6安装Oracle 11gR2数据库
1.安装环境--- 操作系统:CentOS release 6.8 (Final) oracle:Oracle Database 11g Enterprise Edition Release 11.2 ...
- CentOS 7安装Oracle 11gR2以及设置自启动
一.环境准备 1.正确无误的CentOS 7系统环境 CentOS 7安装:http://www.cnblogs.com/VoiceOfDreams/p/8043958.html 2.正确的JDK环境 ...
- Centos 6下安装Oracle 11gR2
一.安装环境 CentOS release 6.7 (Final) Oracle Database 11g Release 2 二.安装前准备 #修改主机名 修改/etc/sysconfig/netw ...
- CentOS 7 安装 Oracle 11.2.0.4
一.安装环境 CentOS Linux release 7.2.1511 (Core) Oracle Database 11g Release 2 (11.2.0.4) 二.安装前准备 2.1 修改主 ...
随机推荐
- iTunes Connect开发者指南中的一个疑问
iTunes Connect Developer Guide 避免app版本出现在iClound中,我的疑问是对已经上架的版本不能设置,那么这个功能的真正意义在哪里? 大部分用户去应用页面下载 ...
- versionCode溢出的问题
android应用的版本主要由versionCode和versionName来决定,android系统是根据versionCode来验证新的apk是否能安装.如果已安装高版本的应用,就无法使用覆盖安装 ...
- Windows下LuaJIT的编译和使用
1.下载LuaJIT,download>> 2.编译 开始 –> 程序 –> Microsoft Visual Studio xx –> Visual Studio To ...
- protobuf 语法简介
protobuf 语法简介 1.基本语义 在.proto文件中,最基本的数据类型为message,如其定义所示,由message引导,之后是message类型的名字,之后是由{}包含的各个域(fiel ...
- 对拍练习:A+B
源程序: /* Problem: OJ: User: S.B.S. Time: Memory: Length: */ #include<iostream> #include<cstd ...
- Dubbo服务化最佳实践
分包 建议将服务接口,服务模型,服务异常等均放在 API 包中,因为服务模型及异常也是 API 的一部分,同时,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP). 如果需要,也 ...
- frp错误处理:login to server failed: authorization failed
frp使用过程中会出现各种错误信息,有些朋友不太清楚,打算记录一些常见的错误返回代码,这里介绍一下frpc客户端[W] [control.go:111] login to server failed: ...
- 如何在CentOS 7.2上创建NFS的Share,然后让Client可以访问
讲得详细清楚明白的好文. Setting Up an NFS Server and Client on CentOS 7.2 https://www.howtoforge.com/tutorial/s ...
- RxJava RxBinding RxView 控件事件 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Backbone.js 使用 Collection
在前面我们的 Backbone.js 用上了 Model, 但绝大数的情况下我们处理的都是一批的 Model 数据列表,所以需要有一个 Collection 来容纳 Model, 就像 Java 里最 ...