第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
1.2 安装过程详解
注意oracle的安装需要在图形化界面中进行安装。本次使用的是centos6.9 Desktop版本
1.2.1 系统版本说明
[root@Oracle ~]# cat /etc/redhat-release
CentOS release 6.9 (Final) [root@Oracle ~]# uname -a
Linux Oracle 2.6.-.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86_64 GNU/Linux
1.2.2 安装依赖包
安装依赖包,并出现检查
[root@oracle ~]# yum install gcc gcc-c++ ksh libaio-devel libstdc++-devel compat-libstdc++- compat-libcap1 -y
已安装:
compat-libcap1.x86_64 :1.10-
compat-libstdc++-.x86_64 :3.2.-.el6
gcc.x86_64 :4.4.-.el6
gcc-c++.x86_64 :4.4.-.el6
ksh.x86_64 :-.el6_9
libaio-devel.x86_64 :0.3.-.el6
libstdc++-devel.x86_64 :4.4.-.el6
1.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..0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
[root@oracle ~]# cat /tmp/CVU_12.2.0..0_oracle/runfixup.sh
#!/bin/sh
#
# $Header: opsm/cvutl/runfixup.sh /main/ // :: ptar
#
# runfixup.sh
#
# Copyright (c) , , 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 // - retrieve fixup information from fixup i
# dsaggi // - Fix -- Qualify path for dirnam
# ptare // - enhance the output of the script to makiendly instead of displaying exectask tags
# ptare // - Make changes for fixup project
# agorla // - bug# - donot echo id cmd
# nvira // - fix the id command
# dsaggi // - Fix
# nvira // - remove sudo
# dsaggi // - remove orarun.log before invocation
# dsaggi // - 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 $`/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 `
else
$ECHO " "
$ECHO "ERROR: "
$ECHO "Fixup instructions are not yet generated for this node.
exit
fi
} #initialize the fixup instructions from the fixup input file
initializeFixupInstructions RUID=`$ID -u > /dev/null >&`
status=$? if [ "$status" != "" ];
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
fi if [ "${RUID}" != "" ];then
$ECHO " "
$ECHO "ERROR: "
$ECHO "You must be logged in as root (uid=0) when running $0."
exit
fi EXEC_DIR=`$DIRNAME $`
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
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 >&`
status=$? if [ "$status" != "" ];
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./dbhome_1/root.sh
安装完成,根据提示用浏览器访问
用户名为 system
密码为 oracle
中间出现错误Configuration Assistant 失败 的原因
1.看一下c:\windows\System32\drivers\etc\hosts 文件 127.0.0.1是否被屏蔽掉了。
2.还有IP地址不要使用DHCP 自动获取IP的方式,需要指定IP地址。出现这个问题错误只要你找到原因,然后让监听正常启动就可以解决问题了。
3.是防火墙没有关闭引起的。