Oracle 12c 静默安装: 1.操作系统及Oracle版本: Linux版本:CentOS release 6.6 (Final) Oracle版本: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Productionlinuxamd64_12102_database_1of2.ziplinuxamd64_12102_database_2of2.zip 2.硬件检测: 物理内存不少于1G 硬盘可以空间 不少于5G swap分区空间不少于2G 支持256色以上显卡 cpu主频不小于550mHZ cat /etc/issue uname -r (版本) grep MemTotal /proc/meminfo (内存大小) grep SwapTotal /proc/meminfo (交换区大小) grep "model name" /proc/cpuinfo (CPU信息) free (可用内存)
配置yum源:
[root@localhost ~]# cd /etc/yum.repos.d/[root@localhost yum.repos.d]# ll总用量 16-rw-r--r--. 1 root root 2492 11月 10 20:16 CentOS6-Base-163.repo-rw-r--r--. 1 root root 2323 11月 10 20:10 Centos-6.repo.bak-rw-r--r--. 1 root root 358 11月 10 19:48 redhat.repo-rw-r--r--. 1 root root 529 4月 14 2016 rhel-source.repo.bak
[root@localhost yum.repos.d]# cat CentOS6-Base-163.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] #name=CentOS-6 - Base - 163.com name=CentOS-6.10 baseurl=http://vault.centos.org/6.10/os/$basearch/ #baseurl=http://mirrors.163.com/centos/6/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6 #gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-6.10 #name=CentOS-6 - Updates - 163.com baseurl=http://vault.centos.org/6.10/updates/$basearch/ #baseurl=http://mirrors.163.com/centos/6/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates gpgcheck=1 #gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-6.10 baseurl=http://vault.centos.org/6.10/extras/$basearch/ #name=CentOS-6 - Extras - 163.com #baseurl=http://mirrors.163.com/centos/6/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras gpgcheck=1 #gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-6.10 baseurl=http://vault.centos.org/6.10/extras/$basearch/ #name=CentOS-6 - Plus - 163.com #baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 #gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-6.10 baseurl=http://vault.centos.org/6.10/extras/$basearch/ #name=CentOS-6 - Contrib - 163.com #baseurl=http://mirrors.163.com/centos/6/contrib/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib gpgcheck=1 enabled=0 #gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6
centos6的yum源比较难找。
yum clean all yum makecache yum update
3.检查安装依赖系统包
rpm -q 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 unzip
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 unzip# 也可以分段执行,避免遗漏yum install -y compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686yum install -y glibc*.i686 glibc-devel glibc-devel*.i686yum install -y ksh libaio*.i686 libaio-devel libaio-devel*.i686yum install -y libX11 libX11*.i686 libXau libXau*.i686 libXi libXi*.i686yum install -y libXtst libXtst*.i686 libgcc*.i686 libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686yum install -y libxcb libxcb*.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-develyum install -y gcc gcc-c++ libXext libXext*.i686 zlib-devel zlib-devel*.i686 unzip
4.创建所需的操作系统组和用户,设置些服务:groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oracle设置oracle用户密码 passwd oracle
root下执行:
chkconfig iptables off
chkconfig NetworkManager off
service iptables stop
service NetworkManager stop
vi /etc/sysconfig/network
HOSTNAME=test
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
vi /etc/hosts (hosts里必须要有127.0.0.1 localhost,否则安装会报错)
最下面添加192.168.72.21 主机名 比如: 10.0.40.78 test
5.修改内核参数 在/etc/sysctl.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数 [root@test ~]# vi /etc/sysctl.conf
/etc/sysctl -p
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH #oracle数据库安装目录 ORACLE_BASE=/usr/oracle #oracle数据库路径 ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1 #oracle启动数据库实例名 ORACLE_SID=oramid #添加系统环境变量 PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin #添加系统环境变量 LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib # 该部分重要,后续错误一般是该步骤造成 export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
10.解压oracle安装文件
[root@ test ~]# chown -R oracle:oinstall /home/oracle/ [root@ test ~]# ll /home/oracle/
[root@ test ~]# su - oracle [oracle@ test ~]$ ll
unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip
开始静默安装: 12.1.0.2的办法:
[oracle@ebsmiddb database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 500 MB。 实际为 39495 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 4095 MB 通过 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2022-11-11_10-20-23PM. 请稍候...[oracle@ebsmiddb database]$ [WARNING] [INS-13014] 目标环境不满足一些可选要求。 原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。/tmp/OraInstall2022-11-11_10-20-23PM/installActions2022-11-11_10-20-23PM.log 操作: 从日志 /tmp/OraInstall2022-11-11_10-20-23PM/installActions2022-11-11_10-20-23PM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。 可以在以下位置找到本次安装会话的日志: /u01/app/oraInventory/logs/installActions2022-11-11_10-20-23PM.log Oracle Database 12c 的 安装 已成功。 请查看 '/u01/app/oraInventory/logs/silentInstall2022-11-11_10-20-23PM.log' 以获取详细资料。 以 root 用户的身份执行以下脚本: 1. /u01/app/oraInventory/orainstRoot.sh 2. /u01/app/oracle/product/12.1.0/db_1/root.sh Successfully Setup Software. [oracle@ebsmiddb database]$ exit logout [root@localhost ~]# sh /u01/app/oraInventory/orainstRoot.sh 更改权限/u01/app/oraInventory. 添加组的读取和写入权限。 删除全局的读取, 写入和执行权限。 更改组名/u01/app/oraInventory 到 oinstall. 脚本的执行已完成。 [root@localhost ~]# sh /u01/app/oracle/product/12.1.0/db_1/root.sh Check /u01/app/oracle/product/12.1.0/db_1/install/root_ebsmiddb_2022-11-11_22-23-38.log for the output of root script
到这里,oracle12c的数据库实例就算是装好了,接下来配置数据库实例的基本参数文件~ cd $ORACLE_HOME/dbs
找到默认的init.ora,然后创建一个新的init.ora: cat init.ora|grep -v ^$|grep -v ^# >init$ORACLE_SID.ora 这里如果没建立密码文件,之后用sys用户远程连接数据库会报错。 那时候需要重建密码文件: orapwd file=orapw $ORACLE_SID password=oracle entries=30
修改新参数文件里面的<$ORACLE_HOME>为绝对路径,然后把db_name之类的东西改成自己的就好~
[oracle@ebsmiddb dbs]$ cat initoramid.oradb_name='ORAMID'memory_target=58Gprocesses = 2000audit_file_dest='/usr/oracle/admin/oramid/adump'audit_trail ='db'db_block_size=8192db_domain=''db_recovery_file_dest='/usr/oracle/fast_recovery_area'db_recovery_file_dest_size=2Gdiagnostic_dest='/usr/oracle'dispatchers='(PROTOCOL=TCP) (SERVICE=ORAMIDXDB)'open_cursors=300 remote_login_passwordfile='EXCLUSIVE'undo_tablespace='UNDOTBS1'control_files = (/usr/oracle/oradata/oramid/ora_control01.ctl,/usr/oracle/oradata/oramid/ora_control02.ctl)compatible ='11.2.0'
然后就可以启动oracle实例了,用sqlplus "/as sysdba"登录进去,然后startup nomount; 如果说MEMORY_TARGET太大了,那么可以在参数文件里面改小一点(这里设置的是81960M,80G),或者修改shm的大小、 用df -h能看到/dev/shm的大小 用mount -o size=102400M -o nrinodes=1000000 -o noatime,nodiratime -o remount /dev/shm来修改shm的大小 然后创建spfile create spfile from pfile;(具体的这两个东西的资料可以参考我的另一篇文章,spfile和pfile那点事) 如果一切正常,那么会显示出数据库的一些池和缓存的信息,接下来就是创建数据库了, 先创建必要目录 mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/adump mkdir -p $ORACLE_BASE/oradata/ORAMID
PS:稍微注意一下的是,/usr/local/bin下面,几个目录的权限,记得要改成oracle和oinstall的(chown -R oracle:oinstall *),否则启动的时候会提示错误,权限啊,目录操作失败云云 建库脚本如下:
[oracle@ebsmiddb dbs]$ cat create_db.sql CREATE DATABASE ORAMIDUSER SYS IDENTIFIED BY wwwUSER SYSTEM IDENTIFIED BY wwwLOGFILEGROUP 1 ('/usr/oracle/oradata/oramid/redo01.log') SIZE 512m,GROUP 2 ('/usr/oracle/oradata/oramid/redo02.log') size 512m,GROUP 3 ('/usr/oracle/oradata/oramid/redo03.log') size 512m,GROUP 4 ('/usr/oracle/oradata/oramid/redo04.log') size 512m,GROUP 5 ('/usr/oracle/oradata/oramid/redo05.log') size 512mMAXLOGFILES 5MAXLOGMEMBERS 5MAXLOGHISTORY 200MAXDATAFILES 10000CHARACTER SET AL32UTF8NATIONAL CHARACTER SET AL16UTF16EXTENT MANAGEMENT LOCALdatafile '/usr/oracle/oradata/oramid/system01.dbf' size 1024M REUSEsysaux datafile '/usr/oracle/oradata/oramid/sysaux01.dbf' size 1024M REUSEdefault temporary tablespace temptempfile '/usr/oracle/oradata/oramid/temp01.dbf' size 512M REUSEundo tablespace UNDOTBS1datafile '/usr/oracle/oradata/oramid/undotbs01.dbf' size 1024M REUSEAUTOEXTEND ON MAXSIZE UNLIMITEDdefault tablespace usersdatafile '/usr/oracle/oradata/oramid/users01.dbf' size 8192M REUSEAUTOEXTEND ON MAXSIZE UNLIMITED;
如果没问题,接下来就创建数据字典和pl/sql包, sqlplus "/as sysdba" SQL>@?/rdbms/admin/catalog.sql; SQL>@?/rdbms/admin/catproc.sql; //视图等 SQL>@?/rdbms/admin/utlrp.sql; //数据字典 SQL>conn system/*****; SQL>@?/sqlplus/admin/pupbld.sql; (这几个脚本放在$ORACLE_HOME/rdbms/admin下,也可以先进这个目录,然后直接@脚本就好) 最后shutdown immediate 然后startup吧~ 数据库正确open之后,就是配置监听器了, 把\network\admin\listener.ora 和\network\admin\tnsname.ora里面的LOCALHOST改成IP,把SID SID_NAME改成实例名,重启数据库,重启监听 PS:参数文件的service和监听器的service要对上
[oracle@ebsmiddb ~]$ cd /usr/oracle/product/12.1.0/db_1/network/admin/ [oracle@ebsmiddb admin]$ ll 总用量 16 -rw-r--r--. 1 oracle oinstall 373 11月 13 01:42 listener.ora drwxr-xr-x. 2 oracle oinstall 4096 11月 11 22:20 samples -rw-r--r--. 1 oracle oinstall 373 10月 31 2013 shrept.lst -rw-r--r--. 1 oracle oinstall 183 11月 13 01:44 tnsnames.ora [oracle@ebsmiddb admin]$ cat listener.ora # listener.ora Network Configuration File: /usr/oracle/product/12.1.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.15)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = /usr/oracle [oracle@ebsmiddb admin]$ cat tnsnames.ora ORAMID = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.15)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORAMID) ) )
[oracle@ebsmiddb admin]$ lsnrctl status LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 13-NOV-2022 01:45:38 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.116.15)(PORT=1521))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 111: Connection refused Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 2: No such file or directory [oracle@ebsmiddb admin]$ lsnrctl start LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 13-NOV-2022 01:45:45 Copyright (c) 1991, 2014, Oracle. All rights reserved. Starting /u01/app/oracle/product/12.1.0/db_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.1.0.2.0 - Production System parameter file is /u01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/ebsmiddb/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.116.15)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.116.15)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 13-NOV-2022 01:45:45 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/ebsmiddb/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.116.15)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfully [oracle@ebsmiddb admin]$ lsnrctl status LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 13-NOV-2022 01:46:08 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.116.15)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 13-NOV-2022 01:45:45 Uptime 0 days 0 hr. 0 min. 23 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/ebsmiddb/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.116.15)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "ORAMID" has 1 instance(s). Instance "oramid", status READY, has 1 handler(s) for this service... Service "ORAMIDXDB" has 1 instance(s). Instance "oramid", status READY, has 1 handler(s) for this service... The command completed successfully
整个oracle 12c 12.1.0.2的单实例的静默安装过程就是这样。
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 如何设置导出excel的格式
如何设置导出excel的格式
26-03-03 - Oracle通过ODBC连接SQL Server数据库后ORA-12514
- 针对整个网络线缆市场的线缆测试仪—福禄克
针对整个网络线缆市场的线缆测试仪—福禄克
26-03-03 - 零门槛入门学习在线搭建网站的教学!
零门槛入门学习在线搭建网站的教学!
26-03-03 - Oracle数据库坏块典型案例分析
Oracle数据库坏块典型案例分析
26-03-03 - 手持式万兆以太网测试仪
手持式万兆以太网测试仪
26-03-03 - 以太网网络分析仪
以太网网络分析仪
26-03-03 - inmemory OOM了
inmemory OOM了
26-03-03 - 三路人马“交战”无人配送
三路人马“交战”无人配送
26-03-03 - oracle 19c 跨小版本 单实例通过ADG迁移到rac
oracle 19c 跨小版本 单实例通过ADG迁移到rac
26-03-03
