如何获得一个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
相关推荐
远歌已逝2 小时前
维护在线重做日志(二)
数据库·oracle
LKID体11 小时前
Python操作neo4j库py2neo使用(一)
python·oracle·neo4j
斗-匕12 小时前
Spring事务管理
数据库·spring·oracle
一行玩python12 小时前
SQLAlchemy,ORM的Python标杆!
开发语言·数据库·python·oracle
王ASC13 小时前
ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。ojdbc8版本23.2.0.0驱动BUG【已解决】
数据库·sql·oracle
不爱学习的啊Biao15 小时前
初识mysql数据库
数据库·mysql·oracle
SRC_BLUE_1715 小时前
SQLI LABS | Less-55 GET-Challenge-Union-14 Queries Allowed-Variation 2
oracle·c#·less
.18 小时前
接口 测试
数据库·oracle
LIT-涛20 小时前
JavaEE初学07
数据库·oracle·java-ee
奈斯ing1 天前
【Oracle篇】SQL性能优化实战案例(从15秒优化到0.08秒)(第七篇,总共七篇)
运维·数据库·sql·oracle·性能优化