草庐IT

快速尝鲜Oracle 23c免费开发者版,惊喜多多

IT邦德 2023-04-15 原文

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及GP 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

前言

2023年4月3日, Oracle CloudWorld Tour –甲骨文宣布推出免费版 Oracle Database 23c,本博客介绍了23C的部署及新特性

📣 1.23C概述

2023年4月3日, Oracle CloudWorld Tour –甲骨文宣布推出免费版 Oracle Database 23c。新的Oracle Database 23c 免费版 — 开发人员版本 满足了全球开发人员和组织日益增长的访问 Oracle Database 23c“ App Simple ”中最新特性的需求。开发人员现在可以使用创新的 Oracle 数据库特性,这些特性可以简化现代数据驱动应用程序的开发,让他们为计划中的下一个长期支持版本 Oracle 数据库 23c 版本做好准备。

Oracle Database 23c 免费版——开发人员版可 作为 Docker Image、VirtualBox VM 或 Linux RPM 安装文件下载,
无需用户帐户或登录。计划很快推出 Windows 版本
官方下载地址:
https://www.oracle.com/database/technologies/free-downloads.html

📣 2.环境准备

操作系统: Oracle Linux 8.7
数据库: Oracle Database 23c Free - Developer Release

安装包:
OracleLinux-R8-U7-x86_64-dvd.iso
oracle-database-free-23c-1.0-1.el8.x86_64.rpm
oracle-database-preinstall-23c-1.0-0.5.el8.x86_64

Oracle Linux官方网址:
https://yum.oracle.com/oracle-linux-isos.html

📣 3.环境配置

✨ 3.1 关闭防火墙

[root@OEL8 ~]# systemctl stop firewalld.service 
[root@OEL8 ~]# systemctl disable firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@OEL8 ~]# systemctl status firewalld.service

✨ 3.2 SELINUX关闭

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
注:更改后记得重启服务器生效
[root@OEL8 ~]# /usr/sbin/sestatus
SELinux status:                 disabled

✨ 3.3 avahi服务停止

systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon

✨ 3.4 host设置

[root@OEL8 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

##新增ip与host的对应关系
192.168.6.66 OEL8

📣 4.yum配置

[root@OEL8 opt]# mount | grep sr0
/dev/sr0 on /run/media/root/OL-8-7-0-BaseOS-x86_64 type iso9660 (ro,nosuid,nodev,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=0,gid=0,dmode=500,fmode=400,iocharset=utf8,uhelper=udisks2)

[root@OEL8 ~]# cd /etc/yum.repos.d
[root@OEL8 yum.repos.d]# vi server.repo
[AppStream]
name=Linux
enable=1
gpgcheck=0
baseurl=file:///run/media/root/OL-8-7-0-BaseOS-x86_64/AppStream

[BaseOS]
name=Linux
enable=1
gpgcheck=0
baseurl=file:///run/media/root/OL-8-7-0-BaseOS-x86_64/BaseOS

[root@OEL8 yum.repos.d]# yum repolist
[root@OEL8 yum.repos.d]# yum repolist
repo id                                                                        repo name
AppStream                                                                      Linux
BaseOS                                                                         Linux

📣 5.安装数据库

1.上传安装包至 /opt目录下
[root@OEL8 ~]# cd /opt
[root@OEL8 opt]# ll
-rw-r--r-- 1 root root 1758776440 Apr  5 09:49 oracle-database-free-23c-1.0-1.el8.x86_64.rpm
-rw-r--r-- 1 root root      30688 Apr  5 09:49 oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm

2.安装预安装包
[root@OEL8 opt]# yum -y localinstall oracle-database-preinstall-23c*

3.安装数据库
[root@OEL8 opt]# yum -y localinstall oracle-database-free-23c*


📣 6.数据库配置

1.修改配置文件
[root@OEL8 ~]# vi /etc/sysconfig/oracle-free-23c.conf
#This is a configuration file to setup the Oracle Database.
#It is used when running '/etc/init.d/oracle-free-23c configure'.

# LISTENER PORT used Database listener, Leave empty for automatic port assignment
LISTENER_PORT=1521

# Character set of the database
CHARSET=AL32UTF8

# Database file directory
# If not specified, database files are stored under Oracle base/oradata
DBFILE_DEST=/app/oracle/oradata/

# DB Domain name
DB_DOMAIN=23cfree

# SKIP Validations, memory, space
SKIP_VALIDATIONS=false

2.创建目录、授权
[root@OEL8 ~]# mkdir -p /app/oracle/oradata/FREE
[root@OEL8 ~]# chmod 775 -R /app
[root@OEL8 ~]# chown oracle:oinstall -R /app

3.启动数据库
##此处设置密码为:Orace123456
[root@OEL8 ~]# /etc/init.d/oracle-free-23c configure

📣 7.访问数据库

1.查看数据状态
[root@OEL8 ~]# /etc/init.d/oracle-free-23c status
Status of the Oracle FREE 23c service:
LISTENER status: RUNNING
FREE Database status:   RUNNING

2.环境变量设置
[oracle@OEL8 ~]$ vi .bash_profile
export ORACLE_SID=FREE
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/23c/dbhomeFree
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/JRE:ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

[oracle@OEL8 ~]$ source .bash_profile

3.服务器登陆数据库
[oracle@OEL8 ~]$ sqlplus / as sysdba

4.远程登陆数据库
[oracle@OEL8 ~]$ sqlplus sys/Orace123456@192.168.6.66:1521/FREE.23cfree as sysdba

📣 8.新特性

(1) 不带FROM子句的SELECT查询
在Oracle 23c中,第一次实现了不带From子句的查询,也不需要dual

SQL>  ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
Session altered.

SQL> SELECT SYSDATE;
SYSDATE
-------------------
2023-04-05 11:27:55

(2) 单表支持4096列
Oracle 此前版本单表支持1000列。

在23c中,单表支持列数量扩展到4096列,启用这一个特性需要将兼容性参数设置为23.0.0,同时将 Max_columns设置为Extended。

SQL> show parameter MAX_COLUMNS;           
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_columns                          string      STANDARD

SQL> alter system set MAX_COLUMNS=EXTENDED scope=spfile;
注:静态参数修改,需要重启数据库
SQL> shu immediate;
SQL> startup
SQL> show parameter MAX_COLUMNS; 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_columns                          string      EXTENDED

(3)SCHEMA级别的权限
在23c之前的版本,如果针对Schema对其他用户进行授权,需要通过系统权限或对象权限分别显式地授予,
这对数据库带来了额外的安全风险或复杂性。

在Oracle 23中,可以对Schema进行授权,简化了之前的权限操作,

grant select any table on SCHMEA GSMUSER to DIP;

(4)Boolean数据类型
在Oracle Database 23c中,布尔数据类型被支持

create table test(name varchar2(100),flag BOOLEAN);
INSERT INTO test VALUES('jeames',1);
INSERT INTO test VALUES('IT',True);
INSERT INTO test VALUES('hefei',1);
INSERT INTO test VALUES('abc',FALSE);

select name from test where flag;

SQL> select name from test where flag;
NAME
------------
jeames
IT
hefei

(5)基于别名的GROUP BY
在Oracle Database 23c中,现在支持基于别名、位置的GROUP BY,这大大简化了SQL文本和编写

select extract(year FROM hire_date) as hire_year,count(*)
from employees
group by hire_year
having hire_year>1985;


(6)DDL的 IF EXISTS判断
在Oracle Database 23c中,DDL支持通过 IF [NOT] EXISTS 判断,从而规避执行过程中的错误、异常和中断

创建表时指定:
CREATE TABLE IF NOT EXISTS Customers (ID NUMBER(10), Name VARCHAR2(100));

删除表时指定:
DROP TABLE IF EXISTS Customers;

有关快速尝鲜Oracle 23c免费开发者版,惊喜多多的更多相关文章

  1. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  2. ruby - 如何以表格格式快速打印 Ruby 哈希值? - 2

    有没有办法快速将表格格式的ruby​​哈希打印到文件中?如:keyAkeyBkeyC...1232343451253474456...其中散列的值是不同大小的数组。还是使用双循环是唯一的方法?谢谢 最佳答案 试试我写的这个gem(在表中打印散列、ruby对象、ActiveRecord对象):http://github.com/arches/table_print 关于ruby-如何以表格格式快速打印Ruby哈希值?,我们在StackOverflow上找到一个类似的问题:

  3. 电脑启动后显示器黑屏怎么办?排查下面4个问题,快速解决 - 2

    电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑

  4. 如何判断oracle是否启动及启动oracle数据库 - 2

    plsql连接Oracle超时,完犊子了肯定是服务器断电了。得马上检查Oracle服务器状态1、检查数据库是否启动su-oracle切换到Oracle用户,输入sqlplus/assysdba显示连接状态。如果末尾显示的状态是Connectedtoanidleinstance.证明未启动2、启动数据库startup启动数据库,末尾出现Databaseopened说明数据库启动成功3、查看数据库监听是否正常先quit;断开Oracle连接,使用lsnrctlstatus查看监听状态,如果出现TNS-开头的Nolistener、Connectionrefused等错误,说明监听未启动4、启动数据库

  5. ruby - 从谷歌开发者网站下载后,client_secret.json 为空 - 2

    我正在尝试从googleAPI下载client_secret.json。我正在执行https://developers.google.com/gmail/api/quickstart/ruby中列出的步骤.使用此向导在GoogleDevelopersConsole中创建或选择项目并自动启用API。在左侧边栏中,选择同意屏幕。选择电子邮件地址并输入产品名称(如果尚未设置),然后单击“保存”按钮。在左侧边栏中,选择凭据并点击创建新客户端ID。选择应用程序类型已安装应用程序,已安装应用程序类型为其他,然后单击“创建客户端ID”按钮。点击新客户端ID下的下载JSON按钮。将此文件移动到您的工作

  6. ruby - 使单元测试快速失败以进行突变测试 - 2

    mutationtesting遇到一个问题是它很慢,因为默认情况下您会为每个生成的突变执行完整的测试运行(测试文件或一组测试文件)。加快突变测试的一种方法是,一旦遇到单一故障(但仅在突变测试期间),就停止对给定突变体的测试运行。更好的做法是让变异测试者记住杀死最后一个变异体的第一个测试是什么,并将其首先交给下一个变异体。ruby中是否有任何东西可以做这些事情,或者我最好的选择是开始猴子修补?(是的,我知道单元测试应该很快。显示所有失败的测试在突变测试之外很有用,因为它不仅可以帮助您识别出问题,还可以查明哪里出了问题)编辑:我目前正在对测试/单元使用heckle。如果测试/单元不可能记住

  7. ruby - 使用和不使用 Rails 的快速 (Rspec) 测试 - 2

    我有两个类:1.Sale是ActiveRecord的子类;它的工作是将销售数据持久保存到数据库中。classSale2.SalesReport是一个标准的Ruby类;它的工作是生成和绘制有关销售的信息。classSalesReportdefinitialize(start_date,end_date)@start_date=start_date@end_date=end_dateenddefsales_in_durationSale.total_for_duration(@start_date,@end_date)end#...end因为我想使用TDD并且我希望我的测试运行得非常快,所

  8. ruby - 快速FTP服务器 - 2

    我正在寻找一个快速、无需配置的FTP服务器。完全像Serve的东西或Rack_dav,但对于FTP,它可以通过运行命令来发布文件夹。是否有gem或其他东西可以做这样的事情?解决方案基于Wayne的ftpdgem,我创建了一个快速且易于使用的gem,名为Purvey. 最佳答案 ftpdgem支持TLS,并带有文件系统驱动程序。与em-ftpd一样,您提供一个驱动程序,但该驱动程序不需要做太多事情。这是一个最低限度的FTP服务器,它接受任何用户名/密码,并提供临时目录中的文件:require'ftpd'require'tmpdir'c

  9. ruby - 快速解决字谜 - 2

    给定两个字符串,我想确定它们是否是彼此的变位词。这是我想出的解决方案:#outputmessagesdefanagramputs"Anagram!"exitenddefnot_anagramputs"Notananagram!"exitend#mainmethodif__FILE__==$0#readtwostringsfromthecommandlinefirst,second=gets.chomp,gets.chomp#specialcase1not_anagramiffirst.length!=second.length#specialcase2anagramiffirst==s

  10. 线性代数让我想想:快速求三阶矩阵的逆矩阵 - 2

    快速求三阶矩阵的逆矩阵前言一般情况下,我们求解伴随矩阵是要注意符号问题和位置问题的(如下所示)A−1=1[  ][−[  ]−[  ]−[  ]  −[  ]]=A−1=1[  ][   M11−[M12]   M13−[M21]   M22−[M23]     M31−[M32]   M33]⊤\begin{aligned}&A^{-1}=\frac{1}{[\\]}\left[\begin{array}{cccccc}&-[\\]&\\-[\\]&&-[\\]\\\\&-[\\]&\\\end{array}\right]=\\\\&A^{-1}=\frac{1}{[\\]}\left[\b

随机推荐