3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

超初心者でもできる) Oracle DB 23ai をインストール

Last updated at Posted at 2024-06-05

はじめに

今回は2024年5月に利用可能となった23ai Free版を使ってAI Vector Searchを試すうえで、DBのインストールが必要なので必要操作をまとめています。
Oracle DBのインストールやベクトル検索をやったことがない方でもご安心ください!
PythonやLangChainなどは使用していないので、私のような新人SEでも試すことができました涙

本記事では以下について触れています。

  • Oracle Database 23ai Free版インストール手順

Oracle Database 23ai Free版の概要については以下をご覧ください。
https://www.oracle.com/jp/database/free/
Oracle Database 23ai - AI Vector Searchの特徴は以下の通りです。

前提条件

Oracle Database 23ai Freeをインストールする仮想マシンインスタンスにSSH接続できること
※本検証ではOracle Linux 8を使用しています。

Oracle DB 23ai Free版インストール

まずはrootユーザーでログイン

sudo -s 

RPM(Oracle Linux版)ベースでインストールしていきます。

dnf -y install oracle-database-preinstall-23ai
wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23ai-1.0-1.el8.x86_64.rpm

RPMベースでインストールするメリット:Oracleデータベースをインストールする前の作業を自動化するRPMパッケージです。事前作業の多くを自動化できるので、より簡単・確実にインストールできるようになります。
具体的には以下の作業↓

  • インストール前のチェック
  • DBソフトウェアの抽出
  • Oracle Databaseソフトウェアの構成に必要なすべてのroot操作の実行
  • シングルインスタンスのOracle Databaseの作成および構成
    などを自動化してくれます!マジ助かる!

それではOracle DBソフトウェアをダウンロードしていきましょう!

dnf -y install oracle-database-free-23ai-1.0-1.el8.x86_64.rpm

なんと数行でOracle Databaseのインストールが完了しました!

Oracle Databaseの作成と構成

続いて、構成スクリプトを実行してデータベースを構築していきましょう。
こちらの構成スクリプトを実行すると

  • プラガブル・データベース(FREEPDB1)を1つ持つコンテナ・データベース(FREE)を作成
  • デフォルトのポート(1521)でリスナーを構成
    がされます。
/etc/init.d/oracle-free-23ai configure

この後にSYS、SYSTEM、PDBADMIN管理ユーザーのパスワードの設定を求められます。

  • Oracleではパスワードは少なくとも8文字以上で、少なくとも1つの大文字、1つの小文字、1桁の数字[0-9]を含むことを推奨している、らしい。
  • 例)Welcome123#

余談)ちなみに私は設定したパスワードを見事失念してこのあとのログインができなくなりました。

/etc/init.d/oracle-free-23ai delete

から構成ファイルを削除してもう一度上記のconfigureコマンドで作り直しております涙
ご参考までに・・・

さすがに環境変数は自動で設定されないので、Oracleユーザーに切り替え設定していきます。

sudo su - oracle

環境変数の設定

export ORACLE_SID=FREE
export ORAENV_ASK=NO

(↑Free版はこうらしい)

. /opt/oracle/product/23ai/dbhomeFree/bin/oraenv

Oracle Database 23ai Freeに接続

sqlplus sys@localhost:1521/freepdb1 as sysdba

先ほど設定したパスワードを入力(画面には表示されません)

SQLPlusに接続出来たら、下記は特に何も考えず作成していきます。

表領域の作成

Create bigfile tablespace tbs2 Datafile 'bigtbs_f2.dbf' SIZE 1G AUTOEXTEND ON next 32m maxsize unlimited extent management local segment space management auto;

UNDO表領域の作成

CREATE UNDO TABLESPACE undots2 DATAFILE 'undotbs_2a.dbf' SIZE 1G AUTOEXTEND ON RETENTION GUARANTEE;

一時表領域の作成

CREATE UNDO TABLESPACE undots2 DATAFILE 'undotbs_2a.dbf' SIZE 1G AUTOEXTEND ON RETENTION GUARANTEE;

Vector Search用のユーザーである、Vectorさんを作成します。

create user vector identified by vector default tablespace tbs2 quota unlimited on tbs2;

Vectorさんに開発者用のロールも付与してあげます。

grant DB_DEVELOPER_ROLE to vector;

諸々の設定が終了したので、exitでOSに戻ります。

freepdb1という名前で接続できるよう、tnsnames.oraファイルにサービス名を追加します。

vi $ORACLE_HOME/network/admin/tnsnames.ora

Vim基本コマンド

  • i:文字を挿入
  • qa!で保存して終了

サービスFREEのエントリをコピーして、赤枠のSERVICE_NAMEをfreepdb1に修正します。
image.png

すると、作成したVectorユーザーでfreepdb1に接続できるようになりました!

sqlplus vector/vector@freepdb1

イメージとしてはこんな感じです。

image.png

次回はいよいよVMにPDFファイルをインポートしてチャンク分割、ベクトル化してみます!
おたのしみに!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?