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

Posted IT邦德

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速尝鲜Oracle 23c免费开发者版,惊喜多多相关的知识,希望对你有一定的参考价值。

📢📢📢📣📣📣
哈喽!大家好,我是【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;

postgreSQL15发布,难掩激动快速尝鲜

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

文章目录

前言

PostgreSQL全球开发小组与2022年10月13日,宣布发布PostgreSQL15,这是世界上最先进的开源数据库的最新版本

📣 1.新版本发布

1.官方网址:
https://www.postgresql.org/
PostgreSQL是一个功能强大的开放源码对象关系数据库系统,经过35年的积极开发,它在可靠性、功能健壮性和性能方面享有盛誉。

PostgreSQL全球开发小组与2022年10月13日,宣布发布PostgreSQL15,这是世界上最先进的开源数据库的最新版本。
PostgreSQL 15基于最近版本的性能改进,在管理本地和分布式部署中的工作负载方面取得了显著的进步。

PostgreSQL 15包含许多新功能和增强功能,大致包括:
1.支持SQL MERGE命令。
2.通过指定列列表和行筛选条件,在逻辑复制发布中选择性地发布表的内容。
3.更多压缩选项,包括支持Zstandard(zstd)压缩。这包括支持在pg_basebackup期间在服务器端执行压缩。
4.支持使用JSON格式的结构化服务器日志输出。
5.性能改进,特别是在内存和磁盘排序方面。

📣 2.yum在线安装

✨ 2.1 删除原有PG

yum remove -y postgresql* 
rm -rf  /var/lib/pgsql
rm -rf  /usr/pgsql*
userdel -r postgres
groupdel postgres

✨ 2.2 安装yum源

[root@jeames ~]# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

✨ 2.3 安装PG15

[root@jeames ~]# yum-config-manager --enable pgdg15
[root@jeames ~]# yum repolist enabled | grep pgdg
pgdg-common                PostgreSQL common RPMs for RHEL / Rocky 8 - x86_64
pgdg10                     PostgreSQL 10 for RHEL / Rocky 8 - x86_64
pgdg11                     PostgreSQL 11 for RHEL / Rocky 8 - x86_64
pgdg12                     PostgreSQL 12 for RHEL / Rocky 8 - x86_64
pgdg13                     PostgreSQL 13 for RHEL / Rocky 8 - x86_64
pgdg14                     PostgreSQL 14 for RHEL / Rocky 8 - x86_64
pgdg15                     PostgreSQL 15 for RHEL / Rocky 8 - x86_64

[root@jeames ~]# yum module disable postgresql
[root@jeames ~]# yum install -y postgresql15 postgresql15-server postgresql15-libs postgresql15-contrib 

✨ 2.4 验证安装

[root@jeames ~]# rpm -aq| grep postgres
postgresql15-15.0-1PGDG.rhel8.x86_64
postgresql15-server-15.0-1PGDG.rhel8.x86_64
postgresql15-contrib-15.0-1PGDG.rhel8.x86_64
postgresql15-libs-15.0-1PGDG.rhel8.x86_64

以上说明已经全部安装OK

✨ 2.5 环境变量设置

[root@jeames ~]# which psql
/usr/bin/psql

[root@jeames ~]# echo "export PATH=/usr/pgsql-15/bin:$PATH" >> /etc/profile
[root@jeames ~]# source /etc/profile

✨ 2.6 初始化PG

[root@jeames ~]# /usr/pgsql-15/bin/postgresql-15-setup initdb
Initializing database ... OK


[root@jeames ~]# systemctl status postgresql-15
[root@jeames ~]# systemctl start postgresql-15
[root@jeames ~]# systemctl enable postgresql-15

✨ 2.7 登陆PG

以下方法是本地登陆
[root@jeames ~]# su - postgres
[postgres@jeames ~]$ psql
psql (15.0)
Type "help" for help.

postgres=# \\c
You are now connected to database "postgres" as user "postgres".
postgres=# \\l
                                                 List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
(3 rows)

✨ 2.8 postgres密码修改

postgres=# \\password
Enter new password for user "postgres": 
Enter it again: 

注意:以上输入密码即可

📣 3.PG参数设置

[root@jeames ~]# su - postgres
cat >> /var/lib/pgsql/15/data/postgresql.conf <<"EOF"
listen_addresses = '*'
port=5432
unix_socket_directories='/var/lib/pgsql/15/data'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
EOF

📣 4.PG白名单设置

[root@jeames ~]# su - postgres

cat  > /var/lib/pgsql/15/data/pg_hba.conf << EOF
# TYPE  DATABASE    USER    ADDRESS       METHOD
host      all       all    0.0.0.0/0      trust
EOF

## root用户下启动
[root@jeames ~]# systemctl restart postgresql-15

📣 5.远程登陆

其他服务器:
C:\\Users\\wangd> psql -U postgres -h X.X.X.X -d postgres -p5432

📣 6.建表测试

postgres=# CREATE DATABASE mesdb WITH OWNER=postgres ENCODING='UTF-8';
CREATE DATABASE

postgres=# \\c mesdb
You are now connected to database "mesdb" as user "postgres".



create table student (
id integer not null,
name character(32),
number char(5),
constraint student_pkey primary key (id)
);

mesdb=# \\d student
                 Table "public.student"
 Column |     Type      | Collation | Nullable | Default 
--------+---------------+-----------+----------+---------
 id     | integer       |           | not null | 
 name   | character(32) |           |          | 
 number | character(5)  |           |          | 
Indexes:
    "student_pkey" PRIMARY KEY, btree (id)


mesdb=# INSERT INTO student (id, name, number) VALUES (1, 'IT邦德', '10086'); 
INSERT 0 1
mesdb=# SELECT * FROM student WHERE id=1;
 id |                name                | number 
----+------------------------------------+--------
  1 | IT邦德                             | 10086
(1 row)

以上是关于快速尝鲜Oracle 23c免费开发者版,惊喜多多的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 23c数据库的10个特性介绍

Oracle 23c数据库的10个特性介绍

Oracle Database 23c新特性之注解

微软 Visual Studio 2017 中文正式版下载 – 免费社区版/专业版/企业版

狂团KtAdmin框架正式免费开源发布,助力独立版SAAS系统快速开发!

狂团KtAdmin框架正式免费开源发布,助力独立版SAAS系统快速开发!