Linux下实现Oracle11g静默安装教程
1.操作系统及Oracle版本
Linux版本:CentOS release 6.5 (Final)
Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Linuxx86-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
cat /proc/meminfo |grep MemTotal
cat /proc/meminfo |grep SwapTotal
cat /proc/cpuinfo |grep "modelname"
free
df -k /tmp
df -k
3.检查安装依赖系统包
操作系统依赖的具体包,请参考官⽅安装⽂档
以下为 Asianux 3, Oracle Linux 5, RedHat Enterprise Linux 5, CentOS 6 操作系统依赖的包
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) orlater
unixODBC-2.2.11 (64-bit) or later
检查依赖包命令
rpm -q binutils compat-libstdc++-33 elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-develglibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel makesysstat unixODBC unixODBC-devel
如果包有显⽰is not installed(没安装),就⽤yum install 命令安装,如:
yum install compat-libstdc++-33
yum install compat-libstdc++-33elfutils-libelf-devel glibc-2.5 ksh libaio-devel unixODBC unixODBC-devel gcc gcc-c++ glibc-2.5libstdc++-devel -y
4.创建所需的操作系统组和⽤户
groupadd oinstall ;groupadd dba;useradd-g oinstall -G dba oracle
设置oracle⽤户密码
passwd oracle
5.修改内核参数
在 vim /f ⽂件中,使⽤⽂本编辑器或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 = 900065500
修改后,使设置⽣效若有报错,⽆视!
/sbin/sysctl -p
6.修改⽤户限制
在vim /etc/f ⽂件中,使⽤⽂本编辑器或vi命令增加或修改以下参数
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 ⽂件中,使⽤⽂本编辑器或vi命令增加或修改以下内容
session required/lib/security/pam_limits.so
session required pam_limits.so
使⽤⽂本编辑器或vi命令增加或修改以下内容
vim /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
7.创建安装⽬录(可根据情况,选择⽐较多空间的⽬录创建)
mkdir -p /opt/Oracle/app/ ;mkdir -p/opt/Oracle/app/oracle;chown -R oracle:oinstall /opt/Oracle/app/;chmod -R 775 /opt/Oracle/app/
8.创建vim /etc/oraInst.loc⽂件,内容如下
inventory_loc=/opt/Oracle/app/oracle/oraInventory
inst_group=oinstall
更改⽂件的权限
chown oracle:oinstall/etc/oraInst.loc ;chmod 664 /etc/oraInst.loc
9.设置oracle环境变量
su - oracle
vim ~/.bash_profile
在最后加上以下内容
export ORACLE_BASE=/opt/Oracle/app/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
10.解压oracle安装⽂件
unziplinux.x64_11gR2_database_1of2.zip ;unzip linux.x64_11gR2_database_2of2.zip
11.复制响应⽂件模板
mkdir etc ;cp/解压后⽂件database路径/response/* /home/oracle/etc/
设置响应⽂件权限
su - root
chmod 700 /home/oracle/etc/*.rsp
12.静默安装Oracle软件
su - oracle
修改安装Oracle软件的响应⽂件
vim /home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY//29 ⾏安装类型
ORACLE_HOSTNAME=localhost.localdomain //37⾏主机名称
UNIX_GROUP_NAME=oinstall //42 ⾏安装组
INVENTORY_LOCATION=/opt/Oracle/app/oracle/oraInventory//47 ⾏INVENTORY⽬录
SELECTED_LANGUAGES=en,zh_CN,zh_TW//78 ⾏选择语⾔
ORACLE_HOME=/opt/Oracle/app/oracle/product/11.2.0/db_1//83 ⾏oracle_home
ORACLE_BASE=/opt/Oracle/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.pe=GENERAL_PURPOSE//160⾏类型
oracle.fig.starterdb.globalDBName=orcl//165⾏
oracle.fig.starterdb.SID=orcl//170⾏ SID
oracle.Limit=512//200⾏⾃动管理内存的最⼩内存(M)
oracle.fig.starterdb.password.ALL=oracle//233⾏设定所有数据库⽤户使⽤同⼀个密码
DECLINE_SECURITY_UPDATES=true //385⾏设置安全更新
进⾏静默安装软件
cd database(在oracle⽤户下进⾏)
./runInstaller -silent -force-responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
安装中,如果提⽰[WARNING]不必理会,此时安装程序仍在进⾏,如果出现[FATAL],则安装程序已经停⽌了。
查看安装⽇志信息了解安装进度
cd $ORACLE_BASE/oraInventory/logs
tail -100f installActions*.log
出现类似如下提⽰表⽰安装完成:
#-------------------------------------------------------------------
...
/opt/Oracle/app/oracle/product/11.2.0/db_1/root.sh
To execute the configurationscripts:
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⽤户执⾏root.sh
su root
/opt/Oracle/app/oracle/product/11.2.0/db_1/root.sh
增加oracle环境变量
su - oracle
vi ~/.bash_profile
在最后加上以下内容
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
exportTNS_ADMIN=$ORACLE_HOME/network/admin
exportPATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
exportLIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
exportORA_NLS10=$ORACLE_HOME/nls/data
使设置⽣效
source /home/oracle/.bash_profile
13.静默配置⽹络
$ORACLE_HOME/bin/netca /silent/responseFile /home/oracle/etc/netca.rsp
14.静默安装数据库
修改仅安装数据库的响应⽂件vim /home/oracle/etc/dbca.rsp
GDBNAME="orcl.localhost.localdomai"//78 ⾏全局数据库的名字=SID+主机域名
SID="orcl" //149⾏ SID
CHARACTERSET="AL32UTF8"//415⾏编码
NATIONALCHARACTERSET="UTF8"//425⾏编码
进⾏静默安装数据库
$ORACLE_HOME/bin/dbca -silent-responseFile /home/oracle/etc/dbca.rsp
建库后实例检查
ps -ef | grep ora_ | grep -v grep |wc -l
ps -ef | grep ora_ | grep -v grep
建库后监听检查
lsnrctl status
如果出现以下错误
怎样测试oracle11g安装完成lsnrctl: error while loading sharedlibraries: /opt/Oracle/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: cannotrestore segment prot after reloc: Permission denied
解决办法:在root⽤户下执⾏以下命令
su - root
setenforce 0
15.修改oracle启动配置⽂件
su - oracle
vi /etc/oratab
racl:/opt/Oracle/app/oracle/product/11.2.0/db_1:Y//把“N”改成“Y”
这样就可以通过dbstart 启动此实例,。
dbstart $ORACLE_HOME
此时所有oracle的进程关闭,也停⽌。
dbshut $ORACLE_HOME
再次查看状态。
lsnrctl status
如果使⽤归档⽇志
sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database flashback on;(如果要启⽤数据库闪回功能则执⾏)
SQL> alter database open;
SQL> execute p_serial();(重新编译所有可能失效对象)
SQL> alter system archive logcurrent; (⼿⼯归档测试)
设置linux数据库编码
echo 'export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"'>>/etc/profile;
查询数据库字符集
select* from nls_database_parameters ;
数据库字符集在创建后原则上不能更改。不过有2种⽅法可⾏。
1. 如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导⼊数据库数据的⽅式来转换。
2. 通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII 的超集,修改数据库字符集可使⽤ALTER DATABASE CHARACTER SET UTF8。
在linux 系统装Oracle数据库最后的时候报ORA-12547:TNS:lostcontact,并且给出两个选项lgnore Abort
检查ulimit没有修改,修改limits参数⽂件,添加如下内容
vi /etc/f
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
禁⽤SELinux:
⽤root系统执⾏ setenforce 0 (不需要重启)
修改/etc/selinux/config⽂件中的SELINUX="" 为 disabled ,需要重启
检查libaio是否安装:
rpm -qa |grep libaio
没装的话装上
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论