刪除該用戶及下面的所有關聯
drop user fspdrs cascade;
創建一個用戶
create user fspdrs
identified by "123"
default tablespace TEMP
temporary tablespace TEMP
profile DEFAULT;
a 查看用戶、權限、角色的適用命令
1.查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用戶系統權限:
select * from dba_sys_privs;
select * from session_privs;
select * from user_sys_privs;
3.查看用戶對象權限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.查看所有角色:
select * from dba_roles;
5.查看用戶所擁有的角色:
select * from dba_role_privs;
select * from user_role_privs;
b 與權限,角色相關的視圖大概有下面這些:
DBA_SYS_PRIVS: 查詢某個用戶所擁有的系統權限
USER_SYS_PRIVS: 查詢當前用戶所擁有的系統權限
SESSION_PRIVS: 查詢當前用戶所擁有的全部權限
ROLE_SYS_PRIVS: 查詢某個角色所擁有的系統權限 注意: 要以 SYS 用戶登陸查詢這個視圖,否則返回空.
ROLE_ROLE_PRIVS: 當前角色被賦予的角色
SESSION_ROLES: 當前用戶被激活的角色
USER_ROLE_PRIVS: 當前用戶被授予的角色
關於創建視圖權限不足時,可以在dos下用sqlplus /@orcl as sysdba登錄到Oracle,
再給所需要的用戶賦予權限:grant create view to scott;再用pl/sql以scott登錄時就可以創建視圖了。
關於scott用戶的解鎖命令:alter user scott account unlock.
PL/SQL DBA 創建用戶權限
ORACLE有三大系統角色:connect,resource,dba;
1、創建新用戶
@:利用PL/SQL工具創建,
File--->New--->user,打開創建新用戶界面,所界面上內容,
依次輸入 NAME,PASSWOERD,DEFAULT TABLESPACE,TEMPORARY TABLESPACE 內容後,
下面"APPLY"按鈕會顯示,點擊「APPLY」後,新用戶就創建OK;
2. 給用戶開通權限命令:
grant
create session,create table,select any table,update any table,
insert any table,delete any table to user_name;
或
grant
connect,create table,select any table,update any table,
insert any table,delete any table to user_name;
註: 創建新用戶時 create session或connect 必需創建,否則 用戶無法登陸PL/SQL;
create session與connect的區別:
create session 是權限,connect是角色,當查詢用戶權限時, 權限可以看到,而角色是看不到的!
3、給用戶開通個別表權限
grant select on tablename to username;
4. 刪除用戶權限命令:
revoke
create table,select any table,update any table,insert any table,delete any table,sysdba
from user_name;
5、 查詢用戶權限:
顯示已被授予的全部對象特權:select * from sys.dba_sys_privs
顯示已被授予權限的用戶特權:select * from sys.dba_sys_privs a where a.grantee='username';
6、查詢當前運行的SQL 語句:
select a.machine, a.program, b.piece, b.sql_text
from v$session a, v$sqltext b, v$process c
where a.paddr = c.addr
and a.sql_hash_value = b.hash_value
order by b.piece;
7、移除不用的用戶
drop user username cascade;
註:此移除會移除該用戶下以前所有對數據Create操作過的東西(不要輕易用此命令),移除後該用戶下的東西都將會刪除 !!!
8、創建角色
除了前面講到的三種系統角色
connect、resource和dba,用戶還可以在oracle創建自己的role。
用戶創建的role可以由表或系統權限或兩者的組合構成。
為了創建role,用戶必須具有create role系統權限。下面給出一個create role命令的實例:
create role student;
這條命令創建了一個名為student的role。
一旦創建了一個role,用戶就可以給他授權。給role授權的grant命令的語法與對對用戶的語法相同。
在給role授權時,在grant命令的to子句中要使用role的名稱,如下所示:
grant select on class to student;
現在,擁有student 角色的所有用戶都具有對class 表的select權限。
9、刪除角色
要刪除角色,可以使用drop role命令,如下所示:
drop role student;
指定的role連同與之相關的權限將從資料庫中全部刪除。
10.pl/sql導出表結構和數據
導出表結構:
Tools-->Export User Objects -->選擇要導出的表(包括Sequence等)-->.sql文件
導出表數據:
Tools-->Export Tables-->選擇表,選擇SQL Inserts-->.sql文件
執行這些.sql文件時,要使用新建Command Window來執行.
1.CONNECT角色: 授於最終用戶的典型最基本的權利
ALTER SESSION --修改會話
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立資料庫連結
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義詞
CREATE VIEW --建立視圖
2.RESOURCE角色: 是授予開發人員的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立過程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立觸發器
CREATE TYPE --建立類型
1.查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用戶或角色系統權限:
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色所包含的權限
select * from role_sys_privs;
4.查看用戶對象權限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
6.查看用戶或角色所擁有的角色:
select * from dba_role_privs;
select * from user_role_privs;
查詢版本
select * from v$version;
select * from v$instance;
select * from product_component_version;
查詢當前用戶有多少張表
SELECT T.OBJECT_NAME,
T.OBJECT_TYPE,
(SELECT COUNT(*)
FROM USER_OBJECTS P
WHERE P.OBJECT_TYPE = 'TABLE'
AND INSTRB(P.OBJECT_NAME, '$', 1) = 0) AS totalTableNums
FROM USER_OBJECTS T
WHERE 1 = 1
AND T.OBJECT_TYPE = 'TABLE'
AND INSTRB(T.OBJECT_NAME, '$', 1) = 0;