centos7 静默安装Oracle12c无坑教程

一、下载Oracle12C安装包

官方网站:https://www.oracle.com
历史版本下载地址:https://edelivery.oracle.com/ (需要登录)
如果官方下载有问题,使用百度网盘
链接:https://pan.baidu.com/s/1Xju2D0eFIAhdZIZpzI4Ong?pwd=9dcl
提取码:9dcl
在这里插入图片描述
然后点击右上角的view items,点击continue
在这里插入图片描述
选择自己想要下载的软件,继续continue
在这里插入图片描述
同意协议,点击文件名即可下载:推荐使用第三方下载工具(迅雷、慧星等速度还行)
在这里插入图片描述

二、配置主机名和ip映射以及关闭防火墙和selinux

hostnamectl set-hostname oracledb
echo "192.168.229.130 oracledb" >> /etc/hosts    #此ip为虚拟机ip
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
setenforce 0  #临时关闭
sed 's/^SELINUX=.*/SELINUX=disibled/' /etc/selinux/config   #永久关闭
#其中参数解释:^表示只匹配SELINUX开头得,避免误修改

三、手动配置内核参数

此步骤为官方建议的,优化作用

echo "fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
" >> /etc/sysctl.conf

四、限制Oracle用户资源使用

echo "oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728
" >> /etc/security/limits.conf

五、安装依赖包

5.1 内网

若是内网只可以离线下载,附上依赖包离线下载地址
地址1: https://pkgs.org/
地址2: http://www.rpmfind.net/linux/

5.2 外网

外网就用yum,多执行几遍,以免遗漏

yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686

如果yum安装失败或者下载太慢,换国内源

备份源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
添加EPEL
curl -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache

六、创建新用户和组

groupadd -g 10001 oinstall  #创建组用户安装数据库,组id:123456
groupadd -g 10002 dba       # 创建组dba用于管理数据库
groupadd -g 10003 oper      #
useradd -u 10001 -g oinstall -G dba,oper oracle #创建用户oracle,主组为oinstall,其他组为dba,oper
passwd oracle  #设置oracle用户密码为1

参数解释:
选项:
-f, --force 如果组已经存在则成功退出
并且如果 GID 已经存在则取消 -g
-g, --gid GID 为新组使用 GID
-h, --help 显示此帮助信息并推出
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-o, --non-unique 允许创建有重复 GID 的组
-p, --password PASSWORD 为新组使用此加密过的密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录

七、安装环境配置

7.1 创建Oracle安装目录

创建目录,授权所属所组:

mkdir -p /usr/local/products/oracle12c
chown -R oracle:oinstall /usr/local
chmod -R 775 /usr/local/

7.2 配置Oracle环境变量并验证

7.2.1 切换到oracle用户下操作

su - oracle
#在/home/oracle/.bash_profile 环境变量文件中添加内容,最好是vim复制进去,echo有问题
echo "export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=oracledb
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/usr/local/products
export ORACLE_HOME=$ORACLE_BASE/oracle12c
export ORACLE_SID=orcl

export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
" >> /home/oracle/.bash_profile

7.2.2 配置变量生效

source ~oracle/.bash_profile
#验证变量是否生效:
echo $ORACLE_HOME
#输出内容为.bash_profile中配置的就说明生效了

7.3 上传oracle12C文件

上传到/home/oracle下,解压

unzip Oracle_12C_liunx_64.zip

解压后得到database文件
在这里插入图片描述

7.4 修改响应文件

如果想自定义更多数据库安装参数,那么可以选择手动修改响应文件(如果数据库安装参数较少,这一步可以省略,直接看下一步用命令行安装)

vim /home/oracle/database/response/db_install.rsp #修改以下参数
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/usr/local/products/oracle12c/oraInventory
ORACLE_HOME=/usr/local/products/oracle12c
ORACLE_BASE=/usr/local/products
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba

八、安装Oracle12C

8.1 执行runInstaller

如果手动修改过响应文件则用方式一,执行下面命令

8.1.1 方式一:执行下面命令(如果手动修改过响应文件则用方式一)

cd /home/oracle/database #在此目录下执行安装脚本
./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion \
-showProgress -silent -responseFile /home/oracle/database/response/db_install.rsp

执行过程如下,注意末尾后面的两个脚本是下一步要执行的
在这里插入图片描述

8.1.2 方式二:直接在database目录执行以下脚本

./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion \
-showProgress -silent -responseFile /home/oracle/database/response/db_install.rsp \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/usr/local/products/oracle12c/oraInventory \
ORACLE_HOME=/usr/local/products/oracle12c \
ORACLE_BASE=/usr/local/products \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSBACKUPDBA_GROUP=dba \
oracle.install.db.OSDGDBA_GROUP=dba \
oracle.install.db.OSKMDBA_GROUP=dba \
oracle.install.db.OSRACDBA_GROUP=dba

8.2 切换回root用户,执行脚本

su
/usr/local/products/oracle12c/oraInventory/orainstRoot.sh
/usr/local/products/oracle12c/root.sh

8.3 执行后切换回oracle用户,登录sqlplus成功,证明数据库安装成功

sqlplus / as sysdba

在这里插入图片描述

8.4 创建监听

使用默认的netca.rsp文件,执行命令

netca -silent -responseFile /home/oracle/database/response/netca.rsp

在这里插入图片描述
查看监听状态如下则表示成功

lsnrctl status

在这里插入图片描述

8.5 创建数据库

8.5.1 修改静默数据库模板,配置自定义参数后安装;修改注意以下参数(也可以不修改,使用默认的)

vim /home/oracle/database/response/dbca.rsp
templateName /usr/local/products/oracle12c/assistants/dbca/templates/General_Purpose.dbc 
gdbname orcl     #这里要和环境变量一致
sid orcl               #这里要和环境变量一致
characterSet AL32UTF8 
sysPassword Santbbd2020 
systemPassword Santbbd2020 
createAsContainerDatabase true 
numberOfPDBs 1 
pdbName pdb1 
pdbAdminPassword Santbbd2020 
automaticMemoryManagement false

8.5.2 执行上一步修改的脚本dbca.rsp

dbca -silent -createDatabase -responseFile /home/oracle/database/response/dbca.rsp -ignorePreReqs

在这里插入图片描述

8.5.3 验证数据库是否创建成功

sqlplus / as sysdba #以dba身份登录数据库
select status from v$instance;   #出现下图则表示成功

在这里插入图片描述

九、创建表空间以及用户

9.1 创建表空间

注意:较新版本的Oracle中会话Session不仅只有默认的CBD,同时新增了PDB(12C开始出现),而我们创建用户的时候,Oracle默认是在PDB的session中创建,PDB的session中当然不存在我们创建的表空间了,所以,我们需要先切换Session到PDB,再次在PDB中创建同样的一个表空间

示范:--Oracle12C创建表空间A20230403A,指定数据文件并且设置自动增长
#切换Session到PDB
alter session set container=PDB1;  
#注意此处创建的目录多了一个pdb1
CREATE TABLESPACE A20230403A DATAFILE '/usr/local/products/oradata/orcl/pdb1/A20230403A.DBF' SIZE 1024M autoextend on;
#然后切换到CDB$ROOT进行创建一样的表空间,注意路径不同
alter session set container=CDB$ROOT;
CREATE TABLESPACE A20230403A DATAFILE '/usr/local/products/oradata/A20230403A.DBF' SIZE 1024M autoextend on;

9.2 创建用户

示范:Oracle12C创建用户LUO指定密码123456指定表空间A20230403A
注意:创建 CDB 用户则需要加 C##,PDB 用户则不需要。
#创建用户
create user C##LL identified by 123456 default tablespace "A20230403A"; 
#给用户授权;connect,resource,dba 分别三种不同操作权限,根据实际情况可以自行变更
grant connect,resource to C##LL;  

十、测试外部连接是否正常

Navicat连接,注意oci版本问题(下载对于版本的oci库地址:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html),以及用户名前缀是C##,此为12C版本特性

在这里插入图片描述

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值