Oracle 19C单实例安装部署

本文详细介绍了Oracle19c数据库的部署环节。包括前期关闭swap分区等准备工作,接着依次阐述了数据库软件安装、监听安装、数据库安装的具体步骤,如选择安装版本、配置目录、设置参数等,最后说明了数据库的启动,为Oracle19c部署提供了全面指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境介绍:

#####操作系统为:Centos 7.6
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)   
####磁盘我是直接给/(根目录)分了94G
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   94G  3.8G   85G    5% /
devtmpfs                 2.0G     0  2.0G    0% /dev
tmpfs                    2.0G     0  2.0G    0% /dev/shm
tmpfs                    2.0G   13M  2.0G    1% /run
tmpfs                    2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sda1                976M  136M  774M   15% /boot
tmpfs                    394M   32K  394M    1% /run/user/0
/dev/sr0                 4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
#####我的IP是192.168.28.130
[root@localhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.130  netmask 255.255.255.0  broadcast 192.168.28.255
        inet6 fe80::b2e7:336e:c753:6168  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:eb:3e:82  txqueuelen 1000  (Ethernet)
        RX packets 766  bytes 79045 (77.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 620  bytes 73910 (72.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
####我的内存是:4G
[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.8G        715M        2.5G         74M        687M        2.8G
Swap:          3.9G          0B        3.9G

部署环节

一、前期准备工作

##关闭swap分区
[root@db opt]# vim /etc/fstab
###把swap给注释掉,因为不关闭swap的话,在后续安装数据库时包括在后续使用中,你的SGA、PGA内存总和不能大于swap,这样会对后续的优化和建设有影响,当然如果你资源能够支撑就当我没说
在这里插入图片描述

###修改主机名,把原来的localhost.localdomain,修改为db,即可,当然你也可以改成你想改的名称
[root@localhost yum.repos.d]# vim /etc/hostname
db
###修改域名解析,这个配置文件添加如下即可,IP+主机名
[root@localhost yum.repos.d]# vim /etc/hosts
192.168.28.130 db
###这个配置文件也要弄一下,HOSTNAME就是你的主机名
[root@localhost yum.repos.d]# vim /etc/sysconfig/network
NOZEROCONF=yes
HOSTNAME=db
###创建Oracle主组、子组及用户
[root@localhost ~]# groupadd -g 54321 oinstall
[root@localhost ~]# groupadd  -g 54322 dba
[root@localhost ~]# groupadd -g 54323 oper
[root@localhost ~]# useradd -u 54321 -g oinstall -G dba,oper oracle
[root@localhost ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
###关闭防火墙自启
[root@localhost ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
###关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service 
###查看防火墙状态Active
[root@localhost ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)(非活动的)
     Docs: man:firewalld(1)

324 15:07:59 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
324 15:08:00 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
324 15:31:46 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
324 15:31:46 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
###关闭SELINUX服务,SELINUX=disabled
[root@localhost ~]# vim /etc/selinux/config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
###创建Oracle基及Oracle home目录
[root@localhost ~]# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
###给基目录赋予用户权限
[root@localhost ~]# chown -R oracle.oinstall /u01
###给Oracle基目录赋予读、写、执行权限
[root@localhost ~]# chmod -R 775 /u01/app/oracle/

###切换Oracle用户下,配置Oracle环境变量
[oracle@localhost u01]$ vim ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
###添加完后source让配置文件生效
[oracle@localhost u01]$ source ~/.bash_profile
###配置Linux内核参数,主要是Oracle为了适应Linux环境下运行,所以需要对内核参数进行一些修改及配置
[root@localhost ~]# vim /etc/sysctl.conf
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
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
###生效sysctl.conf内核配置文件
[root@localhost ~]# sysctl --system
###本地yum源配置,创建光盘目录
[root@localhost ~]# mkdir -p /mnt/cdrom
###挂载光驱
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
###修改yum源配置文件
[root@localhost cdrom]# cd /etc/yum.repos.d/
###先在路径下创建一个备份文件夹
[root@localhost yum.repos.d]# mkdir -p /etc/yum.repos.d/bak
###然后把原先的配置文件先备份一个
[root@localhost yum.repos.d]# mv CentOS-* bak/
###拷贝一份配置文件过来修改
[root@localhost yum.repos.d]# cp bak/CentOS-Base.repo ./
###编辑yum配置文件,里面的内容可以都删了,就添加下面的[base]那段内容就可以了
cat <<EOF | sudo tee /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl= file:///mnt/cdrom
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
EOF
###清理下yum缓存
[root@localhost yum.repos.d]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: base
###执行安装Oracle19c所需yum依赖包,安装的内容很多,这里就不展示了,等他跑完就行
yum -y install deltarpm python-deltarpm bc compat-libcap1* compat-libcap* binutils  compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel binutils* compat-libstdc*  elfutils-libelf* gcc* glibc* ksh* libaio* libgcc* libstdc* make* sysstat* libXp* glibc-kernheaders net-tools-*
###最后会提示我们
已安装:
  binutils-devel.x86_64 0:2.27-34.base.el7    compat-libcap1.x86_64 0:1.10-7.el7      elfutils-libelf-devel.x86_64 0:0.172-2.el7   
  gcc.x86_64 0:4.8.5-36.el7                   gcc-c++.x86_64 0:4.8.5-36.el7           gcc-gfortran.x86_64 0:4.8.5-36.el7           
  gcc-gnat.x86_64 0:4.8.5-36.el7              gcc-objc.x86_64 0:4.8.5-36.el7          gcc-objc++.x86_64 0:4.8.5-36.el7             
  glibc-devel.x86_64 0:2.17-260.el7           glibc-headers.x86_64 0:2.17-260.el7     glibc-utils.x86_64 0:2.17-260.el7            
  kernel-headers.x86_64 0:3.10.0-957.el7      ksh.x86_64 0:20120801-139.el7           libXp.x86_64 0:1.0.2-2.1.el7                 
  libXp-devel.x86_64 0:1.0.2-2.1.el7          libXpm-devel.x86_64 0:3.5.12-1.el7      libaio-devel.x86_64 0:0.3.109-13.el7         
  libstdc++-devel.x86_64 0:4.8.5-36.el7       libstdc++-docs.x86_64 0:4.8.5-36.el7    unixODBC.x86_64 0:2.3.1-11.el7               
  unixODBC-devel.x86_64 0:2.3.1-11.el7       

作为依赖被安装:
  cpp.x86_64 0:4.8.5-36.el7                libXext-devel.x86_64 0:1.3.3-3.el7             libgfortran.x86_64 0:4.8.5-36.el7       
  libgnat.x86_64 0:4.8.5-36.el7            libgnat-devel.x86_64 0:4.8.5-36.el7            libobjc.x86_64 0:4.8.5-36.el7           
  libquadmath.x86_64 0:4.8.5-36.el7        libquadmath-devel.x86_64 0:4.8.5-36.el7        zlib-devel.x86_64 0:1.2.7-18.el7        

完毕!
###上传Oracle19c的zip安装包。**注:Oracle12c开始,安装包都必须要放在$ORACLE_HOME目录下,否则安装会一系列存在问题**
###进入ORACLE_HOME目录
[oracle@localhost u01]$ cd $ORACLE_HOME
###上传安装包,可以通过Xftp上传,把安装包上传到ORACLE_HOME目录上进行解压
[oracle@localhost u01]$ ls -l $ORACLE_HOME
总用量 2988000
-rw-r--r--. 1 oracle oinstall 3059705302 324 16:31 LINUX.X64_193000_db_home.zip
###解压zip安装包
[oracle@localhost dbhome_1]$ unzip LINUX.X64_193000_db_home.zip
###解压完成后,对该解压后的文件赋予相应属组及执行权限
[oracle@localhost ~]$ chown -R oracle.oinstall $ORACLE_HOME
[oracle@localhost ~]$ chmod -R +x $ORACLE_HOME
###配置Oracle用户资源限制
[root@localhost yum.repos.d]# vim /etc/profile
###添加内容如下:
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
fi
###生效配置文件
[root@localhost yum.repos.d]# source /etc/profile

[root@localhost yum.repos.d]# vi /etc/pam.d/login
###添加内容如下:
session required pam_limits.so

[root@localhost yum.repos.d]# vim /etc/security/limits.conf
###添加内容如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
###接下来我们重启下服务器,为了保证我们修改的一系列配置文件生效,例如主机名等
[root@localhost yum.repos.d]# reboot

二、Oracle19c数据库软件安装

###安装Oracle软件
###进入ORACLE_HOME目录
[oracle@db dbhome_1]$ cd $ORACLE_HOME
[oracle@db dbhome_1]$ ./runInstaller

1、选择仅安装Oracle软件。
在这里插入图片描述
2、本章我们介绍的是Oracle19c单实例部署,所以我们选择单实例安装,RAC暂不介绍
在这里插入图片描述
3、这里为您选择企业版,企业版和标准版的区别在于一些功能上的差别,我们要学习Oracle19c当然要选择他功能较多的版本了。
在这里插入图片描述
4、这里就是配置Oracle基目录也就是Oracle的根目录,和Oracle数据库软件的安装目录,这两个目录分别都是带出来的,之前我们配置Oracle变量环境时,有三个重要的参数,ORACLE_BASE(Oracle基目录)、ORACLE_HOME(Oracle软件安装目录)、ORACLE_SID(Oracle实例名)
在这里插入图片描述
4、这里是配置Oracle的一个清单目录位置,清单目录用于记录Oracle相关产品信息的,例如Oracle版本
在这里插入图片描述
5、这里配置Oracle功能的权限组
在这里插入图片描述
7、默认下一步
在这里插入图片描述
8、这里是在安装前对环境进行检查,如图检查描述说,我缺少一个依赖包,通常测试环境我就选择忽略了,这里给大家演示的话,我这里就把这个补上去,因为这个我们yum是没法获取到这个依赖包,所以这里我下载了以后,具体我在文章最后会给大家分享我所用到的文件。
在这里插入图片描述
9、补compat-libstdc+±33-3.2.3依赖包。

###将依赖包上传直服务器,这个具体上传到哪个目录没讲究,根据自己喜好管理就好,我这里是直接放在/opt下
[root@db opt]# ll
总用量 192
-rw-r--r-- 1 root root 195388 324 18:14 compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
[root@db opt]# pwd
/opt
###安装rpm,U(升级rpm包),i(安装),v(打印安装信息),h(显示安装进度),具体想了解可以用,rpm -help查看更多参数
[root@db opt]# rpm -Uivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
   1:compat-libstdc++-33-3.2.3-72.el7 ################################# [100%]

10、安装漏掉的包后,再点击重新检查,就没漏的东西了,他会直接跳转到这个安装清单目录界面,点击安装等待进度条即可
在这里插入图片描述
11、跑到63进度时会提示,让你用root用户去执行这两个脚本,执行完点【确定】即可
在这里插入图片描述

###执行orainstRoot.sh脚本
[root@db opt]# sh /u01/app/oraInventory/orainstRoot.sh
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。

###执行root.sh脚本
[root@db opt]# sh /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19.3.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Oracle Trace File Analyzer (TFA - Standalone Mode) is available at :
    /u01/app/oracle/product/19.3.0/dbhome_1/bin/tfactl

Note :
1. tfactl will use TFA Service if that service is running and user has been granted access
2. tfactl will configure TFA Standalone Mode only if user has no access to TFA Service or TFA is not installed

12、这样我们的数据软件就安装完成。
在这里插入图片描述

三、Oracle19c安装监听

1、启动监听安装程序,监听主要是用于数据库实例与用户建立连接的一个服务

[oracle@db dbhome_1]$ netca

Oracle Net Services 配置:

2、选择【监听程序配置】
在这里插入图片描述
3、选择【添加】
在这里插入图片描述
4、这里就默认这个监听名就可以
在这里插入图片描述
5、这里通常就选择TCP协议即可。
在这里插入图片描述
6、配置监听端口,这里我默认1521,也可以改一个适合自己的。
在这里插入图片描述
7、这样我们的监听就配置完成了。
在这里插入图片描述

四、Oracle19c数据库安装

1、启动数据库安装程序,数据库主要作用是用于建立和存放我们数据的地方,都是由参数文件、控制文件、数据文件、日志文件组成

[oracle@db dbhome_1]$ dbca

1、选择创建数据库
在这里插入图片描述
2、这里我们就选择自定义配置,也就是高级配置
在这里插入图片描述
3、这里我们就需要注意一下【一般用途或事务处理】、【数据仓库】要根据你的业务场景来进行选择了,因为你选择不同的他会对你的数据库一些参数都会有不同的变化。
一般用途或事务处理(ORTP 在线交易):通常你的业务是属于大量用户会访问进来对数据交易量大而且频繁,对你的数据库高并发要求较高,典型的就是银行的系统,很多人每台都会有大量的流水进行交易,数据量不大,但频繁的这种业务就可以选择【事务处理】。
数据仓库(ORAP 在线分析):用户量不大,但是一次事务就要查询出大量的数据,对数据库的I/O要求较高,例如一些报表类的系统,就可以选择【数据仓库】
在这里插入图片描述
4、配置数据实例
在这里插入图片描述
5、数据文件的存储路径,这里默认即可
在这里插入图片描述
6、这里配置快速恢复区和归档,这里我们都把他打开
在这里插入图片描述
7、配置监听,这里就用我们之前创建好的监听即可
在这里插入图片描述
8、默认
在这里插入图片描述
9、这里是设置内存大小的。
这里就要弄清楚SGA和PGA的关系了,具体要介绍这个东西很复杂,要讲的东西关联到的东西很多,这里就简单讲一下SGA(共享内存区)、PGA(私有内存区)。
~使用自当共享内存管理:分别对SGA和PGA设置内存大小。
~使用手动共享内存管理:里面是把SGA共享内存区里的东西细化掉了,手动配置自行配置固定大小。
~使用自动内存管理:把SGA和PGA都合在一个大内存里自动管理,数据库这个内存池不分SGA和PGA了,你什么用的多,我什么就自动分配的多一些。
在这里插入图片描述
10、配置数据库最大进程数,这个进程不光是用户连接的进程会用到,数据库的后台进程也会用到。
在这里插入图片描述
11、配置字符集,这里主要讲两个字符集,一个GBK16中文,还有一个是Unicode
GBK16中文:顾名思义,这个数据库存放的数据就是中文汉字类型的嘛。
Unicode:这个是通用字符集,如果你的数据库不光是要存放中文汉字类型的数据,还要存放一些例如俄语、英语、西班牙语,多种字符类型,那么你就要选择unicode,否则会出现数据乱码的情况。
在这里插入图片描述
12、这个专用模式和共享模式可以自行了解一下。
专用模式:一个会话会启用一个私有的会话进程(session),每一个session都会占用你的一些PGA内存。
共享模式:他会起一个或者多个会话进程,这个是自行配置的,用于一个进程对多个用户建立会话,这样的话一个进程多个人用肯定也会对性能上有些影响,这个具体要根据业务去进行配置优化的。
在这里插入图片描述
13、这里是配置EM,EM是Oracle自带的一个数据库监控,这里就不配置了,因为我测试环境不需要,还占空间,个人感觉也不是很好用,需要用到监控的话可以去用其他的开源监控软件。
在这里插入图片描述
14、设置数据库管理员密码,例如sys、system等账号的密码,我这里图方便就设置成统一口令吧。
在这里插入图片描述
15、提示我密码不规范,不管他点【是】,太复杂的我也记不住
在这里插入图片描述
16、这里就默认的,创建一个数据库
在这里插入图片描述
17、这就是一个配置清单,下一步就好了
在这里插入图片描述
18、等待进度条跑满,这里需要的时间是有些多的。
在这里插入图片描述
19、数据库安装完成
在这里插入图片描述

五、Oracle19c启动

###启动监听
[oracle@db dbhome_1]$ lsnrctl  start
###进入Oracle实例
[oracle@db dbhome_1]$ sqlplus / as sysdba
###关闭数据库,阻住用户连接和新事务,等待未提交的事务和会话结束,做检查点(checkpoint),无需实例恢复
SQL> shutdown normal
###关闭数据库,阻住用户连接和新事务,取消现连接的会话,等待未提交的事务提交,做检查点(checkpoint),无需实例恢复
SQL> shutdown transactional
###关闭数据库,阻住用户连接和新事务,并将未提交的事务回滚,做检查点(checkpoint),无需实例恢复。
SQL> shutdown immediate
###关闭数据库,阻住用户连接和新事务,取消未提交的事务,不做检查点(checkpoint),需要实例恢复,切勿随意使用。
SQL> shutdown aborte
###启动数据库,仅读取参数文件。
SQL> startup nomount
###启动数据库,读取参数文件,并挂载控制文件。
SQL> startup mount
###启动数据库,读取参数文件,并挂载控制文件,打开数据库(数据文件、日志文件)。
SQL> startup mount
###启动数据库,异常关闭数据库后,数据库无法正常启动时使用。
SQL> startup force
###启动数据库,具有restricted session权限的用户才能连接到数据库
SQL> startup restrict
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值