如何获得一个Oracle 23ai数据库(vagrant box)

准确的说,是Oracle 23ai Free Developer版,因为企业版目前只在云上(OCI和Azure)和ECC上提供。

前面我博客介绍了3种方法:

  1. Virtual Appliance
  2. RPM安装
  3. Docker

今天介绍最近新出的一种方法,也是我最为推荐的方法,使用vagrant box一键式获取23ai。

要使用这种方法,你需要有以下2个软件:

  • Oracle VirtualBox
  • Vagrant

然后克隆Oracle官方的vagrant项目

bash 复制代码
git clone https://github.com/oracle/vagrant-projects.git

或许你早已克隆,但这个23ai是最近才有的,所以你更新一下就好:

sql 复制代码
git pull origin main

然后,进入23.4.0-Free目录:运行vagrant up即可,以下是日志片段:

bash 复制代码
PS C:\Users\****\Desktop\WORKSPACE\vagrant-projects\OracleDatabase\23.4.0-Free> vagrant up
==> vagrant: Getting Proxy Configuration from Host...
Bringing machine 'oracle23ai-free-vagrant' up with 'virtualbox' provider...
==> oracle23ai-free-vagrant: Box 'oraclelinux/9' could not be found. Attempting to find and install...
    oracle23ai-free-vagrant: Box Provider: virtualbox
    oracle23ai-free-vagrant: Box Version: >= 0
==> oracle23ai-free-vagrant: Loading metadata for box 'https://oracle.github.io/vagrant-projects/boxes/oraclelinux/9.json'
    oracle23ai-free-vagrant: URL: https://oracle.github.io/vagrant-projects/boxes/oraclelinux/9.json
==> oracle23ai-free-vagrant: Adding box 'oraclelinux/9' (v9.3.513) for provider: virtualbox
    oracle23ai-free-vagrant: Downloading: https://yum.oracle.com/boxes/oraclelinux/ol9/OL9U3_x86_64-vagrant-virtualbox-b513.box
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Calculating and comparing box checksum...
==> oracle23ai-free-vagrant: Successfully added box 'oraclelinux/9' (v9.3.513) for 'virtualbox'!
==> oracle23ai-free-vagrant: Importing base box 'oraclelinux/9'...
==> oracle23ai-free-vagrant: Matching MAC address for NAT networking...
==> oracle23ai-free-vagrant: Checking if box 'oraclelinux/9' version '9.3.513' is up to date...
==> oracle23ai-free-vagrant: Setting the name of the VM: oracle23ai-free-vagrant
==> oracle23ai-free-vagrant: Clearing any previously set network interfaces...
==> oracle23ai-free-vagrant: Preparing network interfaces based on configuration...
    oracle23ai-free-vagrant: Adapter 1: nat
==> oracle23ai-free-vagrant: Forwarding ports...
    oracle23ai-free-vagrant: 1521 (guest) => 1521 (host) (adapter 1)
    oracle23ai-free-vagrant: 22 (guest) => 2222 (host) (adapter 1)
==> oracle23ai-free-vagrant: Running 'pre-boot' VM customizations...
==> oracle23ai-free-vagrant: Booting VM...
==> oracle23ai-free-vagrant: Waiting for machine to boot. This may take a few minutes...
    oracle23ai-free-vagrant: SSH address: 127.0.0.1:2222
    oracle23ai-free-vagrant: SSH username: vagrant
    oracle23ai-free-vagrant: SSH auth method: private key
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Vagrant insecure key detected. Vagrant will automatically replace
    oracle23ai-free-vagrant: this with a newly generated keypair for better security.
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Inserting generated public key within guest...
    oracle23ai-free-vagrant: Removing insecure key from the guest if it's present...
    oracle23ai-free-vagrant: Key inserted! Disconnecting and reconnecting using new SSH key...
==> oracle23ai-free-vagrant: Machine booted and ready!
==> oracle23ai-free-vagrant: Checking for guest additions in VM...
==> oracle23ai-free-vagrant: Setting hostname...
==> oracle23ai-free-vagrant: Configuring proxy environment variables...
==> oracle23ai-free-vagrant: Configuring proxy for Yum...
==> oracle23ai-free-vagrant: Mounting shared folders...
    oracle23ai-free-vagrant: /vagrant => C:/Users/****/Desktop/WORKSPACE/vagrant-projects/OracleDatabase/23.4.0-Free
==> oracle23ai-free-vagrant: Running provisioner: shell...
    oracle23ai-free-vagrant: Running: C:/Users/****/AppData/Local/Temp/vagrant-shell20240614-21940-manzyc.sh
    oracle23ai-free-vagrant: INSTALLER: Started up
    oracle23ai-free-vagrant: Oracle Linux 9 BaseOS Latest (x86_64)           7.1 MB/s |  27 MB     00:03
    oracle23ai-free-vagrant: Oracle Linux 9 Application Stream Packages (x86 8.3 MB/s |  36 MB     00:04
    oracle23ai-free-vagrant: Oracle Linux 9 UEK Release 7 (x86_64)           4.6 MB/s |  36 MB     00:07
    oracle23ai-free-vagrant: Last metadata expiration check: 0:00:07 ago on Fri 14 Jun 2024 08:33:01 AM UTC.
    oracle23ai-free-vagrant: Dependencies resolved.
    oracle23ai-free-vagrant: =====================================================================================================
    oracle23ai-free-vagrant:  Package                         Arch    Version                             Repository          Size
    oracle23ai-free-vagrant: =====================================================================================================
    oracle23ai-free-vagrant: Installing:
    oracle23ai-free-vagrant:  kernel-uek-core                 x86_64  5.15.0-207.156.6.el9uek             ol9_UEKR7           49 M
    oracle23ai-free-vagrant:  kernel-uek-devel                x86_64  5.15.0-207.156.6.el9uek             ol9_UEKR7           39 M
    oracle23ai-free-vagrant: Upgrading:
    oracle23ai-free-vagrant:  NetworkManager                  x86_64  1:1.46.0-8.0.1.el9_4                ol9_baseos_latest  2.3 M
    oracle23ai-free-vagrant:  NetworkManager-libnm            x86_64  1:1.46.0-8.0.1.el9_4                ol9_baseos_latest  1.9 M
    oracle23ai-free-vagrant:  acl                             x86_64  2.3.1-4.el9                         ol9_baseos_latest   87 k
...
    oracle23ai-free-vagrant: INSTALLER: Oracle preinstall and openssl complete
    oracle23ai-free-vagrant: INSTALLER: Environment variables set
    oracle23ai-free-vagrant: INSTALLER: Downloading Oracle Database software
    oracle23ai-free-vagrant: Last metadata expiration check: 0:06:04 ago on Fri 14 Jun 2024 04:33:01 PM +08.
    oracle23ai-free-vagrant: Dependencies resolved.
    oracle23ai-free-vagrant: ================================================================================
    oracle23ai-free-vagrant:  Package                        Arch        Version     Repository         Size
    oracle23ai-free-vagrant: ================================================================================
    oracle23ai-free-vagrant: Installing:
    oracle23ai-free-vagrant:  oracle-database-free-23ai      x86_64      1.0-1       @commandline      1.3 G
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Transaction Summary
    oracle23ai-free-vagrant: ================================================================================
    oracle23ai-free-vagrant: Install  1 Package
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Total size: 1.3 G
    oracle23ai-free-vagrant: Installed size: 3.6 G
    oracle23ai-free-vagrant: Downloading Packages:
    oracle23ai-free-vagrant: Running transaction check
    oracle23ai-free-vagrant: Transaction check succeeded.
    oracle23ai-free-vagrant: Running transaction test
    oracle23ai-free-vagrant: Transaction test succeeded.
    oracle23ai-free-vagrant: Running transaction
    oracle23ai-free-vagrant:   Preparing        :                                                        1/1
    oracle23ai-free-vagrant:   Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64                 1/1
    oracle23ai-free-vagrant:   Installing       : oracle-database-free-23ai-1.0-1.x86_64                 1/1
    oracle23ai-free-vagrant:   Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64                 1/1
    oracle23ai-free-vagrant: [INFO] Executing post installation scripts...
    oracle23ai-free-vagrant: [INFO] Oracle home installed successfully and ready to be configured.
    oracle23ai-free-vagrant: To configure Oracle Database Free, optionally modify the parameters in '/etc/sysconfig/oracle-free-23ai.conf' and then run '/etc/init.d/oracle-free-23ai configure' as root.
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant:   Verifying        : oracle-database-free-23ai-1.0-1.x86_64                 1/1
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Installed:
    oracle23ai-free-vagrant:   oracle-database-free-23ai-1.0-1.x86_64
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Complete!
    oracle23ai-free-vagrant: INSTALLER: Oracle software installed
    oracle23ai-free-vagrant: 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:
    oracle23ai-free-vagrant: Confirm the password:
    oracle23ai-free-vagrant: Configuring Oracle Listener.
    oracle23ai-free-vagrant: Listener configuration succeeded.
    oracle23ai-free-vagrant: Configuring Oracle Database FREE.
    oracle23ai-free-vagrant: Enter SYS user password:
    oracle23ai-free-vagrant: *************
    oracle23ai-free-vagrant: Enter SYSTEM user password:
    oracle23ai-free-vagrant: ***************
    oracle23ai-free-vagrant: Enter PDBADMIN User Password:
    oracle23ai-free-vagrant: ***************
    oracle23ai-free-vagrant: Prepare for db operation
    oracle23ai-free-vagrant: 7% complete
    oracle23ai-free-vagrant: Copying database files
    oracle23ai-free-vagrant: 29% complete
    oracle23ai-free-vagrant: Creating and starting Oracle instance
    oracle23ai-free-vagrant: 30% complete
    oracle23ai-free-vagrant: 33% complete
    oracle23ai-free-vagrant: 36% complete
    oracle23ai-free-vagrant: 39% complete
    oracle23ai-free-vagrant: 43% complete
    oracle23ai-free-vagrant: Completing Database Creation
    oracle23ai-free-vagrant: 47% complete
    oracle23ai-free-vagrant: 49% complete
    oracle23ai-free-vagrant: 50% complete
    oracle23ai-free-vagrant: Creating Pluggable Databases
    oracle23ai-free-vagrant: 54% complete
    oracle23ai-free-vagrant: 71% complete
    oracle23ai-free-vagrant: Executing Post Configuration Actions
    oracle23ai-free-vagrant: 93% complete
    oracle23ai-free-vagrant: Running Custom Scripts
    oracle23ai-free-vagrant: 100% complete
    oracle23ai-free-vagrant: Database creation complete. For details check the logfiles at:
    oracle23ai-free-vagrant:  /opt/oracle/cfgtoollogs/dbca/FREE.
    oracle23ai-free-vagrant: Database Information:
    oracle23ai-free-vagrant: Global Database Name:FREE
    oracle23ai-free-vagrant: System Identifier(SID):FREE
    oracle23ai-free-vagrant: Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log" for further details.
    oracle23ai-free-vagrant:
    oracle23ai-free-vagrant: Connect to Oracle Database using one of the connect strings:
    oracle23ai-free-vagrant:      Pluggable database: localhost.localdomain/FREEPDB1
    oracle23ai-free-vagrant:      Multitenant container database: localhost.localdomain
    oracle23ai-free-vagrant: INSTALLER: Database created
    oracle23ai-free-vagrant: oracle-free-23ai.service is not a native service, redirecting to systemd-sysv-install.
    oracle23ai-free-vagrant: Executing: /usr/lib/systemd/systemd-sysv-install enable oracle-free-23ai
    oracle23ai-free-vagrant: INSTALLER: Created and enabled oracle-free-23ai systemd service
    oracle23ai-free-vagrant: INSTALLER: setPassword.sh file set up
    oracle23ai-free-vagrant: INSTALLER: Running user-defined post-setup scripts
    oracle23ai-free-vagrant: INSTALLER: Done running user-defined post-setup scripts
    oracle23ai-free-vagrant: ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: 3PZKRiIBbhsS1
    oracle23ai-free-vagrant: INSTALLER: Installation complete, database ready to use!

和生成其他版本的Oracle 数据库不同,23ai无需提前准备安装介质,这是在安装中自动下载的,因此网速很重要。

另外,这个数据库的操作系统是Oracle Linux 9:

sql 复制代码
[vagrant@localhost ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.4 (Plow)

PDB不是orclpdb1了,而是freepdb1:

sql 复制代码
[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 23.0.0.0.0 - Production on Mon Jun 17 15:02:50 2024
Version 23.4.0.24.05

Copyright (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.4.0.24.05

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 FREEPDB1                       READ WRITE NO

立此存照:

最后,看下环境变量设置:

bash 复制代码
$ tail .bashrc
...
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PATH=$PATH:$ORACLE_HOME/bin
相关推荐
养生技术人4 小时前
Oracle OCP认证考试题目详解082系列第48题
运维·数据库·sql·oracle·database·开闭原则·ocp
一條狗4 小时前
学习日报 20251007|深度解析:基于 Guava LoadingCache 的优惠券模板缓存设计与实现
java·oracle·loadingcache
杨云龙UP7 小时前
小工具大体验:rlwrap加持下的Oracle/MySQL/SQL Server命令行交互
运维·服务器·数据库·sql·mysql·oracle·sqlserver
他们叫我技术总监1 天前
Oracle数据库常见问题实战:从连接错误到自动清理空闲会话
数据库·oracle
一只小bit1 天前
MySQL表的操作:创建—修改—删除流程解析
数据库·mysql·oracle
养生技术人2 天前
Oracle OCP认证考试题目详解082系列第45题
运维·数据库·sql·oracle·开闭原则·ocp
倔强的石头1063 天前
【金仓数据库】ksql 指南(一) 连接本地 KingbaseES 数据库与基础交互
数据库·oracle·kingbasees·金仓数据库·ksql
养生技术人3 天前
Oracle OCP认证考试题目详解082系列第54题
数据库·sql·oracle·运维开发·database·开闭原则·ocp
krielwus3 天前
Oracle 11g R2 物理冷备
数据库·oracle
养生技术人3 天前
Oracle OCP认证考试题目详解082系列第50题
运维·数据库·sql·oracle·database·开闭原则