1.操作系统及Oracle版本
Linux版本:CentOS release 5.5 (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 free df -k /tmp df -k |
3.检查安装依赖系统包
操作系统依赖的具体包,请参考官方安装文档。
以下为 Asianux 3, Oracle Linux 5, Red Hat Enterprise Linux 5, CentOS 5 操作系统依赖的包
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.修改内核参数
在/etc/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 |
修改后,使设置生效
/etc/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 = "root" ]; then setenforce 0 fi 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 /u01/app/ chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ |
8.创建/etc/oraInst.loc文件,内容如下
nventory_loc=/u01/app/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=/u01/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安装文件
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 |
12.静默安装Oracle软件
su - oracle |
修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型 ORACLE_HOSTNAME=java-linux-test //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软件
cd database ./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp |
安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
查看安装日志信息了解安装进度
cd $ORACLE_BASE/oraInventory/logs tail -100f installActions*.log |
出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
...
/u01/app/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用户执行root.sh
su root /u01/app/oracle/product/11.2.0/db_1/root.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 |
13.静默配置网络
$ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp |
14.静默安装数据库
修改仅安装数据库的响应文件/home/oracle/etc/dbca.rsp
GDBNAME="orcl.java-linux-test" //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 shared libraries: /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied
解决办法1:在root用户下执行以下命令
su - root setenforce 0 |
解决办法2:在 /etc/selinux/config 中,将 SELINUX=enforcing 改为 SELINUX=disabled ,重启机器 reboot
15.修改oracle启动配置文件
su - oracle vi /etc/oratab |
racl:/u01/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> set lines 256 pages 500 SQL> select USER_ID,USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE from dba_users order by 1; |