Linux安装oracle数据库(静默模式)

来源:互联网 发布:cr2什么软件打开 编辑:程序博客网 时间:2024/05/17 23:10

测试环境:

CentOS 6.5  64位

oracle 11g r2(linux.x64_11gR2_database_1of2,linux.x64_11gR2_database_2of2)


文章末尾含Linux安装oracle的脚本链接。


#解压oracle安装包

unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip

#检查oracle依赖包

rpm -qa 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

#使用yum安装未安装的依赖包(下面包含所有的,只需要安装未安装的)网速太慢改为其他yum源

yum install -y 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

#创建所要使用到的用户和组

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

#设置oracle密码
passwd oracle

#修改内核参数

编辑   /etc/sysctl.conf

fs.aio-max-nr = 1048576  #文件系统最大异步io   1024*1024(并发请求的最大个数)
fs.file-max = 6815744    #系统中允许的文件句柄最大数目(打开文件数限制)
kernel.shmall = 2097152       #可使用的共享内存总量(内存页数)?默认值 2097152*4k/1024/1024=8G  可用共享内存8G
kernel.shmmax = 536870912       #最大共享内存段大小(KB)  --此处512M
kernel.shmmni = 4096        #整个系统共享内存段的最大数目(bit)---4KB
kernel.sem = 250 32000 100 128   #每个信号对象集的最大信号对象数(对应SEMMSL、SEMMNS、SEMOPM、SEMMNI)

#SEMMSL 用于控制每个信号集的最大信号数量(信号量集合中能够包含的信号量最大数目)
#SEMMNS  用于控制整个Linux系统中信号最大数(可允许的信号量最大数目)
#SEMOPM  用于控制每个semopm系统调用可以执行的信号操作的数量(调用单个信号集中最大信号数量)
#SEMMNI   用于控制整个Linux系统中信号集的最大数量(系统信号量集合总数)
net.ipv4.ip_local_port_range = 1024 65500   #应用程序可使用的ipv4端口范围 (指的就是可用端口范围)
net.core.rmem_default = 262144   #套接字接收缓冲区大小的缺省值
net.core.rmem_max = 4194304   #套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144  #套接字发送缓冲区大小的缺省值
net.core.wmem_max = 1048576  #套接字发送缓冲区大小的最大值

#使设置生效

sysctl -p


#修改用户限制

编辑 /etc/security/limits.conf

oracle soft nproc 2047   #该用户打开的进程数
oracle hard nproc 16384
oracle soft nofile 1024  #该用户打开文件打开数
oracle hard nofile 65536
oracle soft stack 10240  #堆栈

#1账号,或群组

#2限制依据 hard(不能超过) soft(可以超过,但警告)

#3相关限制   限制内容

#4限制的值

#修改系统的登录配置文件

编辑 /etc/pam.d/login

#session required /lib/security/pam_limits.so(网上很多地方的文章有这个,但加入这个可能导致服务器本机不能登录,远程登录没关系)本机找不到这个文件,可能是系统位数的关系--32位的可能有这个

#64位位置:/lib64/security/pam_limits.so

session required pam_limits.so

#session  会话

#required 验证,成功向下进行

#修改环境变量,全局变量

编辑 /etc/profile,加入

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384   #管道缓冲区大小(KB)
ulimit -n 65536  #可以打开的最大文件描述符的数量
else
ulimit -u 16384 -n 65536
fi
fi

#使设置生效

source /etc/profile

#创建安装目录(自己自定义)

mkdir -p /u01/app/
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/

#创建/etc/oraInst.loc文件(确认原来是否存在oracle产品清单目录)修改

nventory_loc=/u01/app/oracle/oraInventory

inst_group=oinstall

#更改文件权限

chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

#设置oracle环境变量

su - oracle

编辑vi ~/.bash_profile,加入

export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl

#使设置生效
source /home/oracle/.bash_profile

#复制响应文件模板

mkdir /home/oracle/etc
cd /home/oracle/etc
cp /tmp/database/response/* /home/oracle/etc/

#设置响应文件权限

su - root

chmod 700 /home/oracle/etc/*.rsp

#修改oracle响应模板

#切换到oracle用户

su - oracle

#修改响应文件/home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
ORACLE_HOSTNAME=localhost //37 行 主机名称
UNIX_GROUP_NAME=oinstall //42 行 安装组
INVENTORY_LOCATION=/u01/app/oracle/oraInventory //47 行 INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 选择语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 //83 行 oracle_home
ORACLE_BASE=/u01/app/oracle //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.isCustomInstall=true //108行 自定义安装
oracle.install.db.DBA_GROUP=dba //142行 dba用户组
oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行 SID
oracle.install.db.config.starterdb.memoryLimit=512 //200行 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true //385行 设置安全更新

#开始安装

#进入解压后的oracle文件目录

/tmp/database
./runInstaller -silent -ignorePrereq -responseFile /home/oracle/etc/db_install.rsp

#查看进度

tail -100f /u01/app/oracle/oraInventory/logs/installActions*.log


#使用root执行以上脚本

/u01/app/oracle/product/11.2.0/db_1/root.sh

#增加oracle环境变量.

su - oracle

编辑文件/home/oracle/.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

#静默配置网络(监听)

/u01/app/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp

#静默安装数据库

#修改安装数据库响应文件

vi  /home/oracle/etc/dbca.rsp

GDBNAME="orcl.localhost"//78行 SID+主机域名
SID="orcl"  //149行  SID
CHARACTERSET="AL32UTF8"  //415行  
NATIONALCHARACTERSET="UTF8"   //425行 

#静默安装数据库

/u01/app/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp

#不知道这里是不是有bug,会清空屏幕,要输入两次密码,一会后开始显示安装百分比

#安装完成后,查看监听状态

lsnrctl status

到这里已经完成

-----------------------------------------------------------------------------------

#修改oracle启动配置文件

su - oracle

vi /etc/oratab

    racl:/u01/app/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”#通过dbstart启动实例,监听

dbstart $ORACLE_HOME  


Linux安装oracle的安装脚本:http://download.csdn.net/download/yang_xu_1987/9914143

---------------------------------------------------------------------------------

ora-12514

vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora 

加入:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  )