Centos 6.8 静默安装 Oracle 11g

一、下载

Oracle 11g:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

二、设置安装基础环境

2.1安装需要的软件包
安装

yum -y install binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++.x86_64 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64

检查

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat  unixODBC unixODBC-devel

2.2修改host文件

[root@holer ~]# vi /etc/hosts
192.168.199.199  hostname       //IP地址、hostname为服务的主机名称

临时关闭Selinux
[root@holer ~]# setenforce 0

2.3开放oracle使用的1521端口

/sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
service iptables save
service iptables restart

2.4修改/etc/security/limits.conf文件,修改用户的SHELL的限制

[root@holer ~]# vi /etc/security/limits.conf

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

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

[root@holer ~]# vi /etc/pam.d/login

session   required    /lib64/security/pam_limits.so
session   required    pam_limits.so

2.6修改linux内核,修改/etc/sysctl.conf文件

[root@holer ~]# vi /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

并用#符号注释掉原有的配置。
#Controls the maximum shared segment size, in bytes
#kernel.shmmax = 68719476736
#Controls the maximum number of shared memory segments, in pages
#kernel.shmall = 4294967296

输入命令:sysctl -p,使/etc/sysctl.conf配置文件立即生效。

[root@holer ~]# sysctl  -p

2.7修改/etc/profile

[root@holer ~]# vi /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

输入命令:source /etc/profile,使/etc/profile配置文件立即生效。

[root@holer ~]# source /etc/profile

2.8创建用户和组
创建用户组oinstall、dba
创建oracle用户,主组为oinstall,副组dba,输入命令:

[root@holer ~]# groupadd  oinstall
[root@holer ~]# groupadd  dba
[root@holer ~]# useradd -g oinstall -G dba -m oracle

设置用户oracle密码,输入两次密码,输入命令:

[root@holer ~]# passwd  oracle

2.9创建数据库软件目录和数据文件存放目录

mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oraInventory
mkdir /home/oracle/app/fast_recovery_area
mkdir /home/oracle/app/oracle/product

修改目录权限,更改目录属主为Oracle用户所有,输入命令:

chown -R oracle:oinstall /home/oracle/app

2.10创建/etc/oraInst.loc文件,否则安装时会报错

[root@holer ~]# vi /etc/oraInst.loc

inventory_loc=/home/oracle/app/oraInventory
inst_group=oinstall

给oracle用户授权

[root@holer ~]# chmod 755 /etc/oraInst.loc 
[root@holer ~]# chown -R oracle /etc/oraInst.loc

2.11配置oracle用户的环境变量

用命令su - oracle切换到oracle用户下
[root@holer ~]# su - oracle

输入命令:vi .bash_profile,将下列内容加入该文件
[oracle@holer ~]$ vi .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  

输入命令:source  .bash_profile,使.bash_profile配置文件立即生效。
[oracle@holer ~]$ source .bash_profile 

三、安装

3.1将下载好的Oracle安装文件上传到linux服务的/tmp目录下,并解压
进入tmp目录,使用unzip命令解压文件,解压完成后,在tmp目录下会有一个database的文件夹。

[root@holer ~]# cd /tmp/
[root@holer tmp]# unzip linux.x64_11gR2_database_1of2.zip
[root@holer tmp]# unzip linux.x64_11gR2_database_2of2.zip

[root@holer ~]# cd /tmp/database/response/
[root@holer response]# ls
dbca.rsp  db_install.rsp  netca.rsp

3.2编辑db_install.rsp安装文件
response目录下有三个模板,其中dbca.rsp是用来创建数据库的。db_install.rsp是用来安装Oracle软件的。netca.rsp是用来创建监听器的。当然也可在db_install.rsp中直接创建数据库。在这里,为求方便,我们选择db_install.rsp模板一并安装软件,创建数据库

[root@holer ~]# vi /tmp/database/response/db_install.rsp

[root@holer ~]# cd /tmp/database/response/
[root@holer response]# grep -Ev "^$|^#" db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=centosServer
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/app/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.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=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=400
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=1Password
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=xxxx@xxxx.com
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=/home/oracle/app/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/app/fast_recovery_area
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
[root@holer response]# chmod 755 db_install.rsp 
[root@holer response]# chmod 755 dbca.rsp 

3.3改用oracle用户登录,静默安装
安装

用命令su - oracle切换到oracle用户下
su - oracle
切换目录
cd /tmp/database
执行安装
./runInstaller -silent -ignorePrereq -responseFile /tmp/database/response/db_install.rsp

新打开一个新窗口,使用root用户查看安装进度,并执行root.sh命令

[root@holer ~]# cd /home/oracle/app/oraInventory/logs/
[root@holer logs]# tail -1000f installActionsXXXXXXXXXPM.log

在这里插入图片描述
按照提示执行root.sh

[root@holer ~]# sh /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

问题解决:如果是测试环境的VM可能会出现tmpfs比MEMORY_TARGET小,导致oracle没办法起来。ORA-00845: MEMORY_TARGET not supported on this system。

mount -o remount,size=4G /dev/shm

3.4启动数据库

[oracle@holer ~]$ sqlplus / as sysdba

SQL> startup                           //第一次启动报错
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate       //执行关闭命令
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup                          //第二次执行好使了。
ORACLE instance started.

Total System Global Area  417546240 bytes
Fixed Size		    2213936 bytes
Variable Size		  285214672 bytes
Database Buffers	  121634816 bytes
Redo Buffers		    8482816 bytes
Database mounted.
Database opened.

3.5查看监听器状态

[oracle@holer ~]$ lsnrctl status

3.6开机启动

[root@holer ~]# vi /etc/oratab

# This file is used by ORACLE utilities.  It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.

# A colon, ':', is used as the field terminator.  A new line terminates
# the entry.  Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively.  The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y

为了让oracle在系统启动时服务自动启动,修改/etc/rc/loacl文件

[root@holer ~]# vi /etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
su - oracle -c "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"

四、常用命令

创建表空间,并新建用户授权

su - oracle

sqlplus / as sysdba;

# 创建临时表空间
create temporary tablespace shanghaicms_temp tempfile '/home/oracle/app/oradata/orcl/shanghaicms_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
# 创建数据表空间
create tablespace shanghaicms_data logging datafile '/home/oracle/app/oradata/orcl/shanghaicms_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
# 创建用户并指定表空间
create user shanghaicms identified by shanghaicms default tablespace shanghaicms_data temporary tablespace shanghaicms_temp;
grant connect,resource to shanghaicms;
# 授权DBA权限
GRANT DBA TO shanghaicms;

五、参考文章

https://www.cnblogs.com/ajiangg/p/7991338.html
https://www.cnblogs.com/xqzt/p/4993460.html
https://blog.csdn.net/ageeklet/article/details/81603482

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值