/*****建立用戶並指定操做哪張表開始******/ --1.建立用戶並設置默認表空間 CREATE USER CHENGDWY IDENTIFIED BY CHENGDWY DEFAULT TABLESPACE CFWL QUOTA UNLIMITED ON CFWL; --DROP USER CHENGDWY CASCADE; --刪除用戶 --2.授予CHENGDWY用戶建立session的權限,即登錄權限 GRANT CONNECT TO CHENGDWY; ALTER USER CHENGDWY DEFAULT ROLE NONE; GRANT CREATE SESSION TO CHENGDWY; --3.授予CHENGDWY用戶使用表空間的權限 GRANT UNLIMITED TABLESPACE TO CHENGDWY; --4.給用戶受權能夠查看、插入、更新某張表的數據 GRANT SELECT ON QICHSJ TO CHENGDWY; --授予查看錶QICHSJ的權限 GRANT INSERT ON QICHSJ TO CHENGDWY; --授予插入表QICHSJ的權限 GRANT UPDATE ON QICHSJ TO CHENGDWY; --授予修改表QICHSJ的權限 GRANT SELECT ON GUIDHSJ TO CHENGDWY; --授予查看錶guidhsj的權限 GRANT INSERT ON GUIDHSJ TO CHENGDWY; --授予插入表guidhsj的權限 GRANT UPDATE ON GUIDHSJ TO CHENGDWY; --授予修改表guidhsj的權限 --5.登陸新建立的用戶,查看受權是否成功 SELECT * FROM CFWL.QICHSJ Q; --成功 SELECT * FROM QICHSJ Q; --失敗,報:表或視圖不存在! SELECT * FROM CFWL.GUIDHSJ G; --成功 SELECT * FROM GUIDHSJ G; --失敗,報:表或視圖不存在! --6.給新建立的用戶受權能夠建立同義詞 GRANT CREATE SYNONYM TO CHENGDWY; --7.使用新建立的用戶建立同義詞供對方公司訪問,解決上面報的錯 CREATE SYNONYM TB_QICHSJ FOR CFWL.QICHSJ;--CFWL是建立用戶的帳號,須根據實際進行修改 CREATE SYNONYM TB_GUIDHSJ FOR CFWL.GUIDHSJ; --SELECT * FROM USER_SYNONYMS; --查看當前用戶下的同義詞 --8.在此登陸新建立的用戶查詢受權是否成功 SELECT * FROM CFWL.TB_QICHSJ Q; --成功 SELECT * FROM TB_GUIDHSJ G; --成功 --9.限制第三方鏈接數據庫的鏈接數 SHOW PARAMETER RESOURCE; --查看數據庫鏈接數限制是否打開,此語句需在SQL*Plus下執行 ALTER SYSTEM SET RESOURCE_LIMIT = TRUE; --修改數據庫鏈接數限制爲打開狀態,此語句選在SQL*Plus下執行 --新建profile, 初始限制爲1 ,用於測試。 CREATE PROFILE CHENGDWY_PROFILE LIMIT SESSIONS_PER_USER 1 FAILED_LOGIN_ATTEMPTS UNLIMITED; --將建立的數據庫鏈接數限制賦給用戶 ALTER USER CHENGDWY PROFILE CHENGDWY_PROFILE; --將會話數調整到30 ALTER PROFILE CHENGDWY_PROFILE LIMIT SESSIONS_PER_USER 30; --DROP PROFILE CHENGDWY_PROFILE CASCADE; --刪除用戶鏈接數據庫限制 /*****建立用戶並指定操做哪張表結束******/
相關SQL語句html
--查看全部用戶會話信息 SELECT * FROM V$SESSION; SELECT SID, LOGON_TIME, USERNAME, MACHINE FROM V$SESSION; --查看全部用戶鏈接信息 SELECT S.USERNAME, S.OSUSER, S.PROGRAM, S.MACHINE, S.SID, S.SERIAL#, P.SPID, 'alter system kill session ' || '''' || TRIM(S.SID) || ',' || TRIM(S.SERIAL#) || ''';' FROM V$SESSION S, V$PROCESS P WHERE S.PADDR = P.ADDR AND S.USERNAME IS NOT NULL; --斷開已鏈接的用戶 SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME = 'CHENGDWY'; ALTER SYSTEM KILL SESSION '152, 189';
SQL*Plus執行結果:數據庫
參考文檔:session
http://blog.csdn.net/lixi292/article/details/7029915測試
http://blog.sina.com.cn/s/blog_5695d9a901013ji7.htmlui
http://database.51cto.com/art/201010/231887.htmspa
http://www.cnblogs.com/liuyou/archive/2011/10/20/2219624.html.net