[改訂2版]Oracleの基本
〜データベース入門から設計/運用の初歩まで
-
渡部亮太,舛井智行,岡野平八郎,峯岸隆一,日比野峻佑,相川潔 著
株式会社コーソル 監修 - 定価
- 3,168円(本体2,880円+税10%)
- 発売日
- 2022.7.16 2022.7.12
- 判型
- A5
- 頁数
- 384ページ
- ISBN
- 978-4-297-12954-5 978-4-297-12955-2
サポート情報
概要
データベース製品で世界/国内ともにNo.1のシェアを誇るOracleは、データベースに携わるエンジニアにとって必須知識の1つといえます。本書では、Oracle初心者/新人エンジニアが押さえておくべき知識とスキルを、現場で活躍するOracleエンジニアたちが、わかりやすく丁寧に解説。Oracleの使い方はもちろん、データベースの基礎知識から、データ操作のためのSQL、テーブル設計、データベース運用/管理の基礎までしっかり押さえ、実務で使える入門スキルを身につけられます。
改訂2版では、最新安定バージョンに合わせて解説をアップデート。今後主流となるコンテナベースのデータベース構成についての解説も強化しました。
Oracleやデータベースを学びたいすべての人に最適な入門書です。
こんな方にオススメ
- Oracle初心者
- データベース初心者
- ORACLE MASTERを受験する方
目次
- はじめに
- 本書について
第1章 データベースを知る
- 1.1 なぜデータベースは必要なのか
- 1.2 リレーショナルデータベースの基礎
- リレーショナルモデルにしたがってデータを整理する
- 標準化されたデータアクセス用言語SQL
- 本書の構成
第2章 Oracleを使ってみる
- 2.1 データベースを構築する
- インストールファイルをダウンロードする
- Oracleをインストールする
- マルチテナントアーキテクチャ
- 作成したコンテナデータベースを確認する
- 2.2 データベースに接続する
- CDBルートにローカル接続する
- Linux/UNIXでの環境設定
- Windowsでの環境設定
- データベースへの接続を切断する
- PDBにリモート接続する
- 2.3 データベースを起動/停止する
- SYSユーザーでCDBルートにローカル接続する
- コンテナデータベースを停止する
- コンテナデータベースを起動する
- PDBをオープンする
- PDBをクローズする
- 2.4 学習用ユーザーを作成する
- testユーザーを作成する
- 2.5 テーブルとデータ操作の基本
- テーブルを作る‐CREATE TABLE文
- データ型とは
- テーブルの定義を確認する
- データを追加する‐INSERT文
- データを検索する‐SELECT文
- データを更新する‐UPDATE文
- データを削除する‐DELETE文
- すべてのデータを高速に削除する‐TRUNCATE TABLE文
- テーブルを削除する‐DROP TABLE文
- SQLにコメントを入れる
- データベースを削除する
第3章 より高度なデータ操作を学ぶ
- 3.1 データを複雑な条件で検索する
- テストデータを準備する
- 列の表示名を変更する
- 検索結果をソートする‐ORDER BY句
- さまざまな条件でデータを絞り込む
- 3.2 データを加工/集計する
- 演算子とファンクション
- データを合計する‐SUM()
- データの平均値、最大値、最小値を得る‐AVG()、MAX()、MIN()
- データの件数を数える‐COUNT(*)
- 種類ごとにデータを集計する‐GROUP BY 句、HAVING 句
- 3.3 NULLとIS NULL条件
- 列にNULLを設定する
- NULLを検索する‐IS NULL条件
- 演算子、ファンクション、文字列連結とNULL
- 集計ファンクションとNULL
- COUNT()とNULL
- NULLの注意点
- 3.4 SELECT文とSELECT文を組み合わせる
- 3.5 テーブルを結合する
- 内部結合
- 左外部結合
- 右外部結合
- 3.6 データの表示画面にこだわる
- 改行/改ページの動作を調整する
- 列データの表示幅を調整する
- 日時データの表示を調整する
- 3.7 トランザクションでデータを安全に更新する
- なぜトランザクションが重要か
- トランザクションの「ALL or NOTHING」特性
- トランザクションを使う
- 実行中のトランザクションを取り消す‐ROLLBACK文
- トランザクションを開始/終了する方法
第4章 データをより高速に/安全に扱うしくみ
- 4.1 検索処理を高速化するインデックス
- なぜインデックスが必要か
- インデックスのしくみ
- インデックスを作成する‐CREATE INDEX文
- インデックスを使う
- インデックスを使える検索条件
- 4.2 SELECT文をシンプルにまとめるビュー
- なぜビューが必要か
- ビューを作成する‐CREATE VIEW文
- ビューを使うメリット
- 4.3 不正なデータの混入を防ぐ制約
- なぜ制約が必要か
- NOT NULL制約
- 主キー制約(プライマリーキー制約)と主キー
- 一意制約(ユニーク制約)と一意キー
- 外部キー制約(参照整合性制約)と外部キー
- チェック制約
- 複数の列に対して制約を指定する
- 4.4 連番を振り出すシーケンス
- なぜシーケンスが必要か
- シーケンスを作成して連番を取得する
- 4.5 セキュリティ機構の基礎となるユーザー機能
- マルチテナント環境におけるユーザー
- Oracleのユーザー機能の役割
- ユーザーを作成する‐CREATE USER文
- ユーザーを削除する‐DROP USER文
- アカウントをロックする
- パスワードを変更する
- オブジェクト所有者としてのユーザー/スキーマ
- 4.6 ユーザー権限を制御する
- 権限システムの基礎
- 権限を付与する/取り消す‐GRANT文/REVOKE文
- 複数の権限をグループ化するロール
- アプリケーション用ユーザーに付与すべき権限
- 明示的に権限を付与しなくても実行できる操作
- 権限を付与できる権限
- 4.7 管理ユーザーSYS、SYSTEMと共通ユーザー
- 管理ユーザー(SYSユーザー/SYSTEMユーザー)の権限
- 共通ユーザー
第5章 テーブル設計の基本を知る
- 5.1 テーブル設計とは
- テーブル設計の3つのステップ
- テーブル設計の題材とする業務
- 5.2 第1ステップ‐概念設計
- テーブル候補を決める‐エンティティの抽出
- 情報をテーブル候補に含める‐エンティティの属性の抽出
- テーブル候補を図に表す‐概念E-R図の作成
- 5.3 第2ステップ‐論理設計
- 論理設計でやること
- リレーショナルモデルの基本
- 主キーを決める
- くり返し項目を別テーブルに切り出す
- 関連の多重度を明らかにする
- 1対多関連を外部キーでモデル化する
- 多対多関連を交差テーブルに変換する
- 1対1関連を取り除く
- 重複して存在する列を削除する
- ほかの列から計算できる列を取り除く
- 正規形のルールを破っていないかを確認する
- 列に設定するデータ項目の特徴を整理する
- 業務に必要なデータがデータベース化されているかチェックする
- 5.4 第3ステップ ‐ 物理設計
- Oracleがオブジェクトにストレージ領域を割り当てるしくみ
- 物理名を決める
- 列のデータ型、サイズを決める
- 制約を決める
- インデックスを付ける列を決める
- テーブル、インデックスのサイズを見積もる
- オブジェクトを格納する表領域を作成する
- オブジェクトの所有ユーザーを作成する
- 決定事項を設計書にまとめる
- SQL(CREATE xxx文)を作成する
第6章 データベース運用/管理のポイントを押さえる
- 6.1 データベースにおける運用/管理の重要性
- 適切な運用・管理がされないと問題が発生する
- データを守る:バックアップ
- データベースを調整する:メンテナンス
- データベースが正常に動作しているか見る:監視
- ネットワーク環境でデータベースを使用する:リモート接続
- データベースのトラブルに対処する
- 6.2 バックアップを取ってデータを守る
- Oracleのバックアップ機能のしくみ
- アーカイブログモードで運用する
- アーカイブログモードへ変更する
- RMANを使ってオンラインバックアップを取得する
- オフラインバックアップを取得する
- バックアップ取得で守るべき4つのポイント
- バックアップ出力先を設定する
- アーカイブREDOログファイルをバックアップする
- 定期的にバックアップを取得するしくみをつくる
- 古いバックアップを削除する
- 障害からデータベースを復旧する
- 6.3 データベースのメンテナンス
- OracleがSQLを実行するしくみ
- オプティマイザ統計情報を収集する
- テーブルが断片化するまでの流れ
- テーブルを再編成して断片化を解消する
- Oracleを構成する初期化パラメータとは
- 初期化パラメータの値を確認する
- 初期化パラメータの値を変更する‐ALTER SYSTEM SET文
- メモリ関連の初期化パラメータ
‐MEMORY_TARGET、SGA_TARGET、PGA_AGGREGATE_TARGET - プロセス関連の初期化パラメータ‐PROCESSES
- 6.4 データベースを監視する
- データベース監視の4つの観点
- OracleやOSの起動状態を監視する‐死活監視
- OracleやOSのエラーを監視する
- ストレージの空き状況を監視する
- OSリソースの使用状況を監視する
- Oracleのパフォーマンス情報を定期的に取得する
- 6.5 ネットワーク環境/本番環境でOracleに接続する
- ローカル接続とリモート接続
- リモート接続の全体像とOracleクライアント
- リスナーを構成する
- リスナーを起動/停止する‐lsnrctlコマンド
- サービス登録を構成する
- クライアントマシンを構成する
- クライアントのSQL*Plusからデータベースにリモート接続する
- 簡易接続ネーミングメソッド(EZCONNECT)
- アプリケーションとドライバ
- 6.6 トラブルに立ち向かうためには
- まず、なにが起きているのか確認する
- ログを確認する
- My Oracle Supportやインターネット検索を活用する
- テクニカルサポートに迅速に支援を依頼できる準備をしておく
- おわりに
- 索引
- 著者略歴
- 監修者略歴
プロフィール
渡部亮太
Oracle Database製品サポートに従事したのち、現在は企画/技術広報業務およびコーソル全体の技術力向上活動を行う。講演および執筆実績多数。福岡在住。日本で7人しかいないOracleACE(Oracle Database)の1人。Japan Oracle User Group(JPOUG)共同設立者、ボードメンバー。ORACLE MASTER Platinum Oracle Database 10g、11g、12c保有。最近の楽しみは11歳の息子とタッチラグビーをすること、ラグビーを観戦すること。日本開催のラグビーワールドカップ2019では、息子と一緒に日本 vs サモアを含む全6戦を観戦した。
舛井智行
Oracle Databaseに関するサービス(設計/構築/運用)業務を経て、現在は企画&マーケティング部門で取扱製品拡販、プロモーション活動を行う。最近はOracle Databaseでなく、複数DB製品を一元管理できるDatabase Performance Analyzer(DPA)、Oracle SE2向け災害対策製品Dbvisitやデータベース管理製品Toadの拡販に力を入れている。趣味は株とライトノベル。
岡野平八郎
独立系ソフトハウスで約4年間DB2、SQL Serverの運用管理を担当した後、スキルアップできる環境があり、行動指針にも共感できたコーソルへ2006年4月に転職。現在はOracle Databaseの技術支援を行う傍ら、チームの「ご意見番」として、蓄積した技術や対応スキルなどを惜しみなくメンバーへ伝えている。ORACLE MASTER Platinum Oracle Database 12c(1番乗り)など、保有資格は多数。趣味はソロスタイルのアコースティックギター。
峯岸隆一
2006年コーソルに中途入社後、Oracle製品のサポート業務を経て、現在は企画&マーケティング部門で検証/拡販業務を行う。Oracle Database、SQL Server、Postgre SQLなどの複数DB製品に対応した管理/運用製品を主に担当している。ORACLE MASTER Platinum Oracle Database 10g、11g、12c保有。問題解決するまであきらめない「しつこさ」が武器。趣味はスポーツ観戦。
日比野峻佑
コーソルへ新卒で入社。Oracle Database製品のサポート業務を経験したのち、現在はVMware製品のサポートに従事。Oracleに次ぐコーソルの柱を築くべく、新部署の拡大に勤しんでいる。趣味は料理。料理で渡伊した異色の経歴を持ち、社内行事ではコーソルの専属シェフとして腕をふるっている。ORACLE MASTER Platinum Oracle Database 11g、VMware Certified Implementation Expert VCIX6-DCV、VMware Certified Advanced Professional VCAP7-DTM保有。
相川潔
SIerにてシステム開発(要件定義から実装、運用まで)を経験後、より専門性の高いスキルを習得すべくコーソルへ転職。コーソルで10年勤務したのち、合同会社リシテを起業。仕事では経営者とエンジニア、家庭では夫と二児の父と複数の立場で奮闘中。好きな食べ物はカキフライ。仕事のモットーは「困ったときこそシンプルに考える」。
株式会社コーソル
Oracleを中心にデータベースの設計、導入・構築、運用管理、保守・サポート、コンサルティング等、「Oracle Database技術」の強みを活かしたビジネスを展開。「CO-Solutions=共に解決する」の理念のもと、「データベース技術」×「サービス」を軸とし、高い技術をもとにお客様へ“心あるサービス”を提供し続けることにこだわっている。ORACLE MASTER Platinum保有者を含む経験豊富なエンジニアがリモートでデータベースの定常業務から障害発生時の対応を24時間365日で行う「リモートDBAサービス」などを展開。東京・福岡・カナダの3拠点ですべて日勤帯で対応するフォロー・ザ・サン体制をとることにより、サービスの安定提供を実現している。また、サードパーティ製のデータベース関連製品の取り扱いを拡充し、導入からサポートまでワンストップで提供を行っている。エンジニア社員の「ORACLE MASTER」の保有率は88%に及び、その内の40%は2日間の実技試験をもって認定される最上位資格ORACLE MASTER Platinumを取得している。世の中に必要とされるデータベースエンジニアを育成すべく、社員教育には心血を注いでおり、技術者を数多く育成した企業に贈られる「Oracle Certification Award」を10年連続で受賞。2022年6月時点で、企業別ORACLE MASTER Platinum取得者数ランキング国内No.1。働きやすい職場環境を目指しており、2016年1月に厚生労働省認定「子育てサポート企業」の証である、くるみんマークを取得。男性育休取得率も60%を超え、2019年10月に厚生労働省主催「イクメン企業アワード2019」グランプリを受賞。