Oracle
- 安装docker
- 安装部署
官网:Oracle23AI
功能亮点
-
AI战略搜索
Oracle AI Vector Search专为人工智能(AI)工作负载而设计,允许您基于语义而不是关键字查询数据。 -
JSON 关系二元性
数据可以作为 JSON 文档或关系表透明地访问和更新。
开发人员受益于两者的优势,它们比对象关系映射 (ORM) 更简单、更强大。 -
SQL 中的操作属性图
开发人员现在可以直接在Oracle数据库中针对操作数据构建实时图形分析应用程序,利用其市场领先的安全性、高可用性和性能功能。 -
微服务支持
除了Oracle对微服务的全面支持之外,新功能使得实现跨服务事务变得更加简单。 -
无锁预订
无锁列值保留允许应用程序在不锁定行的情况下保留列中部分值;例如,保留部分银行账户余额或保留库存中的项目,而取消锁定的银行账户或项目的所有其他操作。 -
Kafka API 的 TxEventQ
Kafka 应用程序现在可以通过极少的代码更改直接在 Oracle 数据库上运行,并利用性能事件队列 (TxEventQ)。 -
JavaScript 存储过程
开发人员现在可以使用数据库中的 JavaScript 创建存储过程。此功能还允许开发人员大量使用 JavaScript 库。 -
优先交易
阻止高优先级事务的低优先级事务可以自动中止。此功能减轻了DBA的管理负担,同时保持了高事务吞吐量。 -
数据记录域
数据示例域允许开发人员以集中轻量的方式声明数据(列)的预期用途。例如,您可以声明一个列来保存电子邮件、URL、密码、货币等。应用程序可以使用数据示例域自动生成代码或验证值。 -
多种数据类型和SQL增强功能
- 以下是队列数据类型和SQL增强功能的部分:
- SQL BOOLEAN 数据类型
- UPDATE 和 DELETE 语句的直接连接
- Unicode 15.0 支持
- 不带FROM子句的SELECT
- GROUP BY 列别名或位置
- 每个表最多 4096 列
- 数据库表现最多支持 4096 列。此功能简化了需要大量属性的应用程序(例如 ML 和 IoT)的开发。
-
改进的算法
Oracle数据库内部机器学习算法的新改进使得文本和数据的分类变得更加简单,同时提供了更好的性能和灵活性。 -
分裂功能
新功能使创建和管理分片副本变得更加简单。新的分片模型还改进了具有少量单个值的分片键的数据分配。 -
建筑权利
现在可以在架构级别授予系统权限。此功能简化了权限管理流程,从而可以轻松保护数据库。 -
勘探作用
新角色允许管理员快速为开发人员分配设计、构建和部署 Oracle 数据库应用程序所需的权限。 -
SQL防火墙
SQL防火墙包含在Oracle中,通过监控和阻止数据库授权的SQL和SQL注入攻击(无论SQL执行路径如何),提供针对常见数据库的实时保护。 -
Azure AD OAuth2 集成
新功能支持从Microsoft Azure Cloud单点登录到Oracle数据库服务实例或本地Oracle数据库。
docker_71">安装docker
Ubuntu2404环境
apt -y install apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"apt-get -y install docker-ce
systemctl enable --now docker
安装部署
拉取镜像
docker pull container-registry.oracle.com/database/free:latest
运行容器:设置密码000000
root@huhy:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
container-registry.oracle.com/database/free latest e1ff84cf03ed 5 weeks ago 9.45GB
root@huhy:~# docker run -d -p 1521:1521 -e ORACLE_PWD=000000 --name oracle-db container-registry.oracle.com/database/free:latest
2ed2656cf4fbd10f96358143e30dde8f20f1cee1d41c549bffb2002d2486a4cd
root@huhy:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ed2656cf4fb container-registry.oracle.com/database/free:latest "/bin/bash -c $ORACL…" 4 minutes ago Up 4 minutes (healthy) 0.0.0.0:1521->1521/tcp, :::1521->1521/tcp oracle-db
查看日志
root@huhy:~# docker logs -f oracle-db
Starting Oracle Net Listener.
Oracle Net Listener started.
Starting Oracle Database instance FREE.
Oracle Database instance FREE started.The Oracle base remains unchanged with value /opt/oracleSQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Tue Sep 17 08:00:11 2024
Version 23.5.0.24.07Copyright (c) 1982, 2024, Oracle. All rights reserved.Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07SQL>
User altered.SQL>
User altered.SQL>
Session altered.SQL>
User altered.SQL> Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
Dumping current patch information
===========================================================
No patches have been applied
===========================================================
2024-09-17T08:00:10.139659+00:00
FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN
Completed: Pluggable database FREEPDB1 opened read write
Completed: ALTER DATABASE OPEN
2024-09-17T08:00:12.293506+00:00
FREEPDB1(3):TABLE AUDSYS.AUD$UNIFIED: ADDED INTERVAL PARTITION SYS_P344 (3732) VALUES LESS THAN (TIMESTAMP' 2024-09-18 00:00:00')
2024-09-17T08:00:26.828095+00:00
TABLE SYS.WRP$_REPORTS: ADDED AUTOLIST FRAGMENT SYS_P402 (3) VALUES (( 1448739566, TO_DATE(' 2024-09-16 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_DETAILS: ADDED AUTOLIST FRAGMENT SYS_P403 (3) VALUES (( 1448739566, TO_DATE(' 2024-09-16 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_TIME_BANDS: ADDED AUTOLIST FRAGMENT SYS_P406 (3) VALUES (( 1448739566, TO_DATE(' 2024-09-16 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
2024-09-17T08:03:17.865030+00:00
Fatal NI connect error 12170 [Time : 17-SEP-2024 08:03:17] [NS errors [12535:TNS-12535: TNS:operation timed out] 12606] [NT errors [0 0] 0] [Oracle errors [0 ] 0] [Client Address: <unknown>(connection_id=Ik0aIK2FAyDgYwIAEazIcA==)(service_name=<unknown>)] [PID: 841]
2024-09-17T08:03:17.865939+00:00
WARNING: inbound connection timed out (ORA-3136)
连接数据库
root@huhy:~# docker exec -it oracle-db sqlplus sys/000000@localhost:1521/FREEPDB1 as sysdbaSQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Tue Sep 17 08:05:47 2024
Version 23.5.0.24.07Copyright (c) 1982, 2024, Oracle. All rights reserved.Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07SQL>
创建远程用户,开启远程访问
CREATE USER huhy IDENTIFIED BY "000000";GRANT CREATE SESSION TO huhy;GRANT CONNECT, RESOURCE TO huhy;GRANT ALL PRIVILEGES TO huhy;
分配表空间:用于用户能够创建表等对象
ALTER USER huhy QUOTA UNLIMITED ON USERS;
客户端测试访问