当前位置:   article > 正文

Linux静默安装Oracle12c

Linux静默安装Oracle12c
  1. 环境
    1. Linux系统:Centos7
    2. Oracle版本:12.2.0.1
  2. 安装包下载
    1. 官网下载:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html
    2. 百度网盘下载:
      1. rpm安装包下载链接:百度网盘 请输入提取码 提取码:mk59
      2. oracle安装包下载链接:百度网盘 请输入提取码 提取码:wgq4
  3. 配置yum源
    1. yum clean all && yum makecache
  4. 关闭selinux&iptables
    1. vim /etc/selinux/config
      1. SELINUX=disabled
    2. service iptables stop
  5. 安装oracle依赖包关系
    1. yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686
    2. 也可以自行下载rpm安装包进行安装安装
  6. 修改内核参数
    1. 内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl -p命令使新配置立即生效。
    2. vim /etc/sysctl.conf 请根据自己实际情况修改,内核参数如下
  1. fs.file-max = 6815744
  2. kernel.sem = 250 32000 100 128
  3. kernel.shmmni = 4096
  4. kernel.shmall = 1073741824
  5. kernel.shmmax = 4398046511104
  6. kernel.panic_on_oops = 1
  7. net.core.rmem_default = 262144
  8. net.core.rmem_max = 4194304
  9. net.core.wmem_default = 262144
  10. net.core.wmem_max = 1048576
  11. fs.aio-max-nr = 1048576
  12. net.ipv4.ip_local_port_range = 9000 65500
    1. /sbin/sysctl -p 刷新内核参数表
  1. 修改内核限制参数
    1. vim /etc/security/limits.d/20-nproc.conf
  1. oracle soft nofile 1024
  2. oracle hard nofile 65536
  3. oracle soft nproc 16384
  4. oracle hard nproc 16384
  5. oracle soft stack 10240
  6. oracle hard stack 32768
  7. oracle hard memlock 134217728
  8. oracle soft memlock 134217728
  1. 创建oracle帐号和组
      1. groupadd -g 54321 oinstall
      2. groupadd -g 54322 dba
      3. groupadd -g 54323 oper
      4. useradd -u 54321 -g oinstall -G dba,oper oracle
      5. passwd oracle
  2. 创建相关数据库目录
      1. mkdir /u01
      2. mkdir /u01/app
      3. mkdir -p /u01/app/oracle/oradata //存放数据库的数据目录
      4. mkdir -p /u01/app/oracle/oradata_back //存放数据库备份文件
      5. chmod -R 775 /u01/app
      6. chown -R oracle:oinstall /u01
  3. 修改oracle环境变量
    1. vim etc/oracle/.base_profile
  1. export TMP=/tmp #日志存放位置
  2. export TMPDIR=$TMP
  3. export ORACLE_HOSTNAME=iZ8vb4546h4wxkqejoq5i8Z #主机名,hostname可查看主机名,如果主机名错误会导致安装失败
  4. export ORACLE_UNQNAME=cdb1 #库名称
  5. export ORACLE_BASE=/u01/app/oracle
  6. export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
  7. export ORACLE_SID=cdb1 #库名称
  8. export PATH=/usr/sbin:$PATH
  9. export PATH=$ORACLE_HOME/bin:$PATH
  10. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  11. export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  12. export PATH=/usr/sbin:$PATH
  13. export PATH=$ORACLE_HOME/bin:$PATH
  14. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  15. export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  • source home/oracle/.bash_profile
  • 上传Oracle12c安装包至/opt目录下
  • 解压oracle二进制包至/u01目录下 (解压的目录默认名为database)
      1. unzip Oracle_12C_liunx_64.zip -d /u01
      2. chown -R oracle:oinstall /u01
  • 修改配置文件
    1. 参考文件:oracle静默安装文件db_install.rsp详解-bobower-ChinaUnix博客
    2. vim /u01/database/response/db_install.rsp
  1. oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
  2. oracle.install.option=INSTALL_DB_SWONLY //30行安装类型,只装数据库软件
  3. UNIX_GROUP_NAME=oinstall //35行
  4. INVENTORY_LOCATION=/u01/app/oracle/oraInventory //42行INVENTORY目录(不填就是默认值)
  5. ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1 //46行oracle目录
  6. ORACLE_BASE=/u01/app/oracle //51行
  7. oracle.install.db.InstallEdition=EE //63行oracle版本
  8. oracle.install.db.OSDBA_GROUP=dba //80行
  9. oracle.install.db.OSOPER_GROUP=oper //86行 自定义安装,否,使用默认组件
  10. oracle.install.db.OSBACKUPDBA_GROUP=dba //91行
  11. oracle.install.db.OSDGDBA_GROUP=dba //96行
  12. oracle.install.db.OSKMDBA_GROUP=dba //101行
  13. oracle.install.db.OSRACDBA_GROUP=dba //106行
  14. oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //180行数据库类型
  15. oracle.install.db.config.starterdb.globalDBName=cdb1 //185行
  16. oracle.install.db.config.starterdb.SID=cdb1 //190行
  17. oracle.install.db.config.starterdb.characterSet=AL32UTF8 //216行
  18. SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //386行
  19. DECLINE_SECURITY_UPDATES=true //398行
  1. 切换至oracle用户开始安装
      1. cd /u01/database
      2. ./runInstaller -force -silent -noconfig -ignorePrereq -responseFile /u01/database/response/db_install.rsp
  1. Starting Oracle Universal Installer...
  2. Checking Temp space: must be greater than 500 MB. Actual 61072 MB Passed
  3. Checking swap space: must be greater than 150 MB. Actual 511 MB Passed
  4. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2022-12-13_11-17-36AM. Please wait ...You have mail in /var/spool/mail/root
  5. [oracle@iZ8vb4546h4wxkqejoq5i8Z database]$ [WARNING] [INS-32055] The Central Inventory is located in the Oracle base.
  6. ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory.
  7. You can find the log of this install session at:
  8. /u01/app/oracle/oraInventory/logs/installActions2022-12-13_11-17-36AM.log
      1. 报错Checking swap space: 0 MB available, 150 MB required. Failed
      2. 解决方案(切换至root用户,修改完成之后切换至oracle用户)
        1. 检查 Swap 空间在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。运行以下命令
          1. swapon -s
          2. 如果返回的信息概要是空的,则表示 Swap 文件不存在
        2. 检查文件系统在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令
          1. df -hal
        3. 创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可。
          1. dd if=/dev/zero of=/swapfile bs=1024 count=512k
            1. 报错dd: failed to open ‘/swapfile’: Permission denied
            2. 这是权限被拒绝了,需要切换到root用户
          2. 参数解读:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >bs=bytes:同时设置读入/输出的块大小为bytes个字节count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
        4. 格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用
          1. mkswap /swapfile
        5. 激活 Swap ,运行命令:
          1. swapon /swapfile
        6. 以上步骤做完,再次运行命令:
          1. swapon -s
          2. 你会发现返回的信息概要:
          3. Filename Type Size Used Priority

                                                                /swapfile file 524284 0 -1

        1. 如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行
          1. /swapfile swap swap defaults 0 0
        2. 最后,赋予 Swap 文件适当的权限:
          1. chown root:root /swapfile

                                                        chmod 0600 /swapfile

    1. 可以边安装边看日志
      1. tail -f /u01/app/oracle/oraInventory/logs/installActions2022-12-13_11-17-36AM.log
    2. 安装完成
  1. As a root user, execute the following script(s):
  2. 1. /u01/app/oracle/oraInventory/orainstRoot.sh
  3. 2. /u01/app/oracle/product/12.2.0.1/db_1/root.sh
  4. Successfully Setup Software.
  1. 切换至root用户
    1. 执行脚本
      1. /u01/app/oracle/oraInventory/orainstRoot.sh
      2. /u01/app/oracle/product/12.2.0.1/db_1/root.sh
  2. 静默配置监听,切换至oracle用户
    1. netca -silent -responsefile /u01/database/response/netca.rsp
      1. netca命令是oracle提供的命令,如果显示找不到命令请检查环境变量
  3. 通过netstat -tlnp 命令查看监听地址
    1. tcp6 0 0 :::1521 :::* LISTEN 3145/tnslsnr
  4. 静默建立新库
    1. vim /u01/database/response/dbca.rsp
  1. responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0 //21行不可更改
  2. gdbName=cdb1 //32
  3. sid=cdb1 //42
  4. databaseConfigType=SI //52
  5. policyManaged=false //74
  6. createServerPool=false //88
  7. force=false //127
  8. createAsContainerDatabase=true //163
  9. numberOfPDBs=1 //172
  10. pdbName=cdb1pdb //182
  11. useLocalUndoForPDBs=true //192
  12. templateName=/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/templates/General_Purpose.dbc //223
  13. emExpressPort=5500 //273
  14. runCVUChecks=false //284
  15. omsPort=0 //313
  16. dvConfiguration=false //341
  17. olsConfiguration=false //391
  18. datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/ //401
  19. datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/ //411
  20. recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME} //421
  21. storageType=FS //431
  22. characterSet=AL32UTF8 //468字符集创建库之后不可更改
  23. nationalCharacterSet=AL16UTF16 //478
  24. registerWithDirService=false //488
  25. listeners=LISTENER //526
  26. variables=DB_UNIQUE_NAME=cdb1,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=cdb1,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=cdb1 //546
  27. initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_CDB1,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300 //555 可修改
  28. sampleSchema=false //565
  29. memoryPercentage=40 //574
  30. databaseType=MULTIPURPOSE //584
  31. automaticMemoryManagement=true //594
  32. totalMemory=0 //604
    1. cd /u01/database
    2. dbca -silent -createDatabase -responseFile /u01/database/response/dbca.rsp
      1. 报错:[FATAL] [DBT-11211] The Automatic Memory Management option is not allowed when the total physical memory is greater than 4GB.
      2. 解决方案,将dbca.rsp配置文件中的automaticMemoryManagement=true改为automaticMemoryManagement=FALSE
  • 数据库操作
    1. sqlplus / as sysdba //登录数据库
    2. select open_mode from v$database;
    3. select status from v$instance;
    4. alter user sys identified by oracle; //改sys超级管理员密码
    5. alter user system identified by oracle; //改system管理员密码
    6. exit // 退出数据库
    7. sqlplus sys/oracle as sysdba //使用sys超级管理员登录数据库
    8. startup // 启动数据库
    9. Select name from v$database; //查看数据库
    10. Shutdown abort //关闭数据库
    11. conn system/oracle //切换用户conn后面直接跟用户名和密码就可以
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/624617
推荐阅读
相关标签
  

闽ICP备14008679号