SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

使ってナットク!Oracle Database 11g最新機能

復習しておこう!Oracle Database 10gからの変更点

#7


スリムになったCONNECTロール

Oracle Database 10g Release 2から、代表的なロールであるCONNECTロールに含まれる権限が変更されました。どのように変更されたか、データベースのディクショナリ情報を確認してみましょう。 10g Release 1以前では、以下のように多くの権限がCONNECTロールに含まれていました。

SQL> CONNECT / AS SYSDBA
接続されました。
SQL> COLUMN PRIVILEGE FORMAT A30
SQL>
SQL> SELECT PRIVILEGE
  2  FROM DBA_SYS_PRIVS
  3  WHERE GRANTEE = 'CONNECT'
  4  ORDER BY PRIVILEGE;

PRIVILEGE
------------------------------
ALTER SESSION
CREATE CLUSTER
CREATE DATABASE LINK
CREATE SEQUENCE
CREATE SESSION
CREATE SYNONYM
CREATE TABLE
CREATE VIEW

ところが、10g Release 2以降のCONNECTロールにはCREATE SESSION権限しかありません。

SQL> CONNECT / AS SYSDBA
接続されました。
SQL> COLUMN PRIVILEGE FORMAT A30
SQL>
SQL> SELECT PRIVILEGE
  2  FROM DBA_SYS_PRIVS
  3  WHERE GRANTEE = 'CONNECT'
  4  ORDER BY PRIVILEGE;

PRIVILEGE
------------------------------
CREATE SESSION

CONNECTロールは、Oracle Databaseで新規アカウントを用意する際の最低限のロールとして、RESOURCEロールとともに頻繁に使用されてきました。CONNECTロールはその名前が示すとおりデータベース接続のために作られたロールですが、10g Release 1以前では初期に付与するロールとして便利なように多くの権限を含んでいました。

しかし、本来の目的であるデータベースの接続に関係のない権限も含まれていることは、セキュリティ上好ましくありません。そういった理由から、CONNECTロールは10g Release 2からCREATE SESSION権限のみを含むロールに変更されました。既存のOracle Databaseを10g Release 2以降にアップグレードすると、CONNECTロールはCREATE SESSION権限のみを含むように自動的に変更されます。

既存アプリケーションにはオブジェクトがすでに存在しており新しいオブジェクト(表、ビュー、順序、シノニム、クラスタ、データベース・リンク)を作成する必要はないため、アップグレードによる影響はほとんどないと思ってよいでしょう。しかし、オブジェクトを新たに作成したりALTER SESSIONコマンドを動的に発行するようなアプリケーションでは、権限が不十分なためにエラーとなる場合があります。CREATE SESSION権限以外にも必要な権限がある場合は、直接または別のロールを介して付与する必要があります。

◆◆◆

第7回目となる今回は、前バージョンであるOracle Database 10gでの変更点について解説しました。次回は、Oracle Database 11gから新たに追加された初期化パラメータについて解説する予定です。

それでは、最後に津島博士のワンポイントアドバイスです。津島博士、よろしくお願いいたします。

みなさんこんにちは。日本オラクルの津島と申します。

今回は、”今は昔”(!?)となった10gからの変更点について白砂さんに紹介いただきました。
取り上げられた二つのトピックについては、より詳しい情報を製品マニュアルで確認することができます。

(1) SHARED_POOL_SIZEの内部オーバーヘッド 
Oracle Databaseアップグレード・ガイド 11g リリース2(11.2)
SHARED_POOL_SIZEの動作変更

(3) CONNECTロール 
非推奨のCONNECTロール

アーキテクチャや周辺情報の理解度は、エンジニアスキルの物差しになりますので、マニュアルを読むことは非常に重要です。とはいえ、Oracle Databaseのマニュアルも多岐にわたるので、「DBAに必要なスキルを身につけるための3冊」「ここぞというときに手元に置いておきたい3冊」をそれぞれピックアップしてみました。一度は目を通しておくと、いざというときに役に立つはずです。

Oracleマニュアル(11gR2)の読み方~DB技術者、必読・必携のマニュアルはコレだ!
 

最後は、(2) GROUP BYの結果についてです。これはOracle Database 10gがリリースされた頃、ちょくちょく話題になりました。

皆様は”暗黙ソート”という言葉をお聞きになったことはありますか?おそらく「SQL入門」といったコースで習った「はず」です。その名の通り、特に指定していないけれどもソートされている状態を意味します。

Oracle Databaseに限らず、暗黙ソートには頼らずにGROUP BY句やDISTICT句を使用する場合は”明示的に”ソート順序を指定することが、SQLプログラミングの基本中の基本です。

「マニュアルを読む」、「正しいSQLを書く」、基本って大事ですよね。それでは、次回もお楽しみに。

◆◆◆ 

津島博士
 

 【津島博士プロフィール】

 

長年に渡りデータベースの構築やパフォーマンスチューニングなどに従事し、最近では若手エンジニアの育成および大規模データベース案件などの支援に従事。

津島博士のパフォーマンス講座」を連載中です。  

【関連情報】「好奇心が、エンジニア人生を豊かにする。」 

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
使ってナットク!Oracle Database 11g最新機能連載記事一覧

もっと読む

この記事の著者

白砂 丈太郎(シラスナ ジョウタロウ)

日本オラクル(株)において、データベース事業のコアテクノロジー技術およびパフォーマンス技術のリーダーを務め、製品機能の検証および大規模/最重要プロジェクトでのベンチマークや実装を担当。
現在は(株)ワン・オー・ワンにおいて、データベースとWeb技術を中心としたシステム構築およびコンサルティングに従事。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/3254 2012/02/10 17:43

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング