Oracle Database メモ
最近Oracle Database に触れる機会が増えているので、学んだことをメモしていく。
概要
version
現在のLTSは 19cで、21cもイノベーション・リリースとして本番でも使えるレベルのリリースとして提供されている模様。
12cの次は18cに飛んでたりする、その辺りからバージョンを20xx年に合わせているぽい。
リリースの考え方は下記ブログがわかりやすい Oracle Database 19cとは何か? どういう位置づけのリリースなのか? | コーソルDatabaseエンジニアのBlog
エディション
EE とか XE 見かけてたけど、よく分かってなかったので調べてみた。
公式ドキュメント Oracle Databaseのエディション によると、
Enterprise Edition: EE
Standard Edition: SE
Express Edition: XE
Personal Edition: PE
などがあるとのこと。
SEは SEとSE1 と SE2 があるが、最新はSE2になっていくので過去のものはあまり気にしなくて良さそう。
また、XEも過去の11gとかしか使えないので、過去バージョンで許容できれば学習用に使う、という感じっぽい。
現状、本番で使うなら EE or SE2 で、違いは Oracle Databaseライセンスの定義とルールを正しく理解する ~第1回:エディション編~ | アシスト の連載を見るとなんとなくわかる。
資料
公式のマニュアルが結構充実している。
「概要マニュアル」を読んでいくと良さそう。 Oracle Databaseデータベース概要, 19c
追加で、
Oracle Database 2日でデータベース管理者 19c や Oracle Database 2日で開発者ガイド, 19c に進むと良さそう
また、 Oracle Japan のブログ の連載も良さそう。
https://blogs.oracle.com/otnjp/post/shibacho-index
とか
https://blogs.oracle.com/otnjp/post/tsushima-hakushi-index の連載を追っていきたい
M1 Mac のローカルで実行する方法
Running x86_64 Docker Images on Mac M1 Max (Oracle Database 19c) - DBASolved
この辺を参考に。
aarch64用のdocker image が用意されていないため、
M1 Mac で amd64 の docker image を実行できるように colima を導入する必要がある。
基本コマンド
sqlplus で DBに接続
sqlplus <ID>/<パスワード>@<IP or ホスト名>:<ポート番号>/<SID>
例)
sqlplus system/password@localhost:1521/ORCLCDB sqlplus system/password@localhost:1521/ORCLPDB1
接続中のコンテナの確認
show con_name; CON_NAME ------------------------------ ORCLPDB1
表領域
表領域の確認
select * from dba_tablespaces;
表領域を構成する データ・ファイルの確認
select * from dba_data_files;
テーブル情報の確認
select * from user_tables where table_name = テーブル名;
desc テーブル名
データ・ディクショナリ
データベースに関する情報はデータ・ディクショナリという形で提供され、実表とビューがある。
DICT_COLUMNSを利用するとどんなカラムがあるか確認できる
例 )
select * from DICT_COLUMNS where TABLE_NAME='USER_TABLES';