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 /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 = 900065500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
修改后,使设置生效 若有报错,无视!
/sbin/sysctl -p
6.修改用户限制
在vim /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
在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.install.db.config.starterdb.type=GENERAL_PURPOSE//160行 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl//165行
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软件
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
如果出现以下错误
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 utl_recomp.recomp_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/security/limits.conf
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
没装的话装上