共计 6770 个字符,预计需要花费 17 分钟才能阅读完成。
一、环境准备环境
操作系统: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.linuxidc.com/Linux/2017-01/139998.htm
更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139999.htm