设为首页 收藏本站
查看: 781|回复: 0

[经验分享] linux下centos静默安装oracle

[复制链接]

尚未签到

发表于 2017-12-10 15:47:08 | 显示全部楼层 |阅读模式
  Oracle11gR2静默安装
  Oracle11g静默安装-----linux环境
  1.操作系统及oracle版本
  Linux版本:CentOS release 6.5
  Oracle版本:1.ORACLE11G
              2.linux.x64_11gR2_database_1of2.zip
  下载地址:wget  http://v.yingsun.net/cobra/download/linux.x64_11gR2_database_1of2.zi              3.linux.x64_11gR2_database_2of2.zip
    下载地址:wget  http://v.yingsun.net/cobra/download/linux.x64_11gR2_database_2of2.zip  
  2.硬件检测
  物理内存不少于1G
  硬盘可以空间不少于5G
  Sqap分区空间不少于2G
  支持256色以上显卡
  Cpu主频不少于550mHZ
  cat   /etc/issue                          ---查看linux系统
  Uanme  -r                              
  Grep  MemTotal   /proc/meminfo
  Grep  SwapTotal   /proc/meminfo
  Grep  “model  name” /proc/cpuinfo
  Free  
  df  -k  /tmp
  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
  修改后,使设置生效
  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 = "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/oracle
  chown -R oracle:oinstall /u01/oracle
  chmod -R 775 /u01/oracle
  8.创建/etc/oraInst.loc文件,内容如下
  inventory_loc=/u01/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/oracle
  export ORACLE_SID=orcl
  注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH, LD_LIBRARY_PATH等)。
  使设置生效
  source  .bash_profile
  检查环境变量:
  env
  10.解压oracle安装文件
  unzip linux.x64_11gR2_database_1of2.zip
  unzip linux.x64_11gR2_database_2of2.zip
  11.复制响应文件模板
  mkdir etc
  cp /u01/oracle/database/response/*  /home/oracle/etc/
  设置响应文件权限
  su - root
  chmod 700 /home/oracle/etc/*.rsp(注意所有者,oinstall)
  12.静默安装Oracle软件
  su - oracle
  修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp
  oracle.install.option=INSTALL_DB_SWONLY      // 29 安装类型
  ORACLE_HOSTNAME=oracle                          // 37 主机名称(hostname查询)
  UNIX_GROUP_NAME=oinstall                       // 42 安装组
  INVENTORY_LOCATION=/home/oracle/oraInventory            //47 INVENTORY目录(不填就是默认值)  注意:这里inventory目录最好不要填写与oracle安装路径一致的目录,会报错
  SELECTED_LANGUAGES=en,zh_CN,zh_TW                         // 78 选择语言
  ORACLE_HOME=/u01/oracle/product/11.2.0/dbhome         // 83 oracle_home
  ORACLE_BASE=/u01/oracle                                           // 88 oracle_base
  oracle.install.db.InstallEdition=EE                               // 99 oracle版本
  oracle.install.db.isCustomInstall=false                     //自定义安装,否,使用默认组件
  oracle.install.db.DBA_GROUP=dba                        // 143 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=81920      // 200 自动管理内存的内存(M)
  oracle.install.db.config.starterdb.password.ALL=oracle      // 233 设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false        // 376(手动写了false)
  DECLINE_SECURITY_UPDATES=true                              // 385 设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
  开始静默安装
  cd /u01/oracle/database
  ./runInstaller  -silent  -force  -responseFile /home/oracle/etc/db_install.rsp
  这个命令,一直执行失败,失败错误:
DSC0000.png

  参考下面,我是直接加入了
  -ignorePrereq命令,就可以了。
[FATAL] [INS-13013] Target environment do not meet some mandatory requirements

上面的参考文章解决是:安装命令中加入选项-ignorePrereq

三、安装完毕遇到了,启动监听失败

一般情况下是 oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

hostname出错了,修改为ip 就可以解决
vim   /etc/hosts
172.19.60.193       oracle
服务器ip地址            主机名(hostname查看)

  从新修改安装命令:
  ./runInstaller -ignorePrereq  -silent -force -responseFile /home/oracle/etc/db_install.rsp
  报错:[FATAL] [INS-32035] Unable to create a new central inventory at the specified location.
  CAUSE: The central inventory location provided is not empty.
  ACTION: Please provide another location for the inventory, or clean up the current location.
  解决方法:
  vim /etc/oralnst.loc
inventory_loc=/home/oracle/oralnventory
inst_group=oinstall
  还有另一种错误,就是你已经加入了上边的文件内容,但是安装时还是报同样的错误。解决方法如下:
  进入到oracle安装目录
  cd /u01/oracle/
  ls查看下目录下有没有一个oralnventory文件(我估计这个文件是刚开始执行的时候然后保存下来的或者是以前安装时未删除干净的)
  如果有将这个文件目录删除掉rm -rf oraInventory/
  然后将/etc/oralnst.loc更改
[iyunv@oracle ~]# cat  /etc/oralnst.loc

  inventory_loc=/home/oracle/oralnventory
inst_group=oinstall
  执行下
  source /etc/oralnst.loc
  解决了问题,安装完成之后,就会出现如下界面:
   DSC0001.png
DSC0002.png

  安装完成之后 系统会提示我们用root用户运行如下两个脚本 。
[iyunv@oracle database]$ sh /u01/oracle/oralnventory/orainstRoot.sh

[iyunv@oracle ~]# sh /u01/oracle/product/11.2.0/dbhome/root.sh

  su - oracle
[oracle@oracle ~]$ cat .bash_profile

  # .bash_profile
  umask 022
  TMP=/u01/oracle/tmp
  TMPDIR=/u01/oracle/tmp
  export TMP TMPDIR
  # Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  # User specific environment and startup programs
  PATH=$PATH:$HOME/bin
  export PATH
  export ORACLE_BASE=/u01/oracle
  export ORACLE_SID=orcl
  export  ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome
  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
[oracle@oracle ~]$ source  .bash_profile

  静默配置网络
[oracle@oracle ~]$ /u01/oracle/product/11.2.0/dbhome/bin/netca  /silent /responseFile /home/oracle/etc/netca.rsp

  Parsing command line arguments:
  Parameter "silent" = true
  Parameter "responsefile" = /home/oracle/etc/netca.rsp
  Done parsing command line arguments.
  Oracle Net Services Configuration:
  Profile configuration complete.
  Oracle Net Listener Startup:
  Running Listener Control:
  /u01/oracle/product/11.2.0/dbhome/bin/lsnrctl start LISTENER
  Listener Control complete.
  Listener started successfully.
  Listener configuration complete.
  Oracle Net Services configuration successful. The exit code is 0  
  14.静默安装数据库
  静默安装数据库实例 (在oracle 用户安装)
  在这里需要配置静默安装数据库响应的模板文件,也是在安装软件包中解压在database下的response 目录下的 dbca_rsp 文件,具体配置如下:
[oracle@localhost response]# vim dbca.rsp

[GENERAL]

  RESPONSEFILE_VERSION = "11.2.0"
  OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]

  GDBNAME = "lanmao"           #全局数据库的名字
  SID = "orcl"                 # 数据库实例,根据上面的你写的SID 一样的,随便写。
  TEMPLATENAME = "General_Purpose.dbc"   #  这个可以是默认的模板,不会写默认的,最好是默认,
  这里是我们dba 写的,所以就用上了。
  SYSPASSWORD = "2011@oracle"
  SYSTEMPASSWORD = "2011@oracle"
  SYSMANPASSWORD = "2011@oracle"
  DBSNMPPASSWORD = "2011@oracle"   # 前面这四个都可以不管,默认就行
  CHARACTERSET = "ZHS16GBK"         #编码
  NATIONALCHARACTERSET=“UTF8”   #编码
[createTemplateFromDB]

  SOURCEDB = "myhost:1521:orcl"
  SYSDBAUSERNAME = "system"
  TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]

  SOURCEDB = "orcl"
  TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]

  SOURCEDB = "orcl"
[generateScripts]

  TEMPLATENAME = "New Database"
  GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]

[ADDINSTANCE]

  DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
  NODELIST=
  SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]

  DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
  INSTANCENAME = "orcl11g"
  SYSDBAUSERNAME = "sys"
  配置完模板之后,进行静默安装数据库
  $ORACLE_HOME/bin/dbca -silent -responseFile /db/soft/database/response/dbca.rsp
  等到100%安装完成之后就是安装了。
  有关详细信息, 请参阅日志文件  /u01/oracle/cfgtoollogs/dbca/lanmao/lanmao.log"。
  15.修改oracle启动配置文件
  su - oracle
  vi /etc/oratab
  orcl:/usr/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”
  这样就可以通过dbstart 启动此实例,监听器。
  dbstart $ORACLE_HOME
  此时所有oracle的进程关闭,监听器也停止。
  dbshut $ORACLE_HOME
  再次查看监听器状态。
  lsnrctl   start         ---启动监听
  lsnrctl status         ----查看监听
  如果使用归档日志
  Oracle”startup”时报错:
  ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/u01/oracle/product/11.2.0/dbhome/dbs/initorcl.ora'
  解决方法:
  /u01/oracle/product/11.2.0/dbhome/srvm/admin/init.ora
  cd   /u01/oracle/product/11.2.0/dbhome/srvm/admin
  init.ora /u01/oracle/product/11.2.0/dbhome/dbs/initorcl.ora
[oracle@localhost ~]$ sqlplus /nolog

  SQL> conn / as sysdba                ---进入系统管理用户
  SQL> startup ;                           ---启动oracle实例
  SQL> shutdown immediate;        ---停掉oracle实例
  SQL> create tablespace oracle datafile 'oracle.dbf' size 100M reuse, 'oracle2.dbs' size 100M reuse default storage (initial 500K next 300K pctincrease 20);                   ----创建表空间
  SQL> create user duan identified by "duan" default tablespace oracle profile default  account unlock;                                 -----创建用户
  SQL> grant dba to duan;                                                             ----授权用户dba权限
  Grant succeeded.
  SQL> grant unlimited tablespace to duan;                              
  Grant succeeded.
  SQL> create table z_test(id number,name varchar(20));               ----创建表
  SQL> insert into z_test select 1,'a' from dual;                               ---插入表数据
  SQL> select name from v$database;                                        ---查看实例名
  SQL> select username,default_tablespace from user_users;          ---查看当权用户所在表空间
  select table_name from all_tables where TABLESPACE_NAME='表空间'                                  ---查看表空间中的所有表(表空间名字一定要大写。)
  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; (手工归档测试)
  )
  select table_name from dba_tables;
  成功!!!
  通过sql查询日志文件位置
  SQL> show parameter dump_dest  
  NAME                                 TYPE  
  ·------------------------------------ ----------------------  
  ·  VALUE  
  ·  ------------------------------  
  ·  background_dump_dest                 string  
  ·  /home/oracle/oracle/admin/TESTDB/bdump  
  ·  core_dump_dest                       string  
  ·  /home/oracle/oracle/admin/TESTDB/cdump  
  ·  user_dump_dest                       string  
  ·  /home/oracle/oracle/admin/TESTDB/udump

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-422703-1-1.html 上篇帖子: Oracle批量插入数据 下篇帖子: Oracle 11g RAC 自动应用PSU补丁简明版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表