• 博客访问: 1540596
  • 博文数量: 105
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-22 16:38
  • 认证徽章:
个人简介

曾就职于铁道科学研究院,太极计算机公司,合力中税。负责过国家电网数据库部署、迁移、升级、灾备等实施规划工作。大唐发电厂、北京市公安局数据库运维及优化工作。现任金融工场高级DBA岗位,负责oracle、mysql数据库相关工作。拥有Oracle技术10g/11g的 OCP与OCM认证,Oracle YEP成员,OCM联盟成员。

文章分类

全部博文(105)

文章存档

2018年(3)

2017年(12)

2016年(17)

2015年(46)

2014年(18)

2013年(9)

分类: Oracle

2018-03-14 18:12:00

一、前期准备
1.硬件检查

  1. cat /etc/issue
  2. uname -r (版本)
  3. grep MemTotal /proc/meminfo (内存大小)
  4. grep SwapTotal /proc/meminfo (交换区大小)
  5. grep "model name" /proc/cpuinfo (CPU信息)
  6. free (可用内存)

2.检查依赖包

  1. [root@dgc ~]# 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
  2. binutils-2.20.51.0.2-5.42.el6.x86_64
  3. package compat-libstdc++-33 is not installed
  4. elfutils-libelf-0.158-3.2.el6.x86_64
  5. package elfutils-libelf-devel is not installed
  6. gcc-4.4.7-11.el6.x86_64
  7. package gcc-c++ is not installed
  8. package glibc-2.5 is not installed
  9. glibc-common-2.12-1.149.el6.x86_64
  10. glibc-devel-2.12-1.149.el6.x86_64
  11. glibc-headers-2.12-1.149.el6.x86_64
  12. package ksh is not installed
  13. libaio-0.3.107-10.el6.x86_64
  14. package libaio-devel is not installed
  15. libgcc-4.4.7-11.el6.x86_64
  16. libstdc++-4.4.7-11.el6.x86_64
  17. package libstdc++-devel is not installed
  18. make-3.81-20.el6.x86_64
  19. sysstat-9.0.4-27.el6.x86_64
  20. unixODBC-2.2.14-14.el6.x86_64
  21. package unixODBC-devel is not installed

3.创建所需的操作系统组和用户

  1. groupadd oinstall
  2. groupadd dba
  3. groupadd oper
  4. useradd -g oinstall -G dba oracle
  5. passwd oracle

4.创建安装目录及权限

  1. mkdir -p /app/oracle
  2. chown -R oracle.oinstall /app/oracle

5.修改内核参数

  1. vi /etc/sysctl.conf
  2. fs.aio-max-nr = 1048576
  3. fs.file-max = 6815744
  4. kernel.shmall = 2097152
  5. kernel.shmmax = 4294967295
  6. kernel.shmmni = 4096
  7. kernel.sem = 250 32000 100 128
  8. net.ipv4.ip_local_port_range = 9000 65500
  9. net.core.rmem_default = 262144
  10. net.core.rmem_max = 4194304
  11. net.core.wmem_default = 262144
  12. net.core.wmem_max = 1048576
  13. sysctl -p

6.修改用户限制

  1. vi /etc/security/limits.conf
  2. #for oracle
  3. oracle soft nproc 2047
  4. oracle hard nproc 16384
  5. oracle soft nofile 1024
  6. oracle hard nofile 65536

  7. vi /etc/pam.d/login
  8. session required /lib/security/pam_limits.so

7.创建/etc/oraInst.loc文件,内容如下

  1. nventory_loc=/app/oracle/oraInventory
  2. inst_group=oinstall

更改文件的权限

  1. chown oracle:oinstall /etc/oraInst.loc
  2. chmod 664 /etc/oraInst.loc

8.设置oracle环境变量

  1. vi /home/oracle/.bash_profile
  2. export PATH
  3. export TMP=/tmp
  4. export TMPDIR=$TMP
  5. export ORACLE_BASE=/app/oracle
  6. export ORACLE_HOME=$ORACLE_BASE/product/11204/db
  7. export ORACLE_SID=orcl
  8. export ORACLE_TERM=xterm
  9. export PATH=/usr/sbin:$PATH
  10. export PATH=$ORACLE_HOME/bin:$CRS_HOME/bin:$PATH
  11. export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
  12. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  13. umask 022

9.使设置生效

  1. source /home/oracle/.bash_profile
10.配置hosts文件

  1. vi /etc/hosts
  2. 10.102.98.231 adgc

注:
同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行 "xhost + 你的ip:0.0"


二、实施部署
1.解压oracle安装文件

  1. unzip linux.x64_11gR2_database_1of2.zip
  2. unzip linux.x64_11gR2_database_2of2.zip

2.复制响应文件模板,设置响应文件权限(注意调整个人环境路径 )

  1. mkdir $ORACLE_BASE/etc
  2. cp /backup/software/database/response/* /app/oracle/etc/
  3. su - root
  4. chmod 700 /app/oracle/etc/*.rsp(注意所有者为 oinstall)

3.静默安装Oracle软件
(1)修改安装Oracle软件的响应文件/app/oracle/etc/db_install.rsp (可根据里面的配置提示来操作,下面是一些常用配置,作为参考)
oracle.install.option=INSTALL_DB_SWONLY // 安装类型
ORACLE_HOSTNAME=dgc // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/app/oracle/oraInventory //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
ORACLE_HOME=/app/oracle/product/11204/db_1 // oracle_home
ORACLE_BASE=/app/oracle // oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba // dba用户组
oracle.install.db.OPER_GROUP=oinstall // oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID
oracle.install.db.config.starterdb.memoryLimit=32768 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码

注:
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false)
DECLINE_SECURITY_UPDATES=true  //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)

(2)开始静默安装

  1. [root@dgc database]# su - oracle
  2. [root@dgc oracle]# cd /backup/software/database/
  3. [oracle@dgc database]$ ./runInstaller -silent -responsefile /app/oracle/etc/db_install.rsp
  4. 正在启动 Oracle Universal Installer...

  5. 检查临时空间: 必须大于 120 MB。 实际为 725253 MB 通过
  6. 检查交换空间: 必须大于 150 MB。 实际为 32279 MB 通过
  7. 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2018-03-12_06-24-28PM. 请稍候...[oracle@dgc database]$ [WARNING] [INS-13014] 目标环境不满足一些可选要求。
  8.    原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。/app/oracle/oraInventory/logs/installActions2018-03-12_06-24-28PM.log
  9.    操作: 从日志 /app/oracle/oraInventory/logs/installActions2018-03-12_06-24-28PM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。
  10. 可以在以下位置找到本次安装会话的日志:
  11.  /app/oracle/oraInventory/logs/installActions2018-03-12_06-24-28PM.log
  12. Oracle Database 11g 的 安装 已成功。
  13. 请查看 '/app/oracle/oraInventory/logs/silentInstall2018-03-12_06-24-28PM.log' 以获取详细资料。

  14. 以 root 用户的身份执行以下脚本:
  15.         1. /app/oracle/product/11204/db_1/root.sh

  16. Successfully Setup Software.

(3)以 root 用户的身份执行脚本/app/oracle/product/11204/db_1/root.sh


(4)另一种方式,直接使用命令加参数方式安装

  1. $ ./runInstaller -silent -debug -force \
  2. FROM_LOCATION=/backup/software/database/stage/products.xml \
  3. oracle.install.option=INSTALL_DB_SWONLY \
  4. UNIX_GROUP_NAME=oinstall \
  5. INVENTORY_LOCATION=/app/oracle/oraInventory \
  6. ORACLE_HOME=/app/oracle/product/11204/db_1 \
  7. ORACLE_HOME_NAME="OraDb11g_Home" \
  8. ORACLE_BASE=/app/oracle \
  9. oracle.install.db.InstallEdition=EE \
  10. oracle.install.db.isCustomInstall=false \
  11. oracle.install.db.DBA_GROUP=dba \
  12. oracle.install.db.OPER_GROUP=dba \
  13. DECLINE_SECURITY_UPDATES=true

  14. … …
  15. 结束时会出现
  16. Oracle Database 11g 的 安装 已成功。
  17. 请查看 '/app/oracle/oraInventory/logs/silentInstall2018-03-12_05-28-14PM.log' 以获取详细资料。

(5)以 root 用户的身份执行脚本/app/oracle/product/11204/db_1/root.sh

  1. [root@dgc tmp]# /app/oracle/product/11204/db_1/root.sh
  2. Check /app/oracle/product/11204/db_1/install/root_dgc_2018-03-12_17-31-43.log for the output of root script


4.静默安装DB
(1)编辑配置文件dbca.rsp (可根据里面的配置提示来操作,下面是一些常用配置,作为参考)
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = "AL32UTF8"  /* Default value US7ASCII */


(2)安装DB

  1. [oracle@dgc ~]$ dbca -silent -responsefile /app/oracle/etc/dbca.rsp


报错:  模板 new_orcl.dbc 不存在。请为数据库创建操作指定现有模板。
安装模版所在位置:

  1. [oracle@dgc ~]$ cd /app/oracle/product/11204/db_1/assistants/dbca/templates
  2. [oracle@dgc templates]$ ls
  3. Data_Warehouse.dbc example.dmp New_Database.dbt Seed_Database.dfb
  4. example01.dfb General_Purpose.dbc Seed_Database.ctl

  5. [oracle@dgc etc]$ dbca -silent -responsefile /app/oracle/etc/dbca.rsp
  6. 输入 SYS 用户口令:
  7.  
  8. 输入 SYSTEM 用户口令:
  9.   
  10. 复制数据库文件
  11. 1% 已完成
  12. 3% 已完成
  13. 11% 已完成
  14. 18% 已完成
  15. 26% 已完成
  16. 37% 已完成
  17. 正在创建并启动 Oracle 实例
  18. 40% 已完成
  19. 45% 已完成
  20. 50% 已完成
  21. 55% 已完成
  22. 56% 已完成
  23. 60% 已完成
  24. 62% 已完成
  25. 正在进行数据库创建
  26. 66% 已完成
  27. 70% 已完成
  28. 73% 已完成
  29. 85% 已完成
  30. 96% 已完成
  31. 100% 已完成
  32. 有关详细信息, 请参阅日志文件 "/app/oracle/cfgtoollogs/dbca/orcl/orcl.log"

5.安装配置网络监听
(1)安装监听

  1. [oracle@dgc etc]$ netca -silent -responsefile /app/oracle/etc/netca.rsp

  2. 正在对命令行参数进行语法分析:
  3. 参数"silent" = true
  4. 参数"responsefile" = /app/oracle/etc/netca.rsp
  5. 完成对命令行参数进行语法分析。
  6. Oracle Net Services 配置:
  7. 完成概要文件配置。
  8. Oracle Net 监听程序启动:
  9.     正在运行监听程序控制:
  10.       /app/oracle/product/11204/db_1/bin/lsnrctl start LISTENER
  11.     监听程序控制完成。
  12.     监听程序已成功启动。
  13. 监听程序配置完成。
  14. 成功完成 Oracle Net Services 配置。退出代码是0

(2)检查监听状态

  1. [oracle@dgc etc]$ lsnrctl status

  2. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-MAR-2018 19:50:19

  3. Copyright (c) 1991, 2013, Oracle. All rights reserved.

  4. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
  5. STATUS of the LISTENER
  6. ------------------------
  7. Alias LISTENER
  8. Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  9. Start Date 12-MAR-2018 19:49:58
  10. Uptime 0 days 0 hr. 0 min. 21 sec
  11. Trace Level off
  12. Security ON: Local OS Authentication
  13. SNMP OFF
  14. Listener Parameter File /app/oracle/product/11204/db_1/network/admin/listener.ora
  15. Listener Log File /app/oracle/diag/tnslsnr/dgc/listener/alert/log.xml
  16. Listening Endpoints Summary...
  17.   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  18.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dgc)(PORT=1521)))
  19. The listener supports no services
  20. The command completed successfully

(3)增加tnsnames.ora文件

  1. [oracle@dgc admin]$ cat tnsnames.ora
  2. # tnsnames.ora Network Configuration File: /home/app/oracle/product/11.2.0/db/network/admin/tnsnames.ora
  3. # Generated by Oracle configuration tools.

  4. orcl =
  5.   (DESCRIPTION =
  6.     (ADDRESS = (PROTOCOL = TCP)(HOST = dgc)(PORT = 1521))
  7.     (CONNECT_DATA =
  8.       (SERVER = DEDICATED)
  9.       (SERVICE_NAME = orcl)
  10.     )
  11.   )


(4)测试连接

  1. [oracle@dgc admin]$ sqlplus sys/oracle@orcl as sysdba

  2. SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 12 23:00:54 2018

  3. Copyright (c) 1982, 2013, Oracle. All rights reserved.


  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  7. SQL> exit
  8. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  9. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  10. [oracle@dgc admin]$

(5)检查并修改数据库参数(根据情况而定)
例如: memory_max_target, sga_max_size, processes, pga_aggregate_target 等等

  1. SYS@orcl > alter system set processes=1000 scope=spfile;
  2. System altered.

  3. SYS@orcl > alter system set sga_max_size=20g scope=spfile;
  4. System altered.

  5. SYS@orcl > alter system set sga_target=20g scope=spfile;
  6. System altered.

  7. SYS@orcl > alter system set pga_aggregate_target=6g scope=spfile;
  8. System altered.

  9. SYS@orcl > alter system set nls_time_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
  10. System altered.

三、总结
    安装结束了,早就想做这个实验了,就是一直犯懒,2018年不能再这样懒下去了。静默安装分为3步,分别是安装软件,建立数据库,配置监听。个人感觉分开弄比较好,也是前辈提倡的步骤,因为这样可以在出现问题时,很容易定位,并且做好一步是一步,比如软件安装好了,建立数据库时出错时,软件就不用重新安装了,只是找到原因,重新建立数据库即可。还有就是可以选择使用rsp响应文件或者直接命令方式,后面直接写上想着配置参数。最后一点就是要注意在安装后记得检查修改参数,因为一但数据库投入运行再发现参数不正确,修改就显得被动了。最后还是给自己打打气,2017未实现的,希望能在2018实现,加油!Where there is a will there is a way.





阅读(1895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册