時代の流れは、クラウドの利用やオープンソースのデータベースを利用することも多くなってきていますが、とは言え、大きな会社や古くからある会社などでは、まだまだ有料高額のものを利用しています。
作りこみをしてきた結果、簡単に移行ができない為です。
DX対応が騒がれている状況なので、可能であれば移行したい企業も多々あると思います。
その点においては、新興企業やベンチャーなどの方が、小回りもきき有利な点だと言えます。
とは言え、データベースと言えば、Oracleの知識を入れておけば間違い無いと思っています。
Oracle の利用を始める上で、覚えておいて損は無い内容をお教えします。
細かいDBAの知識などは、Oracle MASTERなどを狙ってください。
もくじ
Oracleを初めて使うなら意識してみた方が良いです
最初は、『データベース』なんて単なる箱と思うことOracleを愛している方からしたら、冒涜のようなセリフですが、初心者には厳しいのも事実。やれる事が多い分、奥が深い。まずは怖がらないで接していく。
文字コード、キャラクタセットの理解をまずしておく。
立ち上げ時に理解しておかなくてはいけない一番大事なことです。
リソースなどは、後から追加も可能でしょうが、こればかりは後からができない。
必須項目です。
SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID('CHAR_CS')),
NLS_CHARSET_NAME(NLS_CHARSET_ID('NCHAR_CS')) FROM DUAL;
インストール~初期セットアップ
でも、やはり初心者がとっかかるには、下記の流れが良いかと思っています。
自分でインストール、初期セットアップしてみる。
ここでは、どうやってDBへ接続するのか、自動起動ってどうするのとか、少し調べれば必ず見つかる内容なので、まずはセットアップをしてみる。
やはり触ってなんぼの世界でもあるので、まずは実際触れてみましょう。
12c以降であれば、CDB、PDBの作成に分かれる構成をとれると思うので、そちらで構築するのが良いと思いますが、会社で利用しているバージョンでやってみるのが良いと思います。
最初は、サンプルデータ込みで入れるのがいいです。
スキーマ、権限の理解をする
データベースと言っても数多くあります。
Oracleをはじめ、PostgeSQL、SQL Server、MySQL、Amazon AURORAなどなど
基本、データを格納するものというのは同じですが、製品により違いはあります。
Oracleでは、まず「ユーザ」を覚え、ユーザの所有物は何?の発想で理解を深めていくのが良いです。
例)ユーザAの権限はxxx、ロールはxxx、テーブルBは参照のみ など
運用に必要な仕組みを理解する
バックアップ方法、statspackの見方、実行計画、統計情報の見方、を知っておく。
DBAを目指す方であれば、この観点で見ていくと早いと思っています。
チューニングには必要になってきますし、トラブル時には必ず必要となる為。
定型化したフォーマットを利用する
自分で集めて、どんな環境でも利用できるものを用意していく。
例えば、スキーマ情報を出すSQLやリソースをどのくらい試用しているのかを出すSQLなどです。
多少の記述は違えど、既に運用している会社では、必ずあるはずです。
例)表領域使用率を確認したい場合
set lines 120
set pages 100
set term off
tti off
clear col
col tablespace_name format a30
col "size(kb)" format a20
col "used(kb)" format a20
col "free(kb)" format a20
col "used(%)" format 990.99
select
tablespace_name,
to_char(nvl(total_bytes / 1024,0),'999,999,999,999') as "size(kb)",
to_char(nvl((total_bytes - free_total_bytes) / 1024,0),'999,999,999,999') as "used(kb)",
to_char(nvl(free_total_bytes/1024,0),'999,999,999,999') as "free(kb)",
round(nvl((total_bytes - free_total_bytes) / total_bytes * 100,100),2) as "rate(%)"
from
( select
tablespace_name,
sum(bytes) total_bytes
from
dba_data_files
group by
tablespace_name
),
( select
tablespace_name free_tablespace_name,
sum(bytes) free_total_bytes
from
dba_free_space
group by tablespace_name
)
where
tablespace_name = free_tablespace_name(+)
-- and tablespace_name = 'SYSAUX'
order by tablespace_name;
エラー解決を行えるようにする
運用をしていれば、必ず出くわす事になるORA-errorですが、これが一番の財産になります。
どのくらいの頻度で出ているのか、その時の対処法はどうやったか、一覧に記載していくのです。
もちろん、会社でチームで運用していれば、必ず課題管理のようなものはあるはずなので、それが後のノウハウになります。
良く出くわすエラーとレアなエラーがきっと溜ってくると思います。
システムによっても傾向は変わるでしょうが、それでも全体的にやってみると見たようなヤツが出てくる。
ORA-00060
ORA-01555
ORA-01652
ORA-30036
ORA-00600、00700はカオスです。
もし、現場で経験する事になったら、頑張ってください。
会社でOracle利用しているのであれば、「KROWN」と「My Oracle Support」は登録してください。運用開始している方には必ず助けになります。
まとめ
Oracleを始める時にはこれらを意識すると良いと思います。
0.文字コード、キャラクタセットの理解をまずしておく。
1.インストール~初期セットアップ
2.スキーマ、権限の理解をする
3.運用に必要な仕組みを理解する
4.定型化したフォーマットを利用する
5.エラー解決を行えるようにする
もちろん実戦でもまれることが必要ですが、最初に意識するものはこれかなと改めて思いました。
因みに、Oracleに関わった身として、下記の書籍は良かったと思っています。
特に、黄色い方、こちらは個人的に絶対購入した方が良いと思っています。
Oracleの運用に関わる方にはもはや必須。
Oracleのバージョンに関係無く、Oracleデータベースの理解に欠かせない一品。
超お薦めの本です。
こちらは、Oracleの概要がわかれば何でも良かったのですが、私はこれを買って勉強した時があったという事で、記載しています。
似たような内容もほぼあるので、基本的にはOracleとは何ぞや系の本は1冊で良いかなと。
12cからプラガブルの発想が入ってきているので、新しい方が良いですね。