CentOS 6.7
静默安
装Oracle 11g R2
操作总结
一、环境准备
1.1、下载所需软件
1.1.1、CentOS 6(x86_64)
http://mirrors.163.com/centos/
1.1.2、Oracle 11g R2(Linux x86-64)
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
1.2、光盘挂载,补全依赖包使用
1.2.1、将系统盘设为yum源,先将CentOS 6.7安装镜像挂载至/mnt/cdrom
# mkdir -p /mnt/cdrom
# mount -o loop /opt/software/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/cdrom
1.2.2、配置local repo
# cd /etc/yum.repos.d/
# mkdir bak;mv Cent* ./bak
# vim CentOS-Media.repo
[base]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
1.2.3、清除cache并重建
# yum clean all
# yum makecache
二、机器基础配置修改
2.1、机器名修改
vim /etc/sysconfig/network
2.2、系统检查
2.2.1、内存推荐2GB以上
# grep MemTotal /proc/meminfo
# free -g
2.2.2、/tmp 目录大于1G
# df -h /tmp
# du -sm /tmp
2.2.3、磁盘空间应该都没问题,需安装目录20G以上
# df -h
2.2.4、系统架构
# cat /proc/version
# uname -a
# uname -r
# lsb_release -a
2.2.5、设置系统
2.2.5.1、操作系统,系统只支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下
# vim /etc/redhat-release
#CentOS release 6.3 (Final) 这行注释掉,加上下面的
Red Hat Enterprise Linux 6
2.2.5.2、系统核心
# uname -r 检查一下
2.6.32-573.18.1.el6.x86_64
2.2.5.3、机器基础信息关闭,selinux,防火墙,不必要服务
# vim /etc/sysconfig/selinux
SELINUX=enforcing改成SELINUX=disabled
# service iptables stop
# chkconfig iptables off
# vim /etc/hosts
添加一行内容:IP 机器名
2.2.5.4、修改用户的限制文件
# vi /etc/security/limits.conf 在文件后增加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
2.2.5.5、修改内核参数
# vi /etc/sysctl.conf //末尾添加如下,如该参数已设置过,则不需添加该项
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
# sysctl -p //使配置生效
2.2.6、依赖包检查安装,总结执行依赖如下,如果出现某个包安装失败,则需要手动下载相关的rpm包,然后执行安装即可。
yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp
附:rpm包检查包、安装包、卸载包命令
# rpm -qa|grep xxx
# rpm -ivh xxx.rpm
# rpm -e --nodeps xxx.rpm
2.2.7、建立用户,组,安装目录
2.2.7.1、执行命令
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle
2.2.7.2、查看一下
# id oracle
uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper)
2.2.7.3、新建安装目录
# mkdir -p /var/app
# mkdir -p /var/app/oracle
# mkdir -p /var/app/oracle/product
# mkdir -p /var/app/oracle/product/11.2.0
# mkdir -p /var/app/oracle/product/11.2.0/dbhome_1
# mkdir -p /home/oracle/backup //数据备份目录
# mkdir -p /home/oracle/oraInventory //清单目录
# chown -R oracle:oinstall /var/app
# chown -R oracle:oinstall /home/oracle/backup
# chown -R oracle:oinstall /home/oracle/oraInventory
# chmod -R 775 /var/app
2.2.8、设置并刷新环境变量
# vim /home/oracle/.bash_profile
umask 022
export ORACLE_BASE=/var/app
exportORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=ora11g
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
# source /home/oracle/.bash_profile //环境变量生效
三、安装Oracle
3.1、拷贝oracle安装文件到指定目录
# cp /opt/software/linux.x64_11gR2_database_1of2.zip /var/app/oracle
# cp /opt/software/linux.x64_11gR2_database_2of2.zip /var/app/oracle
3.2、解压安装包,注意切换用户
# su - oracle
$ cd /var/app/oracle
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
解压后得到database目录,其中包含response目录,该目录中有三个rsp文件,用来作为静默安装时的应答文件的模板。三个文件作用分别是:
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答,
3.3、修改配置文件,安装oracle软件
3.3.1、复制一份模板,添加备份
$ cp -R /var/app/oracle/database/response /home/oracle
3.3.2、修改后的静默安装配置文件db_install.rsp,(如果oracle用户没有操作文件的权限,可使用root用户修改该文件,保存退出即可),修改相关的配置项,修改后的文件内容如下。
$ less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$"
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=bigdata06
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/var/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/var/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/var/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true //一定要设为 true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
3.3.3、开始静默安装
$ cd /var/app/oracle/database
$./runInstaller -silent -responseFile /var/app/oracle/database/response/db_install.rsp
3.3.4、查看安装进度
$ cd /var/app/oracle/oraInventory/logs
$ tail -f installActions*log
3.3.5、当安装界面出现如下信息的时候
The installation of Oracle Database 11g was successful.
.....................
....................
As a root user, execute the following script(s):
1. /var/app/oracle/oraInventory/orainstRoot.sh
2. /var/app/oracle/product/11.2.0/dbhome_1/root.sh
Successfully Setup Software.
3.3.6、在新打开的客户端使用root登录的窗口中执行下面的脚本
#/var/app/oracle/oraInventory/orainstRoot.sh
#/var/app/oracle/product/11.2.0/dbhome_1/root.sh
3.3.7、执行完上面的脚本后回到安装界面按下Enter键以继续
3.4、配置oracle监听
3.4.1、运行监听文件
$cd /var/app/oracle/database/response
$netca /silent /responsefile /var/app/oracle/database/response/netca.rsp
成功运行后,在/var/app/oracle/product/11.2.0/dbhome_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
通过 netstat -tlnp | grep 1521 命令,看到监听器已经在1521端口上开始工作了
3.4.2、如果监听没有启动,则手动启动监听程序。
$ /var/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start LISTENER
3.5、配置oracle数据库
3.5.1、修改建库配置文件
$ vim /var/app/oracle/database/response/dbca.rsp
GDBNAME = "ora11g.dg01" //78 行 全局数据库的名字=SID+主机域名
SID="ora11g" //149行 SID
SYSPASSWORD = "oracle" //190行
SYSTEMPASSWORD = "oracle" //200行
CHARACTERSET="AL32UTF8" //415行 编码
NATIONALCHARACTERSET="UTF8" //425行 编码
3.5.2、创建dbca数据库
$ORACLE_HOME/bin/dbca -silent -responseFile /var/app/oracle/database/response/dbca.rsp
Enter SYS user password:
Enter SYSTEM user password:
sh: /bin/ksh: No such file or directory
sh: /bin/ksh: No such file or directory
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
四、启动数据库
4.1、进入oracle SQL命令行
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri May 12 15:37:09 2017
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> start
SP2-1506: START, @ or @@ command has no arguments
SQL> select * from tab;
4.2、需注意ORACLE_SID的问题,确认静默dbca建库时配置(SID="ora11g" //149行 SID)与环境变量export ORACLE_SID=ora11g配置相同,否则出现错误。
错误提示:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/var/app/oracle/product/11.2.0/dbhome_1/dbs/initxtwl.ora'
五、参数修改
5.1、修改最大连接数:
sql> show parameter processes;
sql> alter system set processes=2000 scope = spfile;
5.2、禁止回收站功能:
SQL> show parameter recyclebin;
SQL> alter system set recyclebin=off scope=spfile;
5.3、关闭审计功能:
SQL> show parameter audit;
SQL> alter system set audit_trail=NONE scope=spfile;
5.4、修改用户密码用不过期:
SQL> select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
SQL> alter profile default limit password_life_time unlimited;
Profile altered.
SQL> select * from dba_profiles s where s.profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
SQL> alter profile default limit failed_login_attempts unlimited;
Profile altered.
5.5、修改控制文件里可重复使用的记录所能保存的最小天数:(一般设置为45天)
SQL> show parameter control;
SQL> alter system set control_file_record_keep_time=45 scope=spfile;
System altered.