IT评测·应用市场-qidao123.com

标题: 实验小记之Linux上的Oracle11gR2单实例静默安装和建库 [打印本页]

作者: 守听    时间: 2023-5-6 18:06
标题: 实验小记之Linux上的Oracle11gR2单实例静默安装和建库
说明:本文的所有步骤不适用于生产环境,仅用于个人测试环境的快速部署和学习,下述操作过程在Oracle Linux 7.9上安装Oracle 11.2.0.4单实例为例。
1 安装环境检查

安装环境的检查可以参考官方文档Oracle Database Quick Installation Guide for Linux x86-64。由于是测试环境,本文仅检查:
2 安装环境准备

2.1 准备Oracle用户和目录

使用root用户创建软件安装目录/u01/app/oracle/product/11.2.0.4/db_1,创建oinstall、dba、oper用户组,创建oracle用户,并且为oracle用户设置密码。
  1. groupadd -g 1300 oinstall
  2. groupadd -g 1301 dba
  3. groupadd -g 1302 oper
  4. useradd -u 1300 -g oinstall -G dba,oper -s /bin/bash oracle
  5. mkdir -p /u01/app/oracle/product/11.2.0.4/db_1
  6. chown -R oracle.oinstall /u01
  7. passwd oracle
复制代码
2.2 检查和安装所需的RPM包

  1. rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils compat-db compat-libcap1 compat-libstdc++-33 control-center elfutils-libelf-devel gcc gcc-c++ glibc-common glibc glibc-devel glibc-headers ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libgomp libXp make sysstat unzip
复制代码
  1. [root@oracle11g ~]# cat /etc/yum.repos.d/oracle-linux-ol7.repo
  2. [ol7_latest]
  3. name=Oracle Linux $releasever Latest ($basearch)
  4. baseurl=file:///media/OEL79
  5. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
  6. gpgcheck=1
  7. enabled=1
  8. [root@oracle11g ~]# df -h | grep OEL
  9. /dev/sr0             4.6G  4.6G     0 100% /media/OEL79
  10. [root@oracle11g ~]# yum makecache
  11. Loaded plugins: ulninfo
  12. ol7_latest                                                                                                     | 3.6 kB  00:00:00     
  13. Metadata Cache Created
复制代码
  1. yum install binutils compat-db compat-libcap1 compat-libstdc++-33 control-center elfutils-libelf-devel gcc gcc-c++ glibc-common glibc glibc-devel glibc-headers ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libgomp libXp make sysstat unzip -y
复制代码
2.3 修改配置参数

  1. echo "session    required     pam_limits.so">>/etc/pam.d/login
复制代码
  1. echo "oracle           soft    nproc   2047
  2. oracle           hard    nproc   16384
  3. oracle           soft    nofile  1024
  4. oracle           hard    nofile  65536
  5. ">>/etc/security/limits.conf
复制代码
  1. echo "if [ \$USER = "oracle" ]; then
  2. if [ \$SHELL = "/bin/ksh" ]; then
  3. ulimit -p 16384
  4. ulimit -n 65536
  5. else
  6. ulimit -u 16384 -n 65536
  7. fi
  8. umask 022
  9. fi
  10. ">>/etc/profile
复制代码
  1. echo "fs.aio-max-nr = 1048576
  2. fs.file-max = 6815744
  3. kernel.shmall = 15461882265  #16GB
  4. kernel.shmmax = 4294967295 #4GB
  5. kernel.shmmni = 4096
  6. kernel.sem = 250 32000 100 128
  7. net.ipv4.ip_local_port_range = 9000 65500
  8. net.core.rmem_default = 262144
  9. net.core.rmem_max = 4194304
  10. net.core.wmem_default = 262144
  11. net.core.wmem_max = 1048576
  12. ">>/etc/sysctl.conf
复制代码
内核参数介绍:

  1. export ORACLE_SID=orcl
  2. export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1
  3. echo "export ORACLE_SID=$ORACLE_SID
  4. export ORACLE_BASE=/u01/app/oracle
  5. export ORACLE_HOME=$ORACLE_HOME
  6. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
  7. export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch
  8. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
  9. umask 022
  10. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
  11. export SQLPATH=$ORACLE_HOME/sqlplus/admin
  12. ">>/home/oracle/.bash_profile
复制代码
2.4 关闭selinux和防火墙
  1. sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  2. systemctl disable firewalld --now
复制代码
完成上述操作后,需要重启操作系统才生效
  1. reboot
复制代码
2.5 准备软件安装包

  1. unzip p13390677_112040_Linux-x86-64_1of7.zip
  2. unzip p13390677_112040_Linux-x86-64_2of7.zip
复制代码
  1. chown -R oracle.oinstall /tmp/database
复制代码
2.6 创建响应文件

需要留意的是UNIX_GROUP_NAME、INVENTORY_LOCATION、ORACLE_HOME、ORACLE_BASE,保持和前文的创建的用户名、安装路径一致。
  1. echo "oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
  2. oracle.install.option=INSTALL_DB_SWONLY
  3. ORACLE_HOSTNAME=DBProduce
  4. UNIX_GROUP_NAME=oinstall
  5. INVENTORY_LOCATION=/u01/app/oraInventory
  6. SELECTED_LANGUAGES=en,en_GB
  7. ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1
  8. ORACLE_BASE=/u01/app/oracle
  9. oracle.install.db.InstallEdition=EE
  10. oracle.install.db.EEOptionsSelection=false
  11. oracle.install.db.optionalComponents=
  12. oracle.install.db.DBA_GROUP=dba
  13. oracle.install.db.OPER_GROUP=oper
  14. oracle.install.db.CLUSTER_NODES=
  15. oracle.install.db.isRACOneInstall=false
  16. oracle.install.db.racOneServiceName=
  17. oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
  18. oracle.install.db.config.starterdb.globalDBName=
  19. oracle.install.db.config.starterdb.SID=
  20. oracle.install.db.config.starterdb.characterSet=
  21. oracle.install.db.config.starterdb.memoryOption=false
  22. oracle.install.db.config.starterdb.memoryLimit=
  23. oracle.install.db.config.starterdb.installExampleSchemas=false
  24. oracle.install.db.config.starterdb.enableSecuritySettings=true
  25. oracle.install.db.config.starterdb.password.ALL=
  26. oracle.install.db.config.starterdb.password.SYS=
  27. oracle.install.db.config.starterdb.password.SYSTEM=
  28. oracle.install.db.config.starterdb.password.SYSMAN=
  29. oracle.install.db.config.starterdb.password.DBSNMP=
  30. oracle.install.db.config.starterdb.control=DB_CONTROL
  31. oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
  32. oracle.install.db.config.starterdb.automatedBackup.enable=false
  33. oracle.install.db.config.starterdb.automatedBackup.osuid=
  34. oracle.install.db.config.starterdb.automatedBackup.ospwd=
  35. oracle.install.db.config.starterdb.storageType=
  36. oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
  37. oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
  38. oracle.install.db.config.asm.diskGroup=
  39. oracle.install.db.config.asm.ASMSNMPPassword=
  40. MYORACLESUPPORT_USERNAME=
  41. MYORACLESUPPORT_PASSWORD=
  42. SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
  43. DECLINE_SECURITY_UPDATES=true
  44. PROXY_HOST=
  45. PROXY_PORT=
  46. PROXY_USER=
  47. PROXY_PWD=
  48. PROXY_REALM=
  49. COLLECTOR_SUPPORTHUB_URL=
  50. oracle.installer.autoupdates.option=SKIP_UPDATES
  51. oracle.installer.autoupdates.downloadUpdatesLoc=
  52. AUTOUPDATES_MYORACLESUPPORT_USERNAME=
  53. AUTOUPDATES_MYORACLESUPPORT_PASSWORD="/tmp/11gR2.rsp
复制代码
3 执行静默安装

  1. cd /tmp/database
  2. ./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress -silent -responseFile /tmp/11gR2.rsp
复制代码
  1. Starting Oracle Universal Installer...
  2. Checking Temp space: must be greater than 120 MB.   Actual 28865 MB    Passed
  3. Checking swap space: must be greater than 150 MB.   Actual 3967 MB    Passed
  4. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2023-05-06_03-53-30AM. Please wait ...You can find the log of this install session at:
  5. /u01/app/oraInventory/logs/installActions2023-05-06_03-53-30AM.log
  6. Prepare in progress.
  7. ..................................................   9% Done.
  8. Prepare successful.
  9. Copy files in progress.
  10. ..................................................   14% Done.
  11. ..................................................   20% Done.
  12. ..................................................   26% Done.
  13. ..................................................   31% Done.
  14. ..................................................   36% Done.
  15. ..................................................   41% Done.
  16. ..................................................   46% Done.
  17. ..................................................   51% Done.
  18. ..................................................   56% Done.
  19. ..................................................   63% Done.
  20. ..................................................   68% Done.
  21. ..................................................   73% Done.
  22. ..................................................   78% Done.
  23. ..................................................   83% Done.
  24. ..............................
  25. Copy files successful.
  26. Link binaries in progress.
  27. ..........
  28. Link binaries successful.
  29. Setup files in progress.
  30. ..................................................   88% Done.
  31. ..................................................   94% Done.
  32. Setup files successful.
  33. The installation of Oracle Database 11g was successful.
  34. Please check '/u01/app/oraInventory/logs/silentInstall2023-05-06_03-53-30AM.log' for more details.
  35. Execute Root Scripts in progress.
  36. As a root user, execute the following script(s):
  37.         1. /u01/app/oraInventory/orainstRoot.sh
  38.         2. /u01/app/oracle/product/11.2.0.4/db_1/root.sh
  39. ..................................................   100% Done.
  40. Execute Root Scripts successful.
  41. Successfully Setup Software.
复制代码
4 安装后配置

使用root用户来之执行配置脚本
  1. /u01/app/oraInventory/orainstRoot.sh
  2. /u01/app/oracle/product/11.2.0.4/db_1/root.sh
复制代码
5 执行静默建库

5.1 创建监听

  1. echo 'RESPONSEFILE_VERSION="11.2"
  2. CREATE_TYPE="CUSTOM"
  3. INSTALLED_COMPONENTS={"server","net8″,"javavm"}
  4. INSTALL_TYPE=""typical""
  5. LISTENER_NUMBER=1
  6. LISTENER_NAMES={"LISTENER"}
  7. LISTENER_PROTOCOLS={"TCP;1521"}
  8. LISTENER_START=""LISTENER""
  9. NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
  10. NSN_NUMBER=1
  11. NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
  12. NSN_SERVICE={"PLSExtProc"}
  13. NSN_PROTOCOLS={"TCP;HOSTNAME;1521"'>>/tmp/netca.rsp
复制代码
  1. netca /silent /responsefile /tmp/netca.rsp
复制代码
  1. Parsing command line arguments:
  2.     Parameter "silent" = true
  3.     Parameter "responsefile" = /u01/install/netca.rsp
  4. Done parsing command line arguments.
  5. Oracle Net Services Configuration:
  6. Profile configuration complete.
  7. Oracle Net Services configuration successful. The exit code is 0
复制代码
  1. [oracle@oracle11g admin]$ lsnrctl start
  2. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 06-MAY-2023 04:28:25
  3. Copyright (c) 1991, 2013, Oracle.  All rights reserved.
  4. Starting /u01/app/oracle/product/11.2.0.4/db_1/bin/tnslsnr: please wait...
  5. TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  6. Log messages written to /u01/app/oracle/diag/tnslsnr/oracle11g/listener/alert/log.xml
  7. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))
  8. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
  9. STATUS of the LISTENER
  10. ------------------------
  11. Alias                     LISTENER
  12. Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  13. Start Date                06-MAY-2023 04:28:26
  14. Uptime                    0 days 0 hr. 0 min. 0 sec
  15. Trace Level               off
  16. Security                  ON: Local OS Authentication
  17. SNMP                      OFF
  18. Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle11g/listener/alert/log.xml
  19. Listening Endpoints Summary...
  20.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))
复制代码
5.2 执行静默建库

  1. dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet ZHS16GBK -memoryPercentage 75 -emConfiguration LOCAL -datafiledestination /u01/app/oracle/oradata -sysPassword oracle11g -systemPassword oracle11g -dbsnmpPassword oracle11g -sysmanPassword oracle11g
复制代码
  1. Copying database files
  2. 1% complete
  3. 3% complete
  4. 11% complete
  5. 18% complete
  6. 26% complete
  7. 37% complete
  8. Creating and starting Oracle instance
  9. 40% complete
  10. 45% complete
  11. 50% complete
  12. 55% complete
  13. 56% complete
  14. 60% complete
  15. 62% complete
  16. Completing Database Creation
  17. 66% complete
  18. 70% complete
  19. 73% complete
  20. 85% complete
  21. 96% complete
  22. 100% complete
  23. Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
复制代码
6 安装完成后检查

  1. [oracle@oracle11g ~]$ lsnrctl stat
  2. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 06-MAY-2023 04:35:48
  3. Copyright (c) 1991, 2013, Oracle.  All rights reserved.
  4. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
  5. STATUS of the LISTENER
  6. ------------------------
  7. Alias                     LISTENER
  8. Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  9. Start Date                06-MAY-2023 04:28:26
  10. Uptime                    0 days 0 hr. 7 min. 22 sec
  11. Trace Level               off
  12. Security                  ON: Local OS Authentication
  13. SNMP                      OFF
  14. Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle11g/listener/alert/log.xml
  15. Listening Endpoints Summary...
  16.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))
  17. Services Summary...
  18. Service "orcl" has 1 instance(s).
  19.   Instance "orcl", status READY, has 1 handler(s) for this service...
  20. Service "orclXDB" has 1 instance(s).
  21.   Instance "orcl", status READY, has 1 handler(s) for this service...
  22. The command completed successfully
复制代码
  1. [oracle@oracle11g ~]$ sqlplus  / as sysdba
  2. SQL*Plus: Release 11.2.0.4.0 Production on Sat May 6 04:36:58 2023
  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> select name,open_mode from v$database;
  8. NAME          OPEN_MODE
  9. --------- --------------------
  10. ORCL          READ WRITE
复制代码
至此,Oracle11gR2单实例静默安装和建库完成。
再次强调一遍,本文安装的环境仅适用于测试,生产环境的数据库安装,请遵循Oracle的最佳实践。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4