• 締切済み

oracleユーザーの権限確認方法について

お世話になります。 例えばですが、oracleでsysユーザからaaaというユーザーを作成し、 selectやcreateなどの権限を付与したとします。 そこでaaaユーザーでログインして、aaaユーザーが行うことのできる 権限を調べたいと思ったのですが、いまいちわかりません…。 (1)select * from session_privs; ではcreate系の権限は表示されますが、select系(DML文)の権限が何を付与されているか表示されませんでした。 (2)select * from user_sys_privs; でもselect等の権限の確認はできませんでした。 (3)select * from user_tab_privs; では一件も出てきませんでした。 上記3つは何か間違えているのでしょうか? それとも他にも何か調べ方があるのでしょうか? よろしくお願い致します。

  • Oracle
  • 回答数1
  • ありがとう数2

みんなの回答

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 > (2)select * from user_sys_privs;でもselect等の権限の確認はできませんでした。 > (3)select * from user_tab_privs;では一件も出てきませんでした。 (2) がSYSTEM 権限 (DML やDDL を実行する権限) で (3) がOBJECT 権限 (特定の表やSEQUENCE に対する操作権限を他ユーザに付与) です。 > 上記3つは何か間違えているのでしょうか? 恐らくは、ROLE (権限の塊り) 経由で権限が付与されているのではないでしょうか? ユーザに付与されたROLE はuser_role_privs で確認できます。 また、ROLE に付与された権限を確認する場合は、dba_role_privs を確認して下さい。 詳細は、Oracle のリファレンス・マニュアルを確認して下さい。 http://docs.oracle.com/cd/E16338_01/server.112/b56311/toc.htm

関連するQ&A

  • Oracleでオブジェクト権限を調べるディクショナリは?

    Oracleであるユーザーtest_usr1がSample_tblというテーブルについて、test_user2に対してたとえばselectとupdateする権限を付与した場合、test_user2のオブジェクト権限を調べる場合、どのディクショナリで調べたらいいのでしょうか。 基本的な質問で恐縮ですが、よろしくお願いいたします。 Oracle 8.1.7のリファレンス・マニュアルを調べましたが、ここには載っていないようです。

  • Oracle 10g 権限付与

    はじめまして Oracle10gで、今度新しいデータベースが始動します。 問題なのが、管理者向けに発行するIDと、一般ユーザ向けに発行するIDの違いです。 管理者には参照・更新、参照権限付与・更新権限付与。 一般ユーザには参照、更新(それぞれテーブルごとに申請を出してもらう)、管理者から権限をもらう。 という仕組みになりました。 月に3度から4度、新しいテーブルができます。そのたびにgrantオプション付で管理者に権限付与するのも大変です。 select anyでは、テーブルごとの切り分けができません。 Oracle10gには詳しくないのですが(そもそもOracleにそんなに詳しくないのですが)、何かOracle10gの新機能など、使えそうなものはないでしょうか。 よろしくお願いいたします。

  • 権限の確認方法

    いつも参考にさせていただいています。 SQL Server Management Studioにおいて、SQL文であるユーザにCREATE TABLE権限とCREATE PROCEDURE権限を与えました。 が、しかしどこでこの権限が与えられているか確認する方法がわからなく困っております。 ご存知の方よろしくお願いいたします。 SQL Server 2005 Enterpriseです。

  • ユーザーへのディレクトリ権限付与について

    WindowsXPのOracle9i環境にて、 まず、以下のようにしてユーザ「username」を作成しました。 create user username identified by Password default tablespace tab_space temporary tablespacetemp; grant dba,resource,connect to username; 次にsysユーザにて、CREATE DIRECTORY FILE_PATH as 'd:\temp'; ディレクトリを作成しました。 そして、そのディレクトリに対して、以下のように権限付与しようとすると、「ユーザ"username"が存在しません。」エラーが発生します。 grant READ,WRITE ON directory dir to username; また、grant READ,WRITE ON directory dir to public; とすると、権限付与は成功しますが、ユーザusernameにはディレクトリ参照権限は与えられていませんでした。 何か間違っておりますでしょうか? それとも何か手順で足らないものがあるのでしょうか? ご教示いただければと思います。

  • オラクルでデータベースに項目を追加する場合に

    オラクル初心者です教えてください。 バージョンが関係あるのかは分かりませんが、8.1.7です。 AAAテーブルに10個の項目があり、真中に項目を追加する場合に、今入っているデータを生かしたい場合にどうやってやればよいのでしょうか? ↓領域を増やす場合などはこうやっているのですが  項目がずれているので駄目ですよね? CREATE TABLE BBB AS SELECT * FROM AAA DROP TABLE AAA CREATE TABLE AAA(真ん中に項目追加後) INSERT INTO AAA SELECT * FROM BBB やっぱりINSERT分に項目を全部書かないとだめなのでしょうか?

  • テーブルの権限 またはユーザの権限

    お世話になっております。 サーバーをいじること自体がはじめてで迷走しています; どうかご助言お願いします >< SQL Serverにおいて ユーザ「9999」がいるとします。 またDB「AA」「BB」「CC」「DD」があり、各DBに「9999」はログインできるようになっています。 各DB内にはそれぞれ複数のテーブルが存在します。 そして各テーブルでは「9999」に 「SELECT、INSERT、UPDATE、DELETE」の権限を与えてあります  ←今ココです そこで質問なのですが、 (1)ユーザ「9999」に与えてあるSELECT等の権限を確認するSQL文は存在しますでしょうか。   →「9999」がどのDBのどのテーブルにどの権限を持っているのか、など。 (2)もしくはDBごとに、どのユーザがどのテーブルに対してどの権限を持っているかを   確認するSQL文はありますでしょうか。   →テーブルごとでも結構です。 「権限を確認するSQLはあるよ」と 先輩に言われ、必死に探しておりますがOracleのものしか見つかりません。。。 とりあえず「9999」がそのテーブルに対して権限を持っているということを 証明したいのです。  ※テーブルのプロパティで権限付与を行ったため、    同じ方法で確認するのは意味がないと言われてしまいました どうかよろしくおねがいします。

  • オラクルのユーザ、ロール、権限の位置づけについて

    オラクルブロンズ取得を目指して勉強しています。とても基本的なことで、いまいち分からないことがあるのですが・・・以下のユーザ、ロール、権限、表領域とも呼べるべきものの位置付けがはっきりしません。 ・SYS ・SYSTEM ・SYSAUX ・SYSDBA ・SYSMAN ・SYSOPER ・DBA DBAなんかはまるでユーザかのように書かれているあいまいな参考書もあり、初心者には混乱の元です。そこで整理してみたんですが、以下のような感じで間違いないでしょうか? ●表領域:SYS、SYSTEM、SYSAUX ●ユーザ:SYS、SYSTEM、SYSMAN ●スキーマ:SYS、SYSTEM、SYSMAN ●権限:SYSDBA、SYSOPER、DBA ●ロール:SYSDBA、SYSOPER、DBA

  • MYSQL ユーザ作成について

    MYSQLのユーザ作成についてご質問させて頂きます。 管理者権限のあるユーザにてmysqlデータベースに接続し、 /usr/bin/mysql mysql -u admin -D mysql -p ユーザを作成しました。 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ON DB名.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード'; さまざまなサイトに記載されているとおり FLUSH PRIVILEGES; も行い、ユーザ一覧を確認してみると select * from mysql.user \G 権限が付与されていません。 Select_priv: N と表示されています。 エラー文が出てくるわけではないのでエラーではないと思いますが なぜなのでしょうか? ご教示ください。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • roleの権限確認方法

    ユーザーの権限を確認しようと思っています。 select * from session_roles; でユーザーが持っているロールはわかったのですが、 具体的にどんな権限(drop index,drop tableなど) を持っているのか、それぞれのロールの権限を確認 するにはどうすればいいのでしょう? 簡単な質問で申し訳ないのですが、入門書を読んでも 見つからなかったので質問させていただきました。 もし答えるまでもない質問なら、ここを調べろとurl を教えてくださると大変助かります。よろしくお願いします。

  • oracle 7.3のアクセス権限

    パスとユーザー名が書かれたテーブルがあったとして、 それが一致するものだけ、他のデータを閲覧できるようにしたいのです。 テーブル上のデータはみられたくあ 上手くviewやアクセス権限を操作してパスとユーザーを一致させる方法はないでしょうか? 接続方法はVBAからoo4oを用いています。オラクルのアカウントは一つです。 select countのみ許可とかできればいいのですが、それは無理でしょうか? データベース初心者ですが宜しくお願いします。