コーソル DatabaseエンジニアのBlog へようこそ

コーソル DatabaseエンジニアのBlogでは、 コーソル所属のDatabaseエンジニアである 渡部がOracle Databaseを中心としたDatabaseに関わる技術情報を発信しています。

コーソルでは、Oracle Databaseをはじめとするデータベース全般に関わるサービス(コンサルティング、設計、構築など)、オラクル製品のプロダクトサポートサービスを提供しています。 また、不定期で無償の技術セミナーを開催しています。


コーソルでは、Oracle Databaseスペシャリストになりたいエンジニア、 Oracle Database技術を活かして働きたいエンジニアを絶賛募集中です。

hiring.png

コーソルについて知るためには・・・

エンジニアのスキル向上を支援する各種施策については・・・

コーソルのエンジニアの多くが従事する、「Oracle Database サポートエンジニアの仕事」の利点について知るためには・・・。

コーソルで働くことに興味を持たれた方は・・・

2017年10月17日

11/17(金)に #Docker しばりの #JPOUG in 15 minutes やりますよ

in15m6-1024x576.png

以前から注目されている基盤技術であるDockerの基礎から応用まで、オラクル製品に絡めた形で理解できるイベントを企画しました。 Dockerに興味がある方、Dockerについて一通り理解しておきたい方にお勧めです!

  • 日時 : 2017年11月17日(金)19:00~21:30(開場および受付開始: 18時30分)
  • 場所 : 東京都港区北青山2-5-8 オラクル青山センター 13階セミナールーム

2017年10月17日時点のセッションタイトルを以下に記載します。基礎から応用まで幅広く理解できる構成になっています。 企画サイドの立場で手前味噌ですが、非常に魅力的な構成になっていると思いますよ :-)

  • はじめてのDockerパーフェクトガイド(2017年版) : 日本オラクル 早川 博さま
  • Oracle Database (CDB) on Docker を動かしてみる : 日本オラクル 佐々木 亨さま
  • Oracle Linux と Docker とその周辺のもの : 渡辺 剛さま (vExpert!)
  • Oracle RAC on Docker : 大島正樹さま 株式会社日立システムズ 
  • Oracle対応アプリケーションのDockernize事始め : 永安悟史さま アップタイム・テクノロジーズ
  • DBエンジニアのマイクロサービス入門 ~Oracle Database と Docker ではじめる API サービス~ : 吉田成利さま NTTデータ先端技術

11/17(金)はぜひOACまで是非お越しくださいませー

Oracle OpenWorld 2017 Tweetsまとめました

今年コーソルからOracle OpenWorld 2017に参加した2名のメンバーが無事に帰国しました。

例年と同じく、彼らが現地でつぶやいたTweetをtogetterにまとめました。「Oracle OpenWorldに現地参加することの楽しさ」が伝われば嬉しいです!

ちなみに、過去OOWに参加したときのTweetまとめはこちらです。

2017年9月22日

入門書「Oracleの基本」発売開始+電子版も発売開始

本日9月22日から入門書「Oracleの基本 ~データベース入門から設計/運用の初歩まで」が発売開始されました。

紙書籍版にくわえて、電子書籍版も発売開始しています。

Gihyo Digital Publishing で販売されているePub版をMicrosoft Edgeを使って軽く見てみましたが、 リフローと拡大縮小がうまく機能しており、図版やコードも無理なく読めました。

紙書籍もいいですが、電子書籍もおススメです!

2017年9月19日

Database Lounge Tokyo #5 にてLT発表させていただきました #dbltokyo

奇跡的に東京出張と重なったので、9月19日のDatabase Lounge Tokyo #5でLT発表させていただきました。 :-)

私が現在 福岡在住であることもあり、Database Lounge Tokyoへの参加は、同じく発表させていただいたDatabase Lounge Tokyo #2 以来です :-)

Oracle Databaseを主に想定して、実行計画に関する「よくある誤解」を題材にして、実行計画について説明しています。

本発表の内容は、9月7日 db tech showcase 2017 tokyoで私が担当したセッション「Oracleの実行計画を読んでみよう!」の内容を、切り口を変えて再構成した内容になっています。 コマンドなどについては、本セッションで説明を割愛しているため、お知りになりたいかたは 「Oracleの実行計画を読んでみよう!」の資料を参照してくださいませ

#なお、タイトルに「~Oracle Database編~」とありますが、「~PostgreSQL編~」や「~MySQL編~」などはありません・・・

2017年9月14日

全記事OTN掲載了!「コーソルOracleスペシャリストがチェック!Oracle Database 12c R2新機能」

OTN(Oracle Technology Network) でOracle Database 12c R2に関する連載記事「コーソルOracleスペシャリストがチェック!Oracle Database 12c R2新機能」で、予定された全6記事を掲載いただきました。

Oracle Databaseを現場で使う立場としての目線でOracle Database 12c R2をチェックし、使用をお勧めしたい機能や、従来から改善された点をご紹介しています。 取り上げる内容は若干地味目ではありますが、お役に立てる記事に仕上がっていると思いますので、ぜひご覧くださいませ。

2017年9月 8日

#dbts2017 セミナー「Oracleの実行計画を読んでみよう!」にご参加いただきありがとうございました :-)

db tech showcase 2017 Tokyoで担当させていただいた入門者向けセミナー「Oracleの実行計画を読んでみよう!」 にご参加いただきありがとうございました。

おかげさまで多くの方に聴講いただくことができました。セミナーの内容が皆さんのお役に立てば幸いです :-)

資料は、ドラフト版を事前公開していましたが、若干の誤記修正をしたうえで、当日使用した資料に差し替えています。 復習時の参考にしてくださいませ。

おまけ : コーソルのスポンサーブース

初めてスポンサーさせていただきました。:-) データベースエンジニアの祭典に参加できて光栄です!

dbts2017_cosol_booth.jpg

2017年9月 1日

入門書「Oracleの基本」が発売されます!

2017年9月22日に、私とコーソルの有志で執筆した Oracle Databaseの入門書「Oracleの基本」が発売されます。

「Oracle Database、そもそもデータベースって何?」というレベルの、「本当の入門者」 の方向けに書いた書籍です。 おそらく、IT基礎研修を終えた新卒入社エンジニアの方にマッチするレベルです。

特に、会社の方針などで、短期間でORACLE MASTER Bronzeを取らなければならない方が、資格対策書籍を読む前や、資格対策書籍と併読する使い方が、特にハマると考えます。 というのも、現在のOracle Databaseおよび資格対策書籍をはじめとするOracle入門書籍には以下の問題点があると考えているからです。

現在のOracle Database

  • 多くのバージョンアップが行われる中で、徐々に多機能化、複雑化しており、初学者がとっつきにくい
  • 「表領域」「SGA」など、「Oracle独自の用語」が多く、かつ、用語の数が多機能化によりさらに増えている。

資格対策書籍をはじめとするOracle入門書籍

  • 過去、Oracle DatabaseをはじめとするIT関連技術が比較的シンプルだった時代に正解だった(?)パラダイム(「Oracle独自の世界観」)を引きずる形で説明がなされている。 (正解だったかどうかは、個人的には疑問だけど・・・)
  • 解説=Oracleの用語説明 になっている。
  • Oracle Databaseに閉じた視点で説明されており、Oracle Databaseを使う側の視点での記述が書けている。具体的には、開発者、運用者(のヒヨコ)がOracle Databaseとのかかわり方を理解しにくい

この問題点を解決するため、本書では以下の点に配慮しまいた。

  • 平易な表現を用いてOracleを解説すること。特に、新しい概念の導入部において、「なぜXXXが必要なのか?」 をくどいぐらい(!)愚直に書き、単なる用語説明のような解説を避けること。
  • データベース,Oracle,開発,設計,運用の基本について広くさまざまな視点から学べること

お近くにこれからOracle Databaseおよびデータベースを学ぼう!という方がいらっしゃたら、是非本書をお勧めしてくださいませ!

目次は以下の通りです。

本書が初めてOracle Databaseを使うことになった方のお役に立てば幸いです!

第1章 データベースを知る

  1.1 なぜデータベースは必要なのか

  1.2 リレーショナルデータベースの基礎

    リレーショナルモデルにしたがってデータを整理する
    標準化されたデータアクセス用言語 SQL
    本書の構成


第2章 Oracleを使ってみる

  2.1 データベースを構築する

    インストールファイルをダウンロードする
    Oracleをインストールする
    作成したデータベースを確認する

  2.2 データベースに接続する

    SQL*Plusでデータベースに接続する
    データベースへの接続を切断する

  2.3 データベースを起動/停止する

    SYSユーザーでデータベースに接続する
    データベースを停止する
    データベースを起動する

  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 セキュリティ機構の基礎となるユーザー機能

    ユーザーを作成する‐CREATE USER文
    ユーザーを削除する‐DROP USER文
    アカウントをロックする
    パスワードを変更する
    オブジェクト所有者としてのユーザー/スキーマ

  4.6 ユーザー権限を制御する

    権限システムの基礎
    権限を付与する/取り消す‐GRANT文/REVOKE文
    管理ユーザー(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からデータベースにリモート接続する
    アプリケーションとドライバ

  6.6 トラブルに立ち向かうためには

    まず,なにが起きているのか確認する
    ログを確認する
    My Oracle Supportやインターネット検索を活用する
    テクニカルサポートに迅速に支援を依頼できる準備をしておく

2017年8月31日

ORACLE MASTER Platinum部門を含む3部門でOracle Certification Award 2017を1位受賞しました!

コーソルのみんなが頑張ってくれたおかげで、昨年に引き続き、Oracle Certification Award 2017の以下3部門で1位を受賞しました!

  • ORACLE MASTER Platinum Oracle Database 11g / 12c 認定資格 単年度
  • ORACLE MASTER Platinum Oracle Database 11g / 12c 認定資格 累計
  • ORACLE MASTER Oracle Database 12c 認定資格

そして、以下1部門で3位を受賞しました!

  • ORACLE MASTER Cloud Oracle Database Cloud Service 認定資格

Oracle Databaseプロフェッショナルサービスを主業務とする企業として、 「ORACLE MASTER Platinum Oracle Database 11g / 12c 認定資格 累計」部門のNo.1を2年連続達成できたことをとてもうれしく感じています。

現在、新卒および中途でコーソルに入社したエンジニアにとって、「ORACLE MASTER Platinumは、成長するなかでいずれ取るべき資格」として位置づけられるようにすらなりました。コーソルにとって、ORACLE MASTER Platinumは、初級・中級エンジニアの成長を促す目標であり、マイルストーンです。

もちろん、資格は資格にすぎませんが、ORACLE MASTER Platinumは2日間にわたる実技試験である点、広範な内容を問う点が、エンジニア育成の観点から非常に価値あるものと感じています。資格に取り組むなかで、Linux上のOracle Databaseを中心とした実務スキルが身に付きますし、広範な内容を理解するための努力が、これからの成長の基礎となる「粘り」につながります。

実は、ORACLE MASTER Platinum累計取得者数 国内ナンバーワンは、技術力向上のみならず、経営的な効果を狙い、人事制度、資格取得支援制度を含めた全社的な取り組みの結果得られたものです。このような点も含めた全社的な取り組みについて、日本オラクル Oracle University様に事例としてご紹介いただいておりますので、あわせてご覧ください。

ou_platinum.png

株式会社コーソルは、2016年に「ORACLE MASTER Platinum」の累計取得者数で国内ナンバーワンになりました。オラクル認定資格の取得を事業戦略として推進し、ORACLE MASTER Platinum取得者数"業界No.1"を実現した同社の人事制度や体制、技術者育成の環境作りについてお話しいただきました。

コーソルでは、エンジニアのスキルアップを重視する会社であり、それを十二分に踏まえて、人事制度や資格取得支援制度がつくられています。

Oracle Databaseのスキルを身につけ、Oracle Databaseエンジニアとしてキャリアを作ってゆきたい方は、ぜひコーソルにいらしてくださいませ! お待ちしております! :-)

2017年8月13日

#dbts2017 入門者向けセミナー「Oracleの実行計画を読んでみよう!」の資料を事前公開しました

2017年9月5日(火)~7日(木)で開催されるdb tech showcase 2017 Tokyoで私が担当する 2017年9月7日(木) 14:30~15:20 入門者向けセミナー「Oracleの実行計画を読んでみよう!」の資料を事前公開します。

受講セミナー選定の参考にしてくださいませ。

なお、当日までに資料は(場合によっては大幅に!)変更される可能性があります :-)

2017年8月 8日

2017年も2名がOracle OpenWorldへ!

コーソルは、 2012年からUSのOracle OpenWorldにエンジニアを送り出しています。 2013年2014年2015年2016年 に引き続き、今年もエンジニア2名がOracle OpenWorldへ行くことになりました!

Oracle OpenWorldといえば、キーノート、技術セッションに加えて屋外ライブイベントが楽しみなのですが、 どうやら、今回から名称が"Appreciation Event"から"Cloud Festa"に変わったようです。

出演アーティストはUsherとEllie Goulding (R&B系男性アーティスト、女性アーティストって意外な気がします)。

さて、Oracle OpenWorldの様子(とサンフランシスコ小旅行の様子)は例年同様のコーソル 公式 Twitterアカウントより、写真を交えながらお伝えします! OOW開催期間中だけでよいので(笑)是非フォローしてみてください!

過去のtweetまとめ

プロフィール

Ryota WATABE / 渡部 亮太

100x100.jpg

投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。

  • Oracle ACE
  • AWS Certified Solutions Architect - Associate
  • Oracle Database 12c Administrator Certified Master (ORACLE MASTER Platinum Oracle Database 12c)
  • Oracle Database 11g Certified Master (ORACLE MASTER Platinum Oracle Database 11g)
  • Oracle Database 11g Data Warehousing Certified Implementation Specialist
  • Oracle Database 11g Security Certified Implementation Specialist
  • Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid Infrastructure Administrator
  • Oracle Certified Expert, Oracle Exadata X3 Administrator
  • Oracle Exadata 11g Certified Implementation Specialist
  • Oracle Database 10g Certified Master (ORACLE MASTER Platinum Oracle Database 10g) <INACTIVE>
  • Oracle Database 10g Managing Oracle on Linux Certified Expert <INACTIVE>
  • Oracle Database 10g: Real Application Clusters Administrator Certified Expert <INACTIVE>
  • Oracle PL/SQL Developer Certified Associate
  • Oracle Certified Professional, MySQL 5.6 Database Administrator
  • Oracle Certified Professional, MySQL 5 Database Administrator
  • Cisco Certified Network Associate (CCNA) <INACTIVE>
  • Cisco Certified Network Associate Security (CCNA Security) <INACTIVE>
  • OSS-DB Gold (PostgreSQL 9)
  • OSS-DB Silver (PostgreSQL 9)
  • Oracle Linux 6 Certified Implementation Specialist
  • LPIC 301 Core (Linux)
  • Oracle Certified Java Programmer, Silver SE 7
  • Oracle WebLogic Server 12c Certified Implementation Specialist