1. システムのデフォルトのユーザー
Javaコード
sys;//システム管理者、最高の権限を持っています
system;//ローカル管理者、2 番目に高い権限
scott;//通常のユーザーの場合、パスワードはデフォルトで Tiger になり、デフォルトではロックが解除されません。
2. ログイン
Javaコード
sqlplus conn / as sysdba;//sys アカウントにログインします
sqlplus sys as sysdba;//上記と同じ
sqlplus scott/tiger;//一般ユーザー scott としてログインします
3. ユーザーを管理する
Javaコード
create user zhangsan;//管理者アカウントで、ユーザー zhangsan を作成します
Tiger によって特定されたユーザー scott に警告します;//パスワードを変更します
4. 権限を付与する
1. デフォルトの一般ユーザー Scott はデフォルトではロック解除されていないため、使用できません。新しく作成されたユーザーには権限がないため、権限を付与する必要があります。
Javaコード
/*管理者権限*/
give create session to zhangsan;//zhangsan ユーザーにセッションを作成する権限、つまりログイン権限を付与します。
zhangsan に無制限のセッションを許可します;// zhangsan ユーザーにテーブルスペースを使用する権限を付与します
zhangsan にテーブル作成を許可します;//テーブルを作成する権限を付与します
give table to zhangsan;//テーブルを削除する権限を付与します
give insert table to zhangsan;//テーブル挿入の許可
Grant update table to zhangsan;//テーブルを変更する権限
give all to public;//これはより重要で、すべての権限 (all) をすべてのユーザー (public) に付与します。
2. Oralce は厳密な権限管理を行っており、デフォルトでは一般ユーザーは相互にアクセスできず、相互に承認する必要があります。
Javaコード
/*oralce は権限管理が厳しく、デフォルトでは一般ユーザーは相互にアクセスできません*/
Grant select on tablename to zhangsan;//指定されたテーブルを表示する権限をユーザー zhangsan に付与します
give on tablename to zhangsan;//テーブルを削除する権限を付与します
テーブル名への挿入を zhangsan に許可します;//挿入の許可を与えます
zhangsan に tablename の更新を許可します;//テーブルを変更する権限を付与します
tablename の insert(id) を zhangsan に付与します。
give update(id) on tablename to zhangsan;//指定されたテーブルの特定のフィールドに挿入と変更のアクセス許可を付与します。挿入と更新のみが可能であることに注意してください。
zhangsan にすべてのテーブルにアラートを付与;//zhangsan ユーザーに任意のテーブルにアラートを送信する権限を付与します
5. 権限の取り消し
Javaコードの基本構文はgrantと同じで、キーワードはrevokeです。
6. 権限の表示
Javaコード
select * from user_sys_privs;//現在のユーザーのすべての権限を表示します
select * from user_tab_privs;//テーブルに対するユーザーの権限を表示します
7. テーブルを操作するユーザーのテーブル
Javaコード
/*次のように、テーブル名の前にユーザー名を追加する必要があります*/
select * from zhangsan.tablename
8. 権限の譲渡とは、ユーザー A が B に権限を付与し、B が C に操作権限を付与できることを意味します。コマンドは次のとおりです。
Javaコード
tablename のアラート テーブルを管理者オプションを使用して zhangsan に付与します。 //管理者オプションを使用したキーワード;
グラント オプションを使用して tablename のアラート テーブルを zhangsan に許可します;//グラント オプションを使用したキーワードの効果は admin と同様です
9. ロール ロールは権限の集合であり、ユーザーにロールを付与できます。
Javaコード
create role myrole;//ロールを作成
give create session to myrole;// myrole にセッションを作成する権限を付与します。
give myrole to zhangsan;// myrole のロールを zhangsan ユーザーに付与します
ロール myrole を削除; ロールを削除します。
/*ただし、無制限のテーブルスペースやキーワードなど、一部の権限はロールに付与できません*/
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/JustForFly/archive/2009/10/16/4681707.aspx
オブジェクトの権限:
1. オブジェクト権限付与の構文:
GRANT object_privilege ON object_name TO username [WITH GRANT OPTION ];
注: WITH GRANT OPTION ステートメントを使用した後、ユーザーは他のユーザーに同じ権限を付与できます。これはシステム権限と同じです。
2. オブジェクト権限取り消しの構文:
object_privilege ON object_name FROM username を取り消します。
注: ユーザー A の権限が削除されると、A によって B に付与された権限は自動的に消えます。これは、システム権限とは逆です。
3. 特定のオブジェクトの権限を表示します。
select * from dba_tab_privs where Grantee= 'WANGXIAOQI' ;
select * fromTABLE_PRIVILEGESwhere GRANTEE='WANGXIAOQI';
注1: どちらもオブジェクト権限を表示できますが、表示形式が異なります。
注 2: テーブル名は TABLE_PRIV ですが、これはテーブルだけではなく、関数、プロシージャ、パッケージなどを含むすべてのオブジェクト情報です。
4. オブジェクト権限の種類は比較的少なく、オブジェクトの種類によって異なります。
次のような値を割り当てるときに、all を使用して、このタイプのオブジェクトのすべての権限タイプを置き換えることができます。
table_name に対する select 、 update 、 delete 、 insert を user_name に付与します。
table_name のすべてを user_name に付与します。
注: TABLE の場合、すべてに次が含まれます: ALTER、DELETE、INDEX、INSERT、SELECT、UPDATE、ReferenceS、ON COMMIT REFRESH、QUERY REWRITE、DEBUG、FLASHBACK
役割管理:
1. ロールを通じて承認操作を簡素化します。各ロールには複数のシステム権限が含まれています。役割には、システムで事前定義された役割とカスタマイズされた役割が含まれます。
select * from dba_roles; -- カスタム リストを含む、現在のすべての ROLE リストをクエリします。
select * from dba_role_privs -- ユーザーの ROLE 権限をクエリします。
select * from ROLE_SYS_PRIVS; -- 現在のユーザーの ROLE とそれに含まれるシステム権限を照会します。
2. システムの事前定義された役割:
接続する:
ビューの作成
テーブルの作成
セッションを変更する
クラスターの作成
セッションの作成
同義語の作成
シーケンスの作成
データベースリンクの作成
リソース:
タイプの作成
テーブルの作成
クラスターの作成
トリガーの作成
オペレーターの作成
シーケンスの作成
CREATEINDEXTYPE
プロシージャの作成
さらに、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE などのより重要なロールも含まれています。
3. カスタマイズされた役割:
ロールを作成します。
ロールの作成 ロール名
[ 識別されません | パスワードによって識別されません]
注: IDENTIFIED は、ROLE <権限の承認とキャンセルを除く変更> を変更するときにパスワードが必要かどうかを示します。
ロールを作成した後、grant と revoke を使用して、ロールに対応するアクセス許可を手動で設定します。
次に、grant と revoke を使用してユーザーにロールを割り当てます。
注: ロールはロールに割り当てることができます
4. ROLE を有効または無効にします。
SET ROLE [ロール [パスワードで識別] |,ロール [パスワードで識別]...]
| すべて [役割[,役割]を除く...]
| なし ];
注: ALL はユーザーのすべての役割を有効にすることを意味し、NONE はすべての役割を無効にすることを意味します。
例:
すべてのロールを無効にします: setrolenone;
すべてのロールを有効にする: setroleall --role にはパスワードを含めることはできません。
ロールを有効にします: setrole role_test によって識別されます -- パスワードがある場合。
ロールを無効にします: setroleallexc role_test;
注: setrole コマンドは上書きされます。つまり、最初に 1 つを有効にしてから別のコマンドを有効にすることはできません。すべてを 1 つのコマンドで開始する必要があります。
5. ユーザーを変更するときにロールを設定します。
ALTER USER ユーザー名
[デフォルトのロール [ロール名[,ロール名,...]]
| すべて [ロール名[,ロール名,...] を除く]
| なし];
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/cosio/archive/2009/08/18/4459756.aspx