centos 静默安装 oracle 11g,centos6.6静默安装oracle11g步骤

1.操作系统及Oracle版本

Linux版本:CentOS release 6.3 (Final)

Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Linux

x86-64

(linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip)

2.硬件检测:

物理内存不少于1G

硬盘可以空间不少于5G

swap分区空间不少于2G

支持256色以上显卡

cpu主频不小于550mHZ

cat /etc/issue

uname -r (版本)

grep MemTotal /proc/meminfo (内存大小)

grep SwapTotal /proc/meminfo (交换区大小)

grep "model name" /proc/cpuinfo (CPU信息)

free (可用内存)

3.检查安装依赖系统包

操作系统依赖的具体包,请参考官方安装文档。

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

compat-libstdc++-33-3.2.3 (32 bit)

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-2.5-24 (32 bit)

glibc-common-2.5

glibc-devel-2.5

glibc-devel-2.5 (32 bit)

glibc-headers-2.5

ksh-20060214

libaio-0.3.106

libaio-0.3.106 (32 bit)

libaio-devel-0.3.106

libaio-devel-0.3.106 (32 bit)

libgcc-4.1.2

libgcc-4.1.2 (32 bit)

libstdc++-4.1.2

libstdc++-4.1.2 (32 bit)

libstdc++-devel 4.1.2

make-3.81

sysstat-7.0.2

unixODBC-2.2.11 (32-bit) or later

unixODBC-devel-2.2.11 (64-bit) or later

unixODBC-2.2.11 (64-bit) or later

检查依赖包

rpm -q binutils compat-libstdc++-33 elfutils-libelf

elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common

glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++

libstdc++-devel make sysstat unixODBC

unixODBC-devel

如果包有显示is not installed(没安装),就用yum install

命令安装,如:

yum install compat-libstdc++-33

4.创建所需的操作系统组和用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

设置oracle用户密码

passwd oracle

5.修改内核参数

在/sbin/sysctl.conf

文件中,使用文本编辑器或vi命令增加或修改以下参数

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 = 1048576

修改后,使设置生效

/sbin/sysctl -p

6.修改用户限制

在/etc/security/limits.conf

文件中,使用文本编辑器或vi命令增加或修改以下参数

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack

10240

在/etc/pam.d/login

文件中,使用文本编辑器或vi命令增加或修改以下内容

session required

/lib/security/pam_limits.so

session required

pam_limits.so

在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容

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

7.创建安装目录(可根据情况,选择比较多空间的目录创建)

mkdir -p /usr/oracle

chown -R oracle:oinstall /usr/oracle

chmod -R 775 /usr/oracle

8.创建/etc/oraInst.loc文件,内容如下

nventory_loc=/usr/oracle/oraInventory

inst_group=oinstall

更改文件的权限

chown oracle:oinstall /etc/oraInst.loc

chmod 664 /etc/oraInst.loc

9.设置oracle环境变量

su - oracle

vi ~/.bash_profile

在最后加上以下内容

export ORACLE_BASE=/usr/oracle

export ORACLE_SID=orcl

注意,除了ORACLE_BASE和ORACLE_SID,(

/etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH,

LD_LIBRARY_PATH等)。

使设置生效

source /home/oracle/.bash_profile

检查环境变量:

env

同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行“xhost

+ 你的ip:0.0“

10.解压oracle安装文件

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

11.复制响应文件模板

mkdir etc

cp /home/oracle/database/response/*

/home/oracle/etc/

设置响应文件权限

su - root

chmod 700

/home/oracle/etc/*.rsp(注意所有者,oinstall)

12.静默安装Oracle软件

su - oracle

修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY //

安装类型

ORACLE_HOSTNAME=db //

主机名称(hostname查询)

UNIX_GROUP_NAME=oinstall // 安装组

INVENTORY_LOCATION=/usr/oracle/oraInventory

//INVENTORY目录(不填就是默认值)

SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言

ORACLE_HOME=/usr/oracle/product/11.2.0/db_1 //

oracle_home

ORACLE_BASE=/usr/oracle // oracle_base

oracle.install.db.InstallEdition=EE //

oracle版本

oracle.install.db.isCustomInstall=false

//自定义安装,否,使用默认组件

oracle.install.db.DBA_GROUP=dba // dba用户组

oracle.install.db.OPER_GROUP=oinstall

// oper用户组

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE//数据库类型

oracle.install.db.config.starterdb.globalDBName=orcl

//globalDBName

oracle.install.db.config.starterdb.SID=orcl

//SID

oracle.install.db.config.starterdb.memoryLimit=81920

//自动管理内存的内存(M)

oracle.install.db.config.starterdb.password.ALL=oracle

//设定所有数据库用户使用同一个密码

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false)

DECLINE_SECURITY_UPDATES=true

//设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)

开始静默安装

cd database

./runInstaller -silent -responseFile

/home/oracle/etc/db_install.rsp

安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。

查看安装日志信息了解安装进度

cd $ORACLE_BASE/oraInventory/logs

tail -f installActions*.log

出现类似如下提示表示安装完成:

#-------------------------------------------------------------------

/usr/oracle/oraInventory/orainstRoot.sh

/usr/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.

#-------------------------------------------------------------------

使用root用户执行脚本

这里是有两个脚本要执行,跑一下就好

su root

/usr/oracle/product/11.2.0/db_1/root.sh

/usr/oracle/oraInventory/orainstRoot.sh

增加oracle环境变量

su - oracle

vi ~/.bash_profile

在最后加上以下内容

export

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export

TNS_ADMIN=$ORACLE_HOME/network/admin

export

PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin

export

PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

export

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib

export

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

export

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE

export

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib

export

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

export

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export

LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib

export ORACLE_OWNER=oracle

export SPFILE_PATH=$ORACLE_HOME/dbs

export ORA_NLS10=$ORACLE_HOME/nls/data

使设置生效

source /home/oracle/.bash_profile

到这里,oracle11g的数据库实例就算是装好了,接下来配置数据库实例的基本参数文件~

cd

$ORACLE_HOME/dbs

找到默认的init.ora,然后创建一个新的init.ora:

cat init.ora |

grep -V ^# | grep -V ^$ | > init$ORACLE_SID.ora

修改新参数文件里面的为绝对路径,然后把db_name之类的东西改成自己的就好~

然后就可以启动oracle实例了,用sqlplus

"/as sysdba"登录进去,然后startup nomount;

如果说MEMORY_TARGET太大了,那么可以在参数文件里面改小一点(这里设置的是81960M,80G),或者修改shm的大小、

用df

-h能看到/dev/shm的大小

用mount -o

size=102400M -o nrinodes=1000000 -o noatime,nodiratime -o remount

/dev/shm来修改shm的大小

然后创建spfile

create spfile

from

pfile;(具体的这两个东西的资料可以参考我的另一篇文章,spfile和pfile那点事)

如果一切正常,那么会显示出数据库的一些池和缓存的信息,接下来就是创建数据库了,

先创建必要目录

mkdir -p

$ORACLE_BASE/admin/$ORACLE_SID/adump

mkdir

-p $ORACLE_BASE/oradata

PS:稍微注意一下的是,/usr/local/bin下面,几个目录的权限,记得要改成oracle和oinstall的(chown

-R oracle:oinstall *),否则启动的时候会提示错误,权限啊,目录操作失败云云

建库脚本如下:

CREATE

DATABASEorcl

USER SYS

IDENTIFIED BY sys

USER SYSTEM

IDENTIFIED BY system

LOGFILE

GROUP 1

('/usr/oracle/oradata/redo01.log') SIZE

1024M,

GROUP 2

('/usr/oracle/oradata/redo02.log') size

1024m,

GROUP 3

('/usr/oracle/oradata/redo03.log') size

1024m,

GROUP 4

('/usr/oracle/oradata/redo04.log') size

1024m,

GROUP 5

('/usr/oracle/oradata/redo05.log') size 1024m

MAXLOGFILES

5

MAXLOGMEMBERS

5

MAXLOGHISTORY

200

MAXDATAFILES

10000

MAXINSTANCES

1

CHARACTER SET

AL32UTF8

NATIONAL

CHARACTER SET AL16UTF16

datafile

'/usr/oracle/oradata/system01.dbf' size 2048M

REUSE

EXTENT

MANAGEMENT LOCAL

sysaux

datafile '/usr/oracle/oradata/sysaux01.dbf' size 2048M

REUSE

default

temporary tablespace temp

tempfile

'/usr/oracle/oradata/temp01.dbf' size 2048M REUSE

undo

tablespace UNDOTBS1

datafile

'/usr/oracle/oradata/undotbs01.dbf' size 4096M

REUSEAUTOEXTEND off

default tablespace DATA

datafile '/usr/oracle/oradata/data01.dbf' size 8192M

REUSE

EXTENT MANAGEMENT LOCAL

SEGMENT SPACE MANAGEMENT AUTO;

使用Extend和Segment的管理,懒人+水B表示自己管理的技巧暂时没空学,全部交给oracle自己管理.....

如果没问题,接下来就创建数据字典和pl/sql包,

sqlplus "/as

sysdba"

SQL>@?/rdbms/admin/catalog.sql;

SQL>@?/rdbms/admin/cataproc.sql;

SQL>@?/rdbms/admin/utlrp.sql;

SQL>conn

system/*****;

SQL>@?/sqlplus/admin/pupbld.sql;

(这几个脚本放在$ORACLE_HOME/rdbms/admin下,也可以先进这个目录,然后直接@脚本就好)

最后shutdown immediate

然后startup吧~

数据库正确open之后,就是配置监听器了,

把\network\admin\listener.ora

和\network\admin\tnsname.ora里面的LOCALHOST改成IP,把SID

SID_NAME改成实例名,重启数据库,重启监听

PS:参数文件的service和监听器的service要对上!

然后用sqlplus,使用sys或者system登录进去,show

parameter;或者select table_name from

dba_tables看看是否正常。