一、环境准备环境
操作系统:CentOS release 6.5 (Final)
内核版本:2.6.32-431.el6.x86_64
物理内存:2G(必须大于1G)
swap分区:3G(必须大于3G)
硬盘空间:100G(必须大于100G)
Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
说明:物理内存如果小于2G,硬盘如果小于100G,oracle安装前环境监测的时候会有错误提示
二、安装前准备
1、添加一块120G的硬盘,并挂载到了/oracle/目录下
2、上传oracle的软件包并解压
3、在/etc/hosts文件中的回环IP中添加主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 master.fansik.com
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 master.fansik.com
4、关闭selinux
5、关闭防火墙
6、安装依赖的包
# yum install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio.i686 libaio-devel.i686 numactl-devel sysstat unixODBC.i686 unixODBC-devel.i686 pcre-devel libstdc++.i686
说明:有很多的安装包需要32的安装包,查看安装文件的时候会提示是i386的包,但,实际安装i686的也可以,如果因为包检测不通过,可以通过安装日志查看到底是哪些包没装或版本不对,有些包即 使安装了i686还是会提示缺失i386的包,但是只要不出现error或者FAILED就可以了。
7、准备安装用户及用户组
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba -d /home/oracle oracle
# passwd oracle
8、修改内核参数配置文件
# vim /etc/sysctl.conf 在文件最后增加
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 10485866
使上面的参数生效
# sysctl -p
9、修改用户的限制文件
# vim /etc/security/limits.conf加入如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
10、修改/etc/pam.d/login文件(32位系统在/lib下)
session required /lib64/security/pam_limits.so
session required pam_limits.so
11、修改/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
12、创建安装目录和设置文件权限
# mkdir /oracle/11.2.0 //数据库安装目录
# mkdir /oracle/oradata //数据文件目录
# mkdir /oracle/oradata_bak //数据库备份目录
# mkdir /home/oracle/inventory //清单目录
# chown -R oracle:oinstall /oracle
# chown -R oracle:oinstall /home/oracle/inventory
# chmod -R 755 /oracle
13、编辑静默安装文件
# su - oracle
$ cp -R /oracle/database/response /home/oracle //复制一份模板
$ cd /home/oracle/response
$ mv db_install.rsp db_install_swonly.rsp //因为下面的安装是只安装软件不安装启动数据库实例,所以改个名字以提示自己
$ vim db_install_swonly.rsp //开始修改这个安装响应文件
需要设置的选项如下:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 //系统生成的,不要修改
oracle.install.option=INSTALL_DB_SWONLY //只安装软件,不安装启动数据库
ORACLE_HOSTNAME=oracle11gCentOS6.dlxg.gov.cn //通过hostname命令获得
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/opt/oracle/11.2.0
ORACLE_BASE=/opt/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false oracle.install.db.customComponents=oracle.server:11.2.0.1.0, oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0,oracle.install.db.DBA_GROUP=dba,oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true //一定要设置为true
三、安装oracle软件
$ cd /oracle/database
$ ./runInstaller -silent -responseFile /home/oracle/response/db_install_swonly.rsp
安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行#tail -f /home/oracle/inventory/logs/installActions......log
可以实时跟踪查看安装日志,了解安装的进度。
当出现
以下配置脚本需要以 "root" 用户的身份执行。
#!/bin/sh
#要运行的 Root 脚本
/home/oracle/inventory/orainstRoot.sh
/oracle/11.2.0/root.sh
要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口
2. 以 "root" 身份登录
3. 运行脚本
4. 返回此窗口并按 "Enter" 键继续
Successfully Setup Software.
表示安装成功了。按照其提示操作。
使用root用户执行以上脚本
# /home/oracle/inventory/orainstRoot.sh
# /oracle/11.2.0/root.sh
四、安装数据库实例
1、编辑静默建库响应文件
$ cd /home/oracle/response
$ mv dbca.rsp dbca_fansik.rsp //改名为dbca_数据库名.rsp
2、配置监听
注:netca命令是oracle的bin目录下的命令,因此要配置好环境变量后才能使用:将/oracle/11.2.0/bin添加到.bash_profile中,然后重读source ~/bash_profile
$ netca /silent /responsefile /home/oracle/response/netca.rsp
正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /home/oracle/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/opt/oracle/11.2.0/bin/lsnrctl start LISTENER
监听程序控制完成。
监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0
成功运行后,在/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
通过netstat -tlnup | grep 1521命令,看到
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
说明监听器已经在1521端口上开始工作了。
3、安装数据库实例
修改/home/oracle/response/dbca_fansik.rsp,设置如下:
RESPONSEFILE_VERSION = "11.2.0" //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "master.fansik.com" //数据库的名字
SID = "fansik" //对应的实例名字
TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
SYSPASSWORD = "fanjinbao" //SYS管理员密码
SYSTEMPASSWORD = "fanjinbao" //SYSTEM管理员密码
DATAFILEDESTINATION = /oracle/oradata //数据文件存放目录
RECOVERYAREADESTINATION=/oracle/oradata_back //恢复数据存放目录
CHARACTERSET = "UFT8" //字符集,重要!!! 建库后可以更改。
TOTALMEMORY = "2048" //oracle内存2048MB
创建oracle数据库实例:
$dbca -silent -responseFile /home/oracle/response/dbca_fansik.rsp
执行以上命令后会有以下提示:
复制数据库文件
1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100% 已完成
有关详细信息, 请参阅日志文件 "/oracle/cfgtoollogs/dbca/master/master.log"。
数据库信息:
全局数据库名:master.fansik.com
系统标识符 (SID):fansik
五、查看oracle是否启动
查看oracle进程
$ ps -ef | grep oracle
查看监听状态
$ lsnrctl status
注意:如果未看到监听信息,是oracle环境变量的问题,去设置一下环境变量:
使用root用户去操作
# vim /etc/profile.d/oracle.sh加入如下内容:
export ORACLE_SID=fansik
export ORACLE_HOME=/oracle/11.2.0
export PATH=$ORACLE_HOME/bin:$PATH
重读配置文件:
# source /etc/profile
六、修改数据库为归档模式(归档模式才能热备份,增量备份)
$ sqlplus / as sysdba
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down
SQL> startup mount
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 494929912 bytes
Database Buffers 335544320 bytes
Redo Buffers 6590464 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
SQL> execute utl_recomp.recomp_serial();
PL/SQL procedure successfully completed.
SQL> alter system archive log current;
System altered.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
七、修改oracle启动配置文件
$ vim /etc/oratab
fansik:/oracle/11.2.0:Y
修改后边可以通过dbstart启动实例,可以通过dbshut关闭实例了:
关闭oracle进程
$ dbshut /oracle/11.2.0
启动oracle进程
$ dbstart /oracle/11.2.0
启动oracle后:如果使用:sqlplus / as sysdba登录时提示:
ERROR:
ORA-01031: insufficient privileges
解决办法:
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=fanjinbao entries=5 force=y
八、Oracle启动脚本,开机自启动设置
参考:http://www.cnblogs.com/fansik/p/5904355.html