1、Oracle Database 12c Release 2安装详解
1.1 下载方法
oracle官网https://www.oracle.com
1)打开官方网站,找到下载连接
2)选择更多下载。
3)选择数据库版本,这里选择的是目前的最新版本
4)接收许可协议,选在linux版本进行下载
5)接收许可协议,点击linuxx64_12201_database.zip
6)登陆oracle账户,没有的可以自己创建一个
7)然后就能够进行下载
https://docs.oracle.com/database/122/LADBI/toc.htm
2、安装过程详解
注意oracle的安装需要在图形化界面中进行安装。本次使用的是centos6.9 Desktop版本
2.1 系统版本说明
[root@Oracle ~]# cat /etc/redhat-releaseCentOS release 6.9 (Final)[root@Oracle ~]# uname -aLinux Oracle 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
2.2 安装依赖包
安装依赖包,并出现检查
[root@oracle ~]# yum install gcc gcc-c++ ksh libaio-devel libstdc++-devel compat-libstdc++-33 compat-libcap1 -y
已安装:
compat-libcap1.x86_64 0:1.10-1compat-libstdc++-33.x86_64 0:3.2.3-69.el6gcc.x86_64 0:4.4.7-18.el6gcc-c++.x86_64 0:4.4.7-18.el6ksh.x86_64 0:20120801-35.el6_9libaio-devel.x86_64 0:0.3.107-10.el6libstdc++-devel.x86_64 0:4.4.7-18.el6
2.3 安装过程
第一个里程碑:对文件进行解压
cd /server/tools/unzip linuxx64_12201_database.zip
第二个里程碑:创建oracle用户,并切换到oracle用户
useradd oraclepasswd oraclechown -R oracle.oracle /server/tools/database/
第三个里程碑:切换到oracle用户,执行安装脚本
cd /server/tools/database./runInstaller


第五个里程碑:进行数据库配置
输入自己的邮箱.
第六个里程碑:选择创建新的数据库
第七个里程碑:安装选择服务器类型
桌面类型少好得多的功能
第八个里程碑:选择数据库的安装类型
这里选择单实例即可
第九个里程碑:进行安装
选在高级安装,进行定制化的安装
第十个里程碑:选在数据库版本
这里选择企业版
第十一个里程碑:指定安装目录
注意安装的目录要有足够的空间,oracle所需空间较大
第十二个里程碑:指定产品清单目录
第十三个里程碑:选择创建的数据库类型
选择数据库名称,默认即可
注意内存设置
由于我是虚拟机所以内存给成最小
在字符集选择utf8
选在安装上示例
因为我是做学习用途,所以安装示例
选在数据的存储方式
云管理,有oracle的可以添加
数据恢复,开启
设置用户口令
我这里统一密码,生产环境中建议设置高强度密码
设置的密码为oracle 比较简单,所有系统会提示不符合安全规范,选择是即可
使用的数据库操作类型(默认即可)
开始进行安装。
检查是否环境正确,错误会有修复脚本。
使用修复脚本进行修复,注意使用root用户
以root用户运行这个脚本
[root@oracle ~]# sh /tmp/CVU_12.2.0.1.0_oracle/runfixup.shAll Fix-up operations were completed successfully.[root@oracle ~]# cat /tmp/CVU_12.2.0.1.0_oracle/runfixup.sh#!/bin/sh## $Header: opsm/cvutl/runfixup.sh /main/16 2012/11/13 21:44:52 ptar## runfixup.sh## Copyright (c) 2007, 2012, Oracle and/or its affiliates. All right## NAME# runfixup.sh - This script is used to run fixups on a node## DESCRIPTION# <short description of component this file declares/defines>## NOTES# <other useful comments, qualifications, etc.>## MODIFIED (MM/DD/YY)# ptare 11/09/12 - retrieve fixup information from fixup i# dsaggi 09/11/12 - Fix 14612018 -- Qualify path for dirnam# ptare 03/13/12 - enhance the output of the script to makiendly instead of displaying exectask tags# ptare 05/19/11 - Make changes for fixup project# agorla 08/18/10 - bug#10023742 - donot echo id cmd# nvira 05/04/10 - fix the id command# dsaggi 01/27/10 - Fix 8729861# nvira 06/24/08 - remove sudo# dsaggi 05/29/08 - remove orarun.log before invocation# dsaggi 10/24/07 - Creation#AWK=/bin/awkSED=/bin/sedECHO=/bin/echoID=/usr/bin/idGREP=/bin/grepDIRNAME=/usr/bin/dirnameFIXUP_INPUT_FILE=fixup.confFIXUP_INPUT_FILE_PATH=`$DIRNAME $0`/fixup/$FIXUP_INPUT_FILE#internal method to initialize the fixup instructions from the inpuinitializeFixupInstructions(){if [ -f $FIXUP_INPUT_FILE_PATH ]thenFIXUP_DATA_FILE=`$GREP FIXUP_DATA_FILE $FIXUP_INPUT_FILE_PATH `FIXUP_TRACE_LEVEL=`$GREP FIXUP_TRACE_LEVEL $FIXUP_INPUT_FILE_P-f 2`else$ECHO " "$ECHO "ERROR: "$ECHO "Fixup instructions are not yet generated for this node.exit 1fi}#initialize the fixup instructions from the fixup input fileinitializeFixupInstructionsRUID=`$ID -u 1> /dev/null 2>&1`status=$?if [ "$status" != "0" ];thenRUID=`$ID | $AWK -F\( '{print $1}' | $AWK -F= '{ print $2}'`elseRUID=`$ID -u`fiif [ -z "$RUID" ];then$ECHO " "$ECHO "ERROR: "$ECHO "Failed to get effective user id."exit 1fiif [ "${RUID}" != "0" ];then$ECHO " "$ECHO "ERROR: "$ECHO "You must be logged in as root (uid=0) when running $0."exit 1fiEXEC_DIR=`$DIRNAME $0`RMF="/bin/rm -f"if [ "X$FIXUP_DATA_FILE" = "X" ]then$ECHO " "$ECHO "ERROR: "$ECHO "fixup instructions are not yet generated for this node."exit 1else$RMF ${EXEC_DIR}/cvu_fixup_trace_*.logif [ "X$FIXUP_TRACE_LEVEL" = "X" ]thenFIXUP_TRACE_OPTION=elseFIXUP_TRACE_OPTION="-tracelevel $FIXUP_TRACE_LEVEL"fi# Execute the exectaskEXECTASK_OUTPUT=`${EXEC_DIR}/exectask.sh -runfixup $FIXUP_DATA_FILEION 2>&1`status=$?if [ "$status" != "0" ];then$ECHO " "$ECHO "FAILED: Fix-up operations could not be completed on this n#Extract the exectask error details from the CV_ERR TAGSEXECTASK_ERROR=`$ECHO $EXECTASK_OUTPUT | $SED "s/<CV_ERR>//;s/<\/#Check if we have the exectask error, if yes then print itif [ "X$EXECTASK_ERROR" != "X" ]then$ECHO " "$ECHO "ERROR: "$ECHO $EXECTASK_ERROR$ECHO " "fielse$ECHO "All Fix-up operations were completed successfully."fifi
修复完成后可以继续后面的操作
点击下一步进行安装即可,安装速度较慢,耐心等待
安装的过程中执行脚本
[root@oracle ~]# sh /oracle/app/oraInventory/orainstRoot.sh更改权限/oracle/app/oraInventory.添加组的读取和写入权限。删除全局的读取, 写入和执行权限。更改组名/oracle/app/oraInventory 到 oracle.脚本的执行已完成。[root@oracle ~]# sh /oracle/app/oraclea/product/12.2.0/dbhome_1/root.sh

安装完成,根据提示用浏览器访问
用户名为 system 密码为 oracle
3、中间出现错误Configuration Assistant 失败的原因
1.看一下c:\windows\System32\drivers\etc\hosts 文件 127.0.0.1是否被屏蔽掉了。
2.还有IP地址不要使用DHCP 自动获取IP的方式,需要指定IP地址。出现这个问题错误只要你找到原因,然后让监听正常启动就可以解决问题了。
3.是防火墙没有关闭引起的。
