RHEL6.4 x86_64静默安装Oracle 11g r2
1 安装环境
操作系统:CetnOS6.4 x86_64
数据库版本:oracle 11g r2
2 准备工作
root用户登录后
unzip linux.x64_11gR2_database_1of2.zip #解压 unzip linux.x64_11gR2_database_2of2.zip
在/etc/hosts文件中增加主机名(通过hostname获得)到回环IP的映射如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.150 rhel
3 安装必须的包
yum install gcc yum install make yum install binutils yum install gcc-c++ yum install compat-libstdc++-33 yum install elfutils-libelf-devel yum install elfutils-libelf-devel-static yum install ksh yum install libaio yum install libaio-devel yum install numactl-devel yum install sysstat yum install unixODBC yum install unixODBC-devel yum install pcre-devel
4 准备安装用户及用户组
groupadd oinstall groupadd dba useradd -g oinstall -G dba -d /home/oracle oracle passwd oracle #设置oracle密码
5 修改内核参数配置文件
#vim /etc/sysctl.conf 在文件最后增加
fs.aio-max-nr = 1048576 fs.file-max = 6553600 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
保存文件。输入命令:
modprobe bridge lsmod | grep bridge /sbin/sysctl -p #让参数生效
6 修改用户的限制文件
#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
保存文件。
修改/etc/pam.d/login文件,增加如下:
session required /lib64/security/pam_limits.so session required pam_limits.so
修改/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
7 创建安装目录和设置文件权限
mkdir /home/oracle/oracle_base mkdir /home/oracle/oracle_base/product/11.2.0/dbhome_1 #数据库系统安装目录 mkdir /home/oracle/oracle_base/oradata #数据库数据安装目录 mkdir /home/oracle/oracle_base/flash_recovery_area #数据备份目录 mkdir /home/oracle/oraInventory #清单目录 chown -R oracle:oinstall /home/oracle/oracle_base chown -R oracle:oinstall /home/oracle/oraInventory chmod -R 775 /home/oracle/oracle_base
8 编辑静默安装响应文件
su - oracle #复制一份模板 cp -R /opt/database/response /home/oracle cd /home/oracle #因为下面的安装是只安装软件不安装启动数据库实例,所以改个名字以提示自己 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=rhel //通过hostname命令获得 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/home/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/home/oracle/oracle_base/product/11.2.0/dbhome_1 ORACLE_BASE=/home/oracle/oracle_base 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 11g r2 config export ORACLE_SID=wilson export ORACLE_UNQNAME=wilson export ORACLE_BASE=/home/oracle/oracle_base export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ORACLE_HOME/lib export ORACLE_HOME=/home/oracle/oracle_base/product/11.2.0/dbhome_1 export ORACLE_HOME_LISTNER=$ORACLE_HOME export NLS_LANG="AMERICAN.AL32UTF8" PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin umask 022 export PATH
9 根据响应文件安装oracle
cd /home/oracle/database ./runInstaller -silent -responseFile /home/oracle/response/db_install_swonly.rsp
安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行
tail -100f /home/oracle/inventory/logs/installActions......log
可以实时跟踪查看安装日志,了解安装的进度。
当出现
以下配置脚本需要以 "root" 用户的身份执行。
#!/bin/sh #要运行的 Root 脚本 /home/oracle/oraInventory/orainstRoot.sh /home/oracle/oracle_base/product/11.2.0/dbhome_1 /root.sh
要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口
2. 以 "root" 身份登录
3. 运行脚本
4. 返回此窗口并按 "Enter" 键继续
Successfully Setup Software.
表示安装成功了。按照其提示操作。
10 编辑静默建库响应文件
cd /home/oracle mv dbca.rsp dbca_hello.rsp #改名为dbca_数据库名.rsp
11 静默配置监听
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
成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
通过netstat -tlnp 命令,看到
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
说明监听器已经在1521端口上开始工作了。
12 静默建立新库(同时也建立一个对应的实例)
修改/home/oracle/database/response/dbca.rsp,设置如下:
RESPONSEFILE_VERSION = "11.2.0" //不能更改 OPERATION_TYPE = "createDatabase" GDBNAME = "wilson" //数据库的名字 SID = "wilson" //对应的实例名字 TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件 SYSPASSWORD = "l1997628" //SYS管理员密码 SYSTEMPASSWORD = " l1997628 " //SYSTEM管理员密码 DATAFILEDESTINATION = /home/oracle/oracle_base/oradata //数据文件存放目录 RECOVERYAREADESTINATION= /home/oracle/oracle_base/flash_recovery_area //恢复数据存放目录 CHARACTERSET = "AL32UTF8" //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。 TOTALMEMORY = "5120" //oracle内存5120MB
静默建库命令如下
dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
复制数据库文件
1% 已完成 3% 已完成 11% 已完成 18% 已完成 26% 已完成 37% 已完成 正在创建并启动 Oracle 实例 40% 已完成 45% 已完成 50% 已完成 55% 已完成 56% 已完成 60% 已完成 62% 已完成 正在进行数据库创建 66% 已完成 70% 已完成 73% 已完成 85% 已完成 96% 已完成 100% 已完成
有关详细信息, 请参阅日志文件 "/opt/oracle/oracle_base/cfgtoollogs/dbca/wilson/wilson.log"。
查看日志文件
cat /opt/oracle/oracle_base/cfgtoollogs/dbca/wilson/wilson.log
复制数据库文件
DBCA_PROGRESS : 1% DBCA_PROGRESS : 3% DBCA_PROGRESS : 11% DBCA_PROGRESS : 18% DBCA_PROGRESS : 26% DBCA_PROGRESS : 37% 正在创建并启动 Oracle 实例 DBCA_PROGRESS : 40% DBCA_PROGRESS : 45% DBCA_PROGRESS : 50% DBCA_PROGRESS : 55% DBCA_PROGRESS : 56% DBCA_PROGRESS : 60% DBCA_PROGRESS : 62% 正在进行数据库创建 DBCA_PROGRESS : 66% DBCA_PROGRESS : 70% DBCA_PROGRESS : 73% DBCA_PROGRESS : 85% DBCA_PROGRESS : 96% DBCA_PROGRESS : 100% [code lang="bash"] 数据库创建完成。有关详细信息, 请查看以下位置的日志文件: /opt/oracle/oracle_base/cfgtoollogs/dbca/wilson/wilson.log 数据库信息: 全局数据库名:wilson 系统标识符 (SID):wilson 建库后实例检查: [code lang="bash"] ps -ef | grep ora_ | grep -v grep | wc -l 21 ps -ef | grep ora_ | grep -v grep
查看监听状态
lsnrctl status
13 修改数据库为归档模式(归档模式才能热备份,增量备份)
$ 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 log current; SQL> exit
14 修改oracle启动配置文件
vi /etc/oratab wilson:/home/oracle/oracle_base/product/11.2.0/dbhome_1:Y
这样就可以通过dbstart 启动此实例,也可以通过dbshut关闭此实例了。
dbshut /home/oracle/oracle_base/product/11.2.0/dbhome_1
Processing Database instance "wilson": log file /home/oracle/oracle_base/product/11.2.0/dbhome_1/shutdown.log
此时所有oracle的进程关闭,监听器也停止。
dbstart /home/oracle/oracle_base/product/11.2.0/dbhome_1
Processing Database instance "wilson": log file /home/oracle/oracle_base/product/11.2.0/dbhome_1 /startup.log
此时监听器工作,wilson实例运行,再次查看监听器状态。
lsnrctl status
15 建立表空间及用户
创建临时表空间
create temporary tablespace user_temp tempfile '/opt/oracle/oradata/hello/user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
创建数据表空间
create tablespace user_data logging datafile '/opt/oracle/oradata/hello/user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
创建用户并指定表空间
create user test identified by test default tablespace user_data temporary tablespace user_temp account unlock;
给用户授予权限
grant connect,resource to test;
此时在其他机器上可以远程登录这个用户,命令为:
sqlplus test/test@192.168.1.150/wilson
16 用新建的用户连接数据库
sqlplus test/test@192.168.1.150/wilson
除非注明,戊辰人博客文章均为原创,转载请以链接形式标明本文地址
非常不错,完全可用
如有错误,欢迎指正