资源准备
一台已经安装CentOS 6.8 x86_64系统的主机,需要安装出桌面环境与火狐浏览器。如果仅安装了命令行环境,在配置yum源后,使用命令 yum groupinstall "Desktop" -y 来安装。
登录到桌面环境,可以是本地登录到的桌面环境,也可以是通过vnc或xmanager等工具远程登录的桌面环境(配置过程参阅网络搜索)。
登录到桌面环境后使用火狐浏览器访问Oracle官网http://www.oracle.com/下载目前最新版Oracle 12.1.0.2.0数据库,下载-数据库-Oracle数据库;如果是内网用户或隔离环境无法直接访问到Oracle官网,则请使用有访问权限的主机下载安装包后上传到待安装主机。
选择最新版12.1.0.2.0针对Linux x86_64平台,点击后面的“See All”
同意协议,下载两部分压缩安装包到系统。
使用已有的Oracle账号或免费注册一个Oracle账号登录后即可开始下载
下载完成后使用cksum命令检验下载的安装包CRC校验码
与官网标示的CRC校验码比对来确认下载的安装包文件是否完整
安装数据库
在确定安装包下载完整的情况下,开始数据库安装。
确认xorg-x11-utils软件包是否安装,如果未安装则使用下面命令来安装。
yum install xorg-x11-utils -y
Oracle数据的安装不能使用root用户,创一个Oracle用户并设置密码,将安装包与oracle安装位置所在目录所有者更为oracle用户(这里专门使用一块数据盘data来存放所有oracle数据),使用该用户登录到图形环境来安装Oracle。
useradd oracle
passwd oracle
chown -R oracle /data
切换到安装包所在目录下,使用unzip命令来解压安装包文件
cd /data
unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip
解压完成后得到一个名称为database,容量大小2.8GB的目录。实际是这两部分压缩包共同解压出的所有文件。
切换到database目录,启动安装程序 ./runInstaller
提示安装环境所需要求,临时目录必须大于500MB,swap空间必须大于150MB,显示配置至少256颜色等等。满足条件则显示passed,只要有不满足条件的都会显示failed,则需要处理到满足条件后再继续执行安装程序。
等一段时间后,打开Oracle图形安装向导,这里直接跳过更细提醒邮箱设置
仅仅安装数据库软件
这里选择单实例数据库安装
默认英语语言
数据库版本默认
安装配置,包括数据库位置、Oracle软件安装位置。
产品清单目录设置
配置系统用户组
环境需求检查,显示为NO,则是不满足条件须要处理。
点击修复和再次检查
提示要求打开一个terminal终端,使用root用户登录运行修复脚本 /tmp/CVU_12.1.0.2.0_oracle/runfixup.sh
点击OK后自动再次检查,发现还剩下一些不通过的需求。例如查看到swap空间大小不满足需求,提示需要16GB大小,而实际只有8GB大小的空间,那么这里需要手工扩容swap空间。
在terminal终端操作切换到root用户,使用dd命令在剩余空间较大的数据盘创建一个接近9GB大小的文件。
dd if=/dev/zero of=/data/swap.file bs=4096 count=2250000
将该文件格式化为swap文件系统
mkswap /data/swap.file
启动swap文件系统,随后可以看到swap空间成功扩容到16GB。
swapon /data/swap.file
写入开机自动挂载文件/etc/fstab
运行再次检查
发现swap空间的提示已经没有了,只剩下软件包问题。看到提示信息为缺失,那么使用yum工具来安装缺失的所有软件包即可。
在主机yum源配置成功的情况下root用户执行来安装
yum install compat-libcap1-1.10 compat-libstdc++-33-3.2.3 ksh libaio-devel-0.3.107 -y
成功安装这些软件包
运行再次检查就通过的需求,进入到安装信息概览,如果有误的信息可直接点击编辑来修改,最后确认信息无误开始安装即可。
安装过程中可能会出现执行配置脚本的提示信息
直接在terminal终端切换到root用户执行相应的脚本即可
执行完成再点击提示框确认即可
最后提示数据库安装成功
在启动安装程序的terminal终端提示本次安装的日志文件位置
创建数据库
使用dbca工具创建数据库,执行命令打开配置数据库图形向导
/data/oracle/app/oracle/product/12.1.0/dbhome_1/bin/dbca
创建数据库
高级模式创建
一般用途或事物处理
配置数据库名与SID,创建为容器数据库(这里建立的数据库实例为vcenter)。
管理选项默认
数据库认证,这里为所有用户创建相同的密码。
配置监听器
数据库存储的配置
启用归档日志参数设置
数据库选项
初始化参数
创建选项
需求检查通过直接进入安装信息概览,点击完成开始创建数据库,显示进度信息。
创建完成关闭向导
登录数据库
编辑Oracle用户环境变量 /home/oracle/.bash_profile 添加
export ORACLE_BASE=/data/oracle/app/oracle/
export ORACLE_HOME=/data/oracle/app/oracle/product/12.1.0/dbhome_1/
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
执行命令 source /home/oracle/.bash_profile 使环境变量立即生效。
将数据库实例注册到监听器,执行命令打开网络管理器 /data/oracle/app/oracle/product/12.1.0/dbhome_1/bin/netmgr
键入数据库名、数据库主目录与SID
保存配置并退出
启动监听器
查看监听器状态
/data/oracle/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl status
当然这里也可以直接编辑监听器配置文件来添加
/data/oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
使用命令sys用户(拥有最高权限)作为sysdba登录数据库。这里sys为数据最高权限管理员用户登录时,必须以sysdba或sysoper身份登录,!QAZxsw为登录密码,oracle为数据库的服务名。
/data/oracle/app/oracle/product/12.1.0/dbhome_1/bin/sqlplus 'sys'/'!QAZxsw2'@vcenter as sysdba
启动此数据库实例
查看用户
查询数据库
停止此数据库实例
编写开机自启动oracle数据库实例脚本
root用户登录系统创建文件 /etc/init.d/oracle
#!/bin/sh
#chkconfig: 2345 20 80
#description: Oracle dbstart / dbshut
ORA_HOME=/data/oracle/app/oracle/product/12.1.0/dbhome_1
ORA_OWNER=oracle
start(){
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbstart ${ORA_HOME}"
echo -e "Starting Database: [ \e[0;32mOK\e[0m ]"
}
stop(){
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
echo -e "Stoping Database: [ \e[0;32mOK\e[0m ]"
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
esac
为脚本添加执行权限
chmod 755 /etc/init.d/oracle
添加到chkconfig服务管理,查看2345运行级别是否为开机启动模式。
修改配置文件 /etc/oratab 将最后的N改为Y,否则启动停止服务不会管理该数据库,这里可以添加多个数据库实例的管理。
测试启动oracle服务情况,启动日志默认保存在/data/oracle/app/oracle/product/12.1.0/dbhome_1/startup.log
查看监听器进程,监听器日志默认保存在/data/oracle/app/oracle/product/12.1.0/dbhome_1/listener.log
测试登录数据库
测试停止oracle情况,停止日志默认保存在/data/oracle/app/oracle/product/12.1.0/dbhome_1/shutdown.log
查看监听器进程
测试登录数据库
最后重启系统测试开机自启动状况。