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

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

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


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

hiring.png

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

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

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

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

2017年12月 9日

DB Online記事 Oracle Database Standard Editionユーザーが次に選ぶべきDBはどれだ?!

先日、DB Online記事 Oracle Database Standard Editionユーザーが次に選ぶべきDBはどれだ?! に御協力させていただきました。 記事は以下に通りです。

Oracle Database 12cのバージョン12.1.0.2のリリースを受けて、2016年1月末、小規模ユーザー向けライセンスとして広く提供されてきたStandard Edition(以下、SE)およびStandard Edition One(以下、SE1)は、新たにOracle Standard Edition 2(以下、SE2)に一本化された。この結果、Standard Editionの新規ユーザーは必然的にSE2を導入することになったが、既存のSEやSE1のユーザーは、どのようなアップグレードを選択しており、また今後選択すべきなのか。エンタープライズ データベースのエキスパートにお集まりいただき、考えなどを聞いてみた。

個人的にあまり経験がない活動で、取材までは若干緊張しましたが、 ご一緒させていただいた方々が、昔からお世話になっている、アシストの岸和田さま、日本オラクルの桑内さま、 そして、ラグビー観戦という共通の話題があった谷川さまということで、 リラックスして取材対応を終えることができました。ご一緒させていただいた皆さま、ありがとうございました!

内容が、記事をご覧になった方のお役に立てば幸いです。

#いつも思うのですが、「あんな」とりとめのない内容を、きっちり記事にまとめるライターさんって、ほんとうに凄いなと

2017年12月 6日

Oracle CloudWorld Tokyo 2017の座談会に参加させていただきました

本日、Oracle CloudWorld Tokyo 2017の座談会に参加させていただきました。

技術者によるクラウド座談会 ネットワーク、運用管理などクラウド構築で押さえるべきポイントを語る セキュリティ、運用管理、セキュアなネットワークの構築、オンプレミスからの移行方法など、クラウドを導入する際には技術的に押さえておくべきポイントがあります。今回は、パブリック・クラウドの構築経験のある優秀な技術者を招いて、実際の構築経験から学んだ失敗しないための心構えやクラウド構築の秘訣、さらに最新技術のトレンドをお聞きします。

現状、弊社のビジネスの大多数は、オンプレミスでOracle Databaseをご利用いただくお客様に対する 技術サービス提供ですが、クラウドの案件、特にオンプレミスからクラウドへ移行するご依頼も多数いただいております。 そのなかで得た知見の一部を共有させていただきました。

短い時間ではありましたが、ご参考になれば幸いです。 :-)

なお、同一の内容を、Oracle CloudWord Osakaでもお話させていただく予定です。

#Tokyoはうまい具合に時間ぴったりで終われたけど、Osakaはこんなにうまくいくんだろうか・・・

2017年11月28日

ORACLE MASTER Platinum取得者数 No.1 V2達成!でパーティやったよ

コーソルは、昨年からORACLE MASTER Platinumの取得者数でNo.1の座を維持し続けていますが、 これを祝ってパーティを開催しました :-)

パーティで使ったスライドから1枚抜粋。徐々に合格者数を伸ばしてきたことがわかりますね。:-)

20171124_Platinum_No1_Party_graph.png

このくす玉は、まだ取得者No.1ではないときに、No.1を記念してママさんエンジニアが産休中に手作りしてくれたもの。

20171124_platinum_no1_party.jpg

来年もNo.1になってV3を達成し、またこのくす玉と一緒にお祝いをしたいと思います!

補足

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

エンジニアのスキルアップの一環として、ORACLE MASTER Platinumの取得を目指す取り組みは、 日本オラクル Oracle University様に事例としてご紹介いただいています。

ou_platinum.png

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やインターネット検索を活用する
    テクニカルサポートに迅速に支援を依頼できる準備をしておく

プロフィール

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