环境
- 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
- Log in as "root"
- Run the scripts
- 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 参数, 但最好还是全部通过检验比较好.
-INFO: *********************************************
-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.
- -INFO: Severity:CRITICAL
- INFO: OverallStatus:VERIFICATION_FAILED
- -INFO: -----------------------------------------------
- -INFO: Verification Result for Node:oracletest1
- -INFO: Expected Value:glibc-2.3.4-2.41 (i686)
- -INFO: Actual Value:missing
- -INFO: Error Message:PRVF-7532 : Package "glibc-2.3.4-2.41 (i686)" is missing on node "134test"
-INFO: Cause: A required package is either not installed or, if the package is a kernel module, is not loaded on the specified node.
-INFO: Action: Ensure that the required package is installed and available.
-INFO: -----------------------------------------------
故障
查看安装日志, 除了一些 WARNING 之外, 还发现有几个 VERIFICATION_FAILED, 不过都是 IGNORABLE. 仔细去查下这些依赖包其实都是已经安装好了的. 以下是其中一部分.
INFO: OS Kernel Parameter: semmni: This is a prerequisite condition to test whether the OS kernel parameter "semmni" is properly set.
- INFO: Severity:IGNORABLE
- INFO: OverallStatus:VERIFICATION_FAILED
- INFO: -----------------------------------------------
- INFO: Verification Result for Node:134test
- INFO: Expected Value:128
- INFO: Actual Value:0
- INFO: Error Message:PRVF-7543 : OS Kernel parameter "semmni" does not have proper value on node "134test" [Expected = "128" ; Found = "0"].
INFO: Cause: Kernel parameter value does not meet the requirement.
INFO: Action: Modify the kernel parameter value to meet the requirement.
INFO: -----------------------------------------------
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.
- INFO: Severity:IGNORABLE
- INFO: OverallStatus:VERIFICATION_FAILED
- INFO: -----------------------------------------------
- INFO: Verification Result for Node:134test
- INFO: Expected Value:libaio-0.3.105 (i386)
- INFO: Actual Value:missing
- INFO: Error Message:PRVF-7532 : Package "libaio-0.3.105 (i386)" is missing on node "134test"
INFO: Cause: A required package is either not installed or, if the package is a kernel module, is not loaded on the specified node.
INFO: Action: Ensure that the required package is installed and available.
INFO: -----------------------------------------------
来源: http://www.bubuko.com/infodetail-2646232.html