测试环境:
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)
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
#更改文件权限
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)
)
)