3

oracle database 23c free版在centos 8上的安装及其部分新特性尝试 -m6米乐安卓版下载

原创 拨开乌云见阳光 2023-04-19
1254

在墨天轮上看到关于oracle database 23c的有奖征文活动:

https://www.modb.pro/db/525525

于是激发了想要了解oracle database 23c的兴趣。

在看了相关的介绍后,了解到oracle database 23c free 版目前有三种安装方式:

1、通过docker容器化安装

2、将ova文件导入到virtualbox虚拟机中

3、rpm方式安装

由于oracle数据库在生产环境中,一般是部署在裸金属或虚机上,而在我本机测试环境上,也是习惯将oracle数据库部署在虚机上。

因此,就打算将这个oracle database 23c free 版部署在虚机上,但是对于第2种安装方式,

要先安装virtualbox虚拟软件,再下载超大的ova文件,然后再将ova文件导入到virtualbox虚拟机中,感觉有些麻烦。

于是就想尝试能否将oracle database 23c free 版,安装到我本子的vmware虚拟机上呢,而且也不想用oracle的操作系统ole,而是用更常使用的centos。

按照以上想法,在当天晚上,真就尝试安装成功了。整个安装过程很顺利快捷,让人感觉到oracle对用户更加友善了。

以下是分享的安装过程,希望我的分享能帮助到有类似想法的小伙伴,如果有所帮助,请给我点赞加油,谢谢。

其中linux环境的安装文档如下:

通过阅读官方文档,对安装要求和安装流程有个整体的了解,确保自己的安装操作,不会出现方向性错误。

1、创建vmware虚拟机

2、在虚拟机上安装centos 8

3、安装oracle database 23c free版

1、下载相关的安装介质

序号

软件包

下载地址

1

vmware-workstation-version.exe

2

centos-8.5.2111-x86_64-dvd1.iso

3

centos-vault-8.5.2111.repo

4

oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm

5

oracle-database-free-23c-1.0-1.el8.x86_64.rpm


2、在本机上安装虚拟机管理软件vmware workstation

在本机(windows7或10),双击vmware-workstation-version.exe文件,安装虚拟机管理软件vmware workstation。

3、创建虚拟机

(1)oracle database 23c free版的系统要求:

操作系统:

oracle linux 8 distributions for x86-64

red hat enterprise linux 8 distributions for x86-64

网络协议:

支持下列网络协议:

ipc

udp

tcp/ip

tcp/ip with ssl

cpu:

oracle 数据库免费版自动将自身限制为两个内核进行处理。

内存:

至少 1 gb 内存。建议使用 2 gb 内存

oracle 数据库免费版的最大 ram 量不能超过 2 gb,即使有更多可用内存空间。

swap交换空间

建议最小交换空间为 2 gb 或 ram 大小的两倍,以较小者为准。

磁盘空间:

最少 10 gb。

oracle 数据库免费安装使用大约 9 gb 磁盘空间。

oracle 数据库免费版中的最大用户数据量不能超过 12 gb。如果用户数据最超过此限制,则系统将报错:ora-12592


(2)根据以上要求创建虚拟机

打开vmware workstation软件,创建“cenos 8 64位”虚拟机,如下:

为虚拟机分配1cpu 2gb内存即可,创建好的虚机配置情况如下:

4、安装centos

在以上创建好的虚机上,挂载centos-8.5.2111-x86_64-dvd1.iso,并最小化安装centos 8.5

完成centos安装,虚拟机重启,然后以root用户登录此虚拟机。

5、关闭防火

执行如下命令:

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld


6、关闭selinux

执行如下命令:

sed -i ‘s/^selinux=enforcing$/selinux=disabled/’ /etc/selinux/config

setenforce 0


7、设置yum源

cd  /etc/yum.repos.d/

mkdir bak

mv *.repo ./bak/

上传centos-vault-8.5.2111.repo到当前目录

mv centos-vault-8.5.2111.repo /etc/yum.repos.d/centos-base.repo

yum makecache


1、上传oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm文件到centos虚拟机

2、以root用户,执行如下命令:

yum -y localinstall oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm

以上预安装过程,将自动安装所需的系统依赖包,并且自动设置oracle安装建议的最小内核参数值。如下: 

内核参数

参数值

file-max

6815744

semmsl

250

semmns

32000

semopm

100

semmni

128

shmmni

4096

shmall

1073741824

shmmax

4398046511104

panic_on_oops

1

rmem_default

262144

rmem_max

4194304

wmem_default

262144

wmem_max

1048576

aio-max-nr

1048576

ip_local_port_range

9000–65500

以上参数,可以查看/etc/sysctl.conf

1、上传oracle-database-free-23c-1.0-1.el8.x86_64.rpm文件到centos虚拟机

2、以root用户,执行如下命令:

yum -y localinstall oracle-database-free-23c-1.0-1.el8.x86_64.rpm

以上安装命令执行成功后,显示如下:

从以上信息可知:

(1)oracle home已经安装,也就是说oracle用户及oracel_home目录已经创建。

(2)可以根据需要修改配置/etc/sysconfig/oracle-free-23c.conf文件中的参数。

(3)此时只是完成了oracle database 23c free版软件的安装,但是尚未创建数据库实例。

以root用户,执行如下命令:

/etc/init.d/oracle-free-23c configure

执行过程如下:

specify a password to be used for database accounts. oracle recommends that the password entered should be at least 8 characters in length,

contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].

note that the same password will be used for sys, system and pdbadmin accounts:  此处输入数据库特权用户的登录口令

confirm the password:再次输入登录口令

configuring oracle listener.

listener configuration succeeded.

configuring oracle database free.

enter sys user password:

**********

enter system user password:

*************

enter pdbadmin user password:

*********

prepare for db operation

7% complete

copying database files

29% complete

creating and starting oracle instance

30% complete

33% complete

36% complete

39% complete

43% complete

completing database creation

47% complete

49% complete

50% complete

creating pluggable databases

54% complete

71% complete

executing post configuration actions

93% complete

running custom scripts

100% complete

database creation complete. for details check the logfiles at:

/opt/oracle/cfgtoollogs/dbca/free.

database information:

global database name:free

system identifier(sid):free

look at the log file “/opt/oracle/cfgtoollogs/dbca/free/free.log” for further details.

connect to oracle database using one of the connect strings:

pluggable database: centos85/freepdb1

multitenant container database: centos85

以上执行过程大约7~8分钟。

通过以上执行显示的信息可知:

(1)全局数据库名(global database name): free

(2)sid:free

(3)可插拔数据库:freepdb1

(4)多租户容器数据库:centos85(虚拟主机名)

以oracle用户登录centos虚拟机,执行如下操作:

$ vi ~/.bash_profile

加入如下内容:

export oracle_home=/opt/oracle/product/23c/dbhomefree

export oracle_sid=free

export nls_lang=american_america.zhs16gbk

export path=$oracle_home/bin:$path


执行如下命令,使以上设置的环境变量生效:

$ source ~/.bash_profile


1、查看服务进程

ps -ef|grep db_

主要服务进程如下:

服务进程名

作用

db_aqpc_free

aq process coordinator

db_cjq0_free

job queue coordinator process

db_ckpt_free

checkpoint process

db_cl00_free

cleanup worker process

db_clmn_free

cleanup main process

db_d000_free

dispatcher process

db_dbrm_free

database resource manager process

db_dbw0_free

database writer process

db_dia0_free

db_dia1_free

diagnostic process

db_diag_free

diagnostic capture process

db_gcr0_free

db_gcr1_free

global conflict resolution worker process

db_gen0_free

db_gen2_free

general task execution process

db_j000_free

db_j001_free

db_j002_free

db_j003_free

db_j004_free

db_j005_free

job queue worker process

db_lg00_free

db_lg01_free

log writer worker

db_lgwr_free

log writer process

db_lmhb_free

 

db_lreg_free

listener registration process

db_m000_free

db_m002_free

db_m004_free

db_m005_free

db_m006_free

db_m007_free

db_m008_free

db_m009_free

shared mmon worker process

db_mman_free

memory manager process

db_mmnl_free

manageability monitor lite process

db_mmon_free

manageability monitor process

db_ofsd_free

oracle file server background process

db_p000_free

parallel query worker process

db_pman_free

process manager

db_pmon_free

process monitor

db_psp0_free

process spawner process

db_pxmn_free

parallel execution monitor

db_q003_free

db_q004_free

aq server class process

db_qm02_free

aq master class process

db_rcbg_free

result cache background process

db_reco_free

recoverer process

db_s000_free

shared server process

db_smco_free

space management coordinator process

db_smon_free

system monitor process

db_svcb_free

service background process

db_tt00_free

db_tt01_free

db_tt02_free

redo transport worker process

db_vkrm_free

virtual scheduler for resource manager process

db_vktm_free

virtual keeper of time process

db_vosd_free

 

db_w000_free

db_w001_free

db_w002_free

db_w003_free

db_w004_free

db_w005_free

db_w006_free

db_w007_free

space management worker process

关于后台服务进程,更详细的说明,请参看:

2、查看监听状态

执行如下命令:

lsnrctl status

正常的监听服务状态,示例如下:

3、查看数据库实例的主要信息

(1)查看版本信息:

(2)查看数据库和实例以及容器数据库的信息

(3)查看sga信息

1、通过sqlplus登录数据库

(1)本机登录

sqlplus / as sysdba

sqlplus system


(2)通过客户端的tns远程登录

sqlplus system@free


(3)通过tns描述串远程登录

sqlplus system@’(description=(address_list=(address=(protocol=tcp)(host=192.168.20.86)(port=1521)))(connect_data=(service_name=free)))’


(4)通过“easy connect”方式远程登录

连接容器数据库:sqlplus host[:port]

sqlplus 

连接可插拔数据库:sqlplus host[:port]/service_name

sqlplus 


2、通过plsql developer登录数据库

(1)安装oracle客户端

oracle客户端安装包下载:

(2)设置客户端的tns配置文件

oracle客户端的tns配置文件tnsnames.ora,相关配置内容如下:

ora23c-free=

(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.20.85)(port = 1521))

)

(connect_data =

(service_name = free)

)

)

ora23c-pdb=

(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.20.85)(port = 1521))

)

(connect_data =

(service_name = freepdb1)

)

)


(3)安装pl/sql developer

安装包下载:

(4)启动pl/sql developer,并登录数据库

1、查看有哪些可插拔数据库

2、进入可插拔数据库

3、查看插拔数据库中有哪些表空间及其数据文件

4、在可插拔数据库中创建测试用户并授权

5、创建测试用户的表并插入数据

可参考脚本:$oracle_home/rdbms/admin/utlsampl.sql

以scott用户登录可插拔数据库:

sqlplus

执行如下命令,向表中插入数据:

1、停止数据库服务

(1)关闭监听服务

lsnrctl stop

lsnrctl status

(2)关闭数据库服务实例

sqlplus / as sysdba

sql> shutdown immediate


2、启动数据库服务

(1)启动监听服务

lsnrctl start

lsnrctl status

(2)启动数据库服务实例

sqlplus / as sysdba

sql> startup


关于oracle database 23c free版的新特性介绍,请详见:

以下是对几个新特性的尝试了解:

1、数据库表或视图中允许的最大列数从 1000 增加到 4096

max_columns = { standard | extended }

此参数值默认为standard。

当此参数设置为standard时,数据库表或视图中允许的最大列数为 1000。

当此参数设置为extended时,数据库表或视图中允许的最大列数为 4096。

设置此参数,要先确认兼容性参数compatible的值为23.0.0

设置此参数,要先确认兼容性参数compatible的值为23.0.0

然后设置此参数值为extended,重启数据库服务生效,如下:

在此之后,就可以创建多于1000列的表了!

2、不带from子句的select查询

3、boolean数据类型

在之前的oracle版本中,boolean 类型是不被支持的,在 oracle database 23c 中,boolean 数据类型被支持。

同时还提供了一个新的函数 to_boolean(),作用是将字符串转换为布尔数据类型。演示如下:

4、ddl支持通过 if [not] exists 判断

在之前的版本中,如果创建一个已经存在的表,则会报错: ora-00955: name is already used by an existing object ;

如果删除一个不存在的表,则会报错: ora-00942: table or view does not exist。

在oracle 23c 支持 create table if not exist 以及 drop table if exist 语句,从而避免执行过程中的报错。例如:

5、insert 语句时可以一次插入多条记录

6、表值构造函数

7、基于别名的分组查询

以下分别演示了不用此功能和使用此功能的sql写法,可以看到此功能大大简化了sql的编写:

8、关联更新表数据

可以关联其他的表,来更新当前表中的数据,示例如下:

9、schema 级别的权限

10、开发员角色

oracle 23c新增了一个开发员角色,此角色包含了大部份开发人员所需要的权限,使用如下命令进行授权:

以dev_user用户登录数据,可以查看到其所具有的权限,如下所示:

11、在数据库中执行javascript

(1)在数据库中执行 javascript,需要如下授权:

grant  execute on javascript  to user_name;

(2)如果要使用dbms_mle动态执行javascript脚本,还需要如下授权:

grant  execute dynamic mle  to user_name;

(3)创建javascript函数及调用执行演示如下:

在4月10日在墨天轮上看到了“oracle database 23c free”的消息,

在当天晚上,在本地vmware虚拟机的centos 8环境中,成功的安装了oracle database 23c free版,并进行了简单的测试。

在此感谢墨天轮的知识分享!

由于工作原因,直到今天才将以上安装和试用过程,整理成本篇文字。对于其中理解有误的地方,请各位老师和同学批评指正。

也希望能和各位墨友共同学习、共同成长。谢谢!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图