権限という概念がある目的は、ユーザーごとにできることを分けることでデータベースを安全に運用するためです。会社を想像してほしいのですが、社長と新卒の社員を想像してみてください。社長が会社の最終決定権を持っているの対して、新卒の社員は雑用の仕事を任されるはずです。雑用ですら手一杯の新卒の社員に会社の最終決定権を持たしてしまうと恐ろしいことが起きてしまうことは簡単に予想できます。データベースも同じでデータ削除をして良い人、スキーマを作成していい人などの様に権限を切り分けることで安全に運用できます。別の切り口で考えるとシステム運用のために権限を振り分けるという理由もあります。会社内で部署が存在するように、Aユーザーはa業務関連のテーブルを操作でき、Bユーザーはb業務とc業務関連のテーブルを操作できる様にするために権限を振り分ける事もできます。営業部が採用権限がないようなイメージですね!話がゴチャゴチャしてしまいましたが、権限はとにかく必要という事です!!権限の構文--権限の付与にはGRANT構文。usr2;--権限の剥奪にはREVOKE構文。usr2;権限の種類システム権限システム権限とはデータベースに対する命令を行うための権限のことを指します。言葉を柔らかくして説明するとOracle様にお願いを聞いてもらうための装備のような感覚です。社員証がないと会社に入れない様に命令ごとのシステム権限がないとOracle様が動いてくれずDBに対して何も実行することができません。(難しく感じた方ごめんなさい)システム権限の種類は数多くあるので、自分が勉強した時にイメージしやすかったものだけ紹介します。TABLE僕は初めてOracleでユーザーを作成した際にSESSION権限を付与するのを忘れてしまい、DB接続ができず3日ほど立ち往生した経験があります。最低限付与しなければいけない権限などもあるので一度は目を通したほうが良いかもしれません!ちなみにこのページ見やすかったのでシステム権限の種類について確認したい方は呼んでみてください。ADMIN」を指定する必要があります。ADMIN」を指定することでusr2は別のユーザーにオブジェクト権限を付与できるようになりました。--usr2は接続権限を付与され、他人に譲渡できる。OPTION;オブジェクト権限オブジェクト権限とは自分以外のオブジェクトに対して命令を実行できる様にするための権限です。これはイメージしやすいと思うのですが、友達の物(パソコンでも車でも何でも良いです)に対して友達の許可がないと使用するのはNGのはずです。Oracleも一緒で、自分以外のユーザーが保持しているオブジェクトに対して権限がないとそのオブジェクトには何も実行することができません。※ちなみに、自分が作成したオブジェクトに対しては権限はいりません。OPTION」を指定する必要があります。OPTION」を指定することでusr2は別のユーザーにオブジェクト権限を付与できるようになりました。OPTION」を指定して付与された権限は大元のユーザーによって権限が削除されると連鎖的に権限が削除されます。usr3にも同じ権限付与できる。usr2の権限が消えると共に連鎖的にusr3の権限も消える。usr2;ロールロールとは権限をまとめたもので、プログラミングでいうところの配列のような扱いです。配列のように扱えることで一度定義しておけば繰り返し呼び出せるという利点があるため、実務ではよく使われているらしいです。)また、ロールの凄いところはシステム権限とオブジェクト権限を同時に格納できるという点です。・ロールにロールを付与することもできる。・PUBLICロールと呼ばれる全ユーザーに適用されるロールがある。この記事を書いた人コテツ社会人4年目。早く1人前になりたい。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。認証期間が終了しました。ページを再読み込みしてください。」という雑誌に出会ったので、SO...生涯独学RDSでフェイルオーバー試してみたよDBの冗長構成は障害時の中断を最小限に抑え、データとビジネスを保護。(1)プロフィールやんやん都内で三流プログラマーとして働いています。