linux CentOS6.5 64位静默安装Oracle11g

oracle相关软件:
oracle11g下载地址:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
oracle 即时客户端(instant client)下载地址:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
oracle11gR2 官方安装向导for Linux x86-64:
http://docs.oracle.com/cd/E11882_01/install.112/e24326.pdf       

环境:
1、CentOS6.5 64位系统
2、安装包文件linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip

要求:
1、最小内存1G,推荐2G或2G以上
2、/tmp分区不少于400M,安装目录应大于4G
3、设定swap空间
1GB跟2GB物理内存之间的,设定swap大小为物理内存的1.5倍
2GB跟16GB物理内存之间的,设置swap大小与物理内存相等
16GB物理内存以上的,设置swap大小为16GB       

1.##在/home/下生成swap文件 设定大小2GB
dd if=/dev/zero of=/home/swapfile bs=1M count=2048

2.##设定使用/home/swapfile交换文件
mkswap /home/swapfile

3.##启用交换分区
swapon /home/swapfile

4.##编辑文件/ect/fstab 
vi /etc/fstab
##以便引导系统时启用交换文件,文件最下方插入 
/home/swapfile swap swap defaults 0 0

4、关闭防火墙、关闭selinux

关闭防火墙

#永久关闭防火墙
chkconfig iptables off
#暂时关闭防火墙,重启系统后会自动打开
service iptabels stop

关闭selinux

[root@CentOS tmp]#vim /etc/selinux/config
设置SELINUX=disabled

安装步骤:
1、 安装依赖包
例如compat-libstdc++-33和compat-libstdc++-33.i686,在32位版本平台上,只需要安装.i686版,在64位版本平台上则两个都要包装。

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel

2、修改内核参数

##编辑文件/etc/sysctl.conf  
vi /etc/sysctl.conf

##配置文件内加入 修改以下参数。如果没有可以自己添加,如果默认值比参考值大,则不需要修改。
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048586

这里写图片描述

##执行命令sysctl使其自检并生效
sysctl -p

这里写图片描述
3、修改用户资源限制(修改进程数和最大会话数)

vim /etc/security/limits.conf
#在/etc/security/limits.conf文件后增加如下内容:
oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536
oracle           soft    stack           10240

这里写图片描述

vim /etc/pam.d/login
#在/etc/pam.d/login文件后增加如下内容:
session  required   /lib64/security/pam_limits.so
#64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录
session  required   pam_limits.so

这里写图片描述
4、创建用户及组

##创建oinstall、dba组 将oracle用户加入组 修改并设定oracle用户密码
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

5、创建安装目录

//创建安装目录
mkdir -p /opt/oracle/product/112010/db_1
//数据文件存放目录
mkdir -p /opt/oracle/oradata
//数据恢复目录
mkdir -p /opt/oracle/fast_recovery_area
//数据库创建及使用过程中的日志目录
mkdir -p /opt/oracle/oraInventory

//修改安装目录权限
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle

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

##创建/etc/oraInst.loc文件
vim /etc/oraInst.loc

##文件内加入以下内容
inventory_loc=/opt/oracle/oraInventory
inst_group=oinstall

##保存退出后执行以下命令,设定该文件的用户组及权限。
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

7、设置oracle用户环境

## 由root切换至创建好的oracle用户

su - oracle
## 修改该用户的用户配置文件

vim /home/oracle/.bash_profile

## 文件内加入并修改至以下内容

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/112010/db_1
export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

## 保存退出后执行source命令立即生效。
source .bash_profile

8、上传zip文件并解压

将安装包上传至服务器/opt/oracle/ 下面,这两个包属于oracle用户
linux.x64_11gR2_database_1of2.zip、
linux.x64_11gR2_database_2of2.zip

安装包解压命令(使用oracle用户解压 )
$unzip linux.x64_11gR2_database_1of2.zip
$unziplinux.x64_11gR2_database_2of2.zip

解压完成后/opt/oracle下会生成database目录

如果用root解压,则需修改权限 
chmod 755 /opt/oracle/database
chown -R oracle.oinstall /opt/oracle/database

9、准备oracle安装应答模板文件db_install.rsp文件。

## 1、该文件默认存放在解压后的安装包内,也就是本例中/opt/oracle/database/response

## 2、修改安装所需的所有应答文件的所属组及权限
chown  oracle:oinstall /opt/oracle/*.rsp
chmod 755 /opt/oracle/*.rsp

## 3、配置db_install.rsp文件
vi /opt/oracle/database/response/db_install.rsp 

## 4、文件内修改相应的参数配置如下:
oracle.install.option=INSTALL_DB_SWONLY//安装类型,只装数据库软件
ORACLE_HOSTNAME=db //主机名称(命令hostname查询)
UNIX_GROUP_NAME=oinstall// 安装组
INVENTORY_LOCATION=/opt/oracle/oraInventory//INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定)
SELECTED_LANGUAGES=en,zh_CN// 选择语言
ORACLE_HOME=/opt/oracle/product/112010/db_1// oracle_home *路径根据目录情况注意修改 本例安装路径/usr/local/oracle
ORACLE_BASE=/opt/oracle// oracle_base *注意修改
oracle.install.db.InstallEdition=EE// oracle版本
oracle.install.db.DBA_GROUP=dba//dba用户组
oracle.install.db.OPER_GROUP=oinstall//oper用户组
DECLINE_SECURITY_UPDATES=true// **注意此参数 设定一定要为true

10、在oracle用户下开始安装

## 执行命令。

[oracle@CentOS database]$./runInstaller -silent -force -ignorePrereq -responseFile /opt/oracle/database/response/db_install.rsp
//安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
##参数说明
runInstaller 是主要安装脚本
-silent 静默模式
-force 强制安装
-ignorePrereq 忽略warning直接安装
-responseFile读取安装应答文件。

//可以实时跟踪查看安装日志,了解安装的进度。
//当出现
  以下配置脚本需要以 "root" 用户的身份执行。
   #!/bin/sh
   #要运行的 Root 脚本
  /opt/oracle/oraInventory/orainstRoot.sh
  /opt/oracle/product/112010/db_1/root.sh
  要执行配置脚本, 请执行以下操作:
     1. 打开一个终端窗口
     2."root" 身份登录
     3. 运行脚本
     4. 返回此窗口并按 "Enter" 键继续
  Successfully Setup Software.
//出现这个的话,说明已安装成功,则需要按提示操作,操作完返回Enter成功

这里写图片描述
11、修改配置文件/opt/oracle/database/response/dbca.rsp,静默建立新库

 RESPONSEFILE_VERSION = "11.2.0"  //不能更改
 OPERATION_TYPE = "createDatabase"
 GDBNAME = "orcl"  //全局数据库的名字=SID+主机域名
 SID = "orcl"    //对应的实例名字
 TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
 SYSPASSWORD ="oracle"//SYS管理员密码
 SYSTEMPASSWORD ="oracle"//SYSTEM管理员密码
 DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录
 RECOVERYAREADESTINATION=/opt/oracle/fast_recovery_area //恢复数据存放目录
 CHARACTERSET = "AL32UTF8"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
 TOTALMEMORY = "5120"    //oracle内存5120MB

配置完之后,执行命令

dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp

Copying database files
1% complete
4% complete
Creating database files
8% complete
28% complete
42% complete
Adding Oracle XML DB
52% complete
58% complete
Adding Oracle Intermedia
Adding Oracle OLAP
72% complete
78% complete
Completing Database Creation
89% complete
99% complete
100% complete
Look at the log file "/opt/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/orcl.log" for further details.

最后提示创建成功后

12、配置监听配置文件/opt/oracle/database/response/netca.rsp

//主要查看以下参数配置:
INSTALL_TYPE=""custom""安装的类型
LISTENER_NUMBER=1监听器数量
LISTENER_NAMES={"LISTENER"}监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"}监听器使用的通讯协议列表
LISTENER_START=""LISTENER""监听器启动的名称

//运行安装命令:
netca /silent /responseFile /opt/oracle/database/response/netca.rsp

这里写图片描述

成功运行后,在/opt/oracle/product/112010/network/admin/中生成listener.ora和sqlnet.ora
通过netstat命令可以查看1521端口正在监听。
netstat -tnulp | grep 1521

这里写图片描述
13、启动数据库

sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Dec 6 09:14:24 2017
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> startup

这里写图片描述
14、查看监听器状态

lsnrctl status

这里写图片描述
15、修改Oracle启动配置文件(需要在root用户下执行)

# vi /etc/oratab
orcl:/opt/oracle/product/112010/db_1:Y

为了让oracle在系统启动时服务自动启动,修改/etc/rc/loacl文件:
[root@oracle admin]# 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 -lc "/opt/oracle/product/112010/db_1/bin/lsnrctl start"
su - oracle -lc /opt/oracle/product/112010/db_1/bin/dbstart

16、打开防火墙端口:
输入命令:vim /etc/sysconfig/iptables编辑防火墙配置:
这里写图片描述
17、创建表空间

创建临时表空间:
create temporary tablespace user_temp tempfile '/opt/oracle/oradata/orcl/user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

创建数据表空间:
create tablespace user_data logging datafile '/opt/oracle/oradata/orcl/user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

创建用户并指定表空间:
create user mydbuser identified by myDbuser1 default tablespace user_data temporary tablespace user_temp;
grant connect,resource to mydbuser; 

猜你喜欢

转载自blog.csdn.net/borntodieee/article/details/78907513