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-release
CentOS release 6.9 (Final)
[root@Oracle ~]# uname -a
Linux 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-1
compat-libstdc++-33.x86_64 0:3.2.3-69.el6
gcc.x86_64 0:4.4.7-18.el6
gcc-c++.x86_64 0:4.4.7-18.el6
ksh.x86_64 0:20120801-35.el6_9
libaio-devel.x86_64 0:0.3.107-10.el6
libstdc++-devel.x86_64 0:4.4.7-18.el6
2.3 安装过程
第一个里程碑:对文件进行解压
cd /server/tools/
unzip linuxx64_12201_database.zip
第二个里程碑:创建oracle用户,并切换到oracle用户
useradd oracle
passwd oracle
chown -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.sh
All 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/awk
SED=/bin/sed
ECHO=/bin/echo
ID=/usr/bin/id
GREP=/bin/grep
DIRNAME=/usr/bin/dirname
FIXUP_INPUT_FILE=fixup.conf
FIXUP_INPUT_FILE_PATH=`$DIRNAME $0`/fixup/$FIXUP_INPUT_FILE
#internal method to initialize the fixup instructions from the inpu
initializeFixupInstructions()
{
if [ -f $FIXUP_INPUT_FILE_PATH ]
then
FIXUP_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 1
fi
}
#initialize the fixup instructions from the fixup input file
initializeFixupInstructions
RUID=`$ID -u 1> /dev/null 2>&1`
status=$?
if [ "$status" != "0" ];
then
RUID=`$ID | $AWK -F\( '{print $1}' | $AWK -F= '{ print $2}'`
else
RUID=`$ID -u`
fi
if [ -z "$RUID" ];
then
$ECHO " "
$ECHO "ERROR: "
$ECHO "Failed to get effective user id."
exit 1
fi
if [ "${RUID}" != "0" ];then
$ECHO " "
$ECHO "ERROR: "
$ECHO "You must be logged in as root (uid=0) when running $0."
exit 1
fi
EXEC_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 1
else
$RMF ${EXEC_DIR}/cvu_fixup_trace_*.log
if [ "X$FIXUP_TRACE_LEVEL" = "X" ]
then
FIXUP_TRACE_OPTION=
else
FIXUP_TRACE_OPTION="-tracelevel $FIXUP_TRACE_LEVEL"
fi
# Execute the exectask
EXECTASK_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 TAGS
EXECTASK_ERROR=`$ECHO $EXECTASK_OUTPUT | $SED "s/<CV_ERR>//;s/<\/
#Check if we have the exectask error, if yes then print it
if [ "X$EXECTASK_ERROR" != "X" ]
then
$ECHO " "
$ECHO "ERROR: "
$ECHO $EXECTASK_ERROR
$ECHO " "
fi
else
$ECHO "All Fix-up operations were completed successfully."
fi
fi
修复完成后可以继续后面的操作
点击下一步进行安装即可,安装速度较慢,耐心等待
安装的过程中执行脚本
[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.是防火墙没有关闭引起的。