一、 环境准备
1.1系统环境配置
1.1.1关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
1.1.2创建用户和用户组
groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
useradd -u 502 -g oinstall -G oinstall,dba,asmadmin,oper -s /bin/bash -m oracle
passwd oracle(Oracle#123456)
1.1.3修改操作系统配置
# vim /etc/security/limits.conf
文件最后加入如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
1.1.4.修改主机名
# hostnamectl set-hostname oracle12c
# vi /etc/hosts
1.3安装依赖环境
1.3.1安装所需软件包
yum install xz wget gcc-c++ ncurses ncurses-devel \
cmake make perl openssl openssl-devel gcc* libxml2 \
libxml2-devel curl-devel libjpeg* libpng* freetype* \
make gcc-c++ cmake bison perl perl-devel perl perl-devel \
glibc-devel libaio readline-devel \
zlib.x86_64 zlib-devel.x86_64 libcurl-* net-tool* \
sysstat lrzsz dos2unix telnet.x86_64 iotop unzip \
ftp.x86_64 xfs* expect vim psmisc openssh-client* \
libaio bzip2 automake binutils bzip2 \
elfutils expat gawk gcc ksh less make openssh-server \
rpm sysstat unzip unzip cifs-utils libXext.x86_64 \
binutils \
elfutils-libelf elfutils-libelf-devel \
expat gcc gcc-c++ glibc glibc-common \
glibc-devel glibc-headers libaio \
libaio-devel libgcc libstdc++ libstdc++-devel \
make sysstat unixODBC unixODBC-devel libnsl
yum install libnsl libaio-devel glibc-devel glib-devel gcc gcc-c++ ksh
1.3.2替换文件
(Fusion缺少提供静态库libpthread_nonshared.a的包,会造成安装oracle 12c失败的情况,centos 8系统里有提供该静态库的包,所以考虑使用centos 8提供的libpthread_nonshared.a静态库文件,保证数据库的安装)
替换文件:
# cp libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a
1.4软件包下载及上传解压
1.4.1软件下载
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery
选择12.2.0版本
在右上角位置点击菜单,然后点击continue,进行下一步,进去勾选需要的安装包进行下载即可。这里选择第一个,选择linux x86版本 大小为3.2G,右上角点击继续。
1.4.2软件上传,解压
这里我上传到了/home/oracle下
解压:
使用oracle用户操作:
# su - oracle
# unzip V46095-01_1of2.zip
# unzip V46095-01_2of2.zip
解压后生成database目录:
1.5创建安装目录
使用oracle用户操作:
# su - oracle
# mkdir -p ~/tools/oracle12c
1.6配置oracle用户环境变量
# cd /home/oracle
# vim ~/.bash_profile
添加在文件末尾:
export ORACLE_BASE=/home/oracle/tools/oracle12c
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
# source .bash_profile
1.7修改数据库配置文件
# vim /home/oracle/database/response/db_install.rsp
设置以下属性:
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=oracle12c #修改成你自己的主机名或者域名(IP)
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/tools/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/tools/oracle12c/product/12.2.0/dbhome_1
ORACLE_BASE=/home/oracle/tools/oracle12c
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA_GROUP=dba
oracle.install.db.KMDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1024
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.password.ALL=Oracle#123456
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/oracle/tools/oracle12c/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/tools/oracle12c/flash_recovery_area
DECLINE_SECURITY_UPDATES=true
二、 安装数据库
2.1安装oracle
以oracle用户执行:
su - oracle
# cd /home/oracle/database
执行安装:
./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp
进入目录等待详细的安装日志生成:
# cd /home/oracle/tools/oraInventory/logs/
当出现如图所示的提示后,要先查看生成的详细日志,因为静默安装命令行提示不能说明什么。
# tail -300f silentInstall*.log
只有详细日志提示成功且不报错的情况下,数据库才安装成功。
切换root用户执行:
# /home/oracle/tools/oraInventory/orainstRoot.sh
# /home/oracle/tools/oracle12c/product/12.2.0/dbhome_1/root.sh
2.2创建oracle实例
# su - oracle
# vim /home/oracle/database/response/dbca.rsp
修改如下内容: (GDBNAME在文件中存在两处,都要修改)
GDBNAME = "orcl" #数据库的Global database name
SID = "orcl" #数据库的实例名
SYSPASSWORD = "Oracle#123456" #指定sys用户密码
SYSTEMPASSWORD = "Oracle#123456" #指定system用户密码
NATIONALCHARACTERSET= "AL16UTF16" #指定国家字符集
DATABASETYPE = "OLTP" #指定实例的类型
AUTOMATICMEMORYMANAGEMENT = "TRUE" #指定使用自动内存管理
TOTALMEMORY = "800" #指定使用内存的大小,单位是MB
执行新建命令:
dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
2.3验证oracle
2.3.1验证库文件情况
cd /home/oracle/database/
files=$(find . -name "*.so");for file in $files; do ldd $file|grep "not found"|sort -n;done |uniq
缺少的库文件在/home/oracle/tools/oracle12c/product/12.2.0/dbhome_1/lib/libskgxn2.so下,需要做个软连接在/usr/lib64下:例:
ln -s /home/oracle/tools/oracle12c/product/12.2.0/dbhome_1/lib/libskgxn2.so /usr/lib64/libskgxn2.so
2.3.2登录oracle
su – oracle
lsnrctl start
sqlplus / as sysdba
startup
查看状态是否为open:
SQL> select status from v$instance;
到此,oracle12c安装完毕。