一、Oracle9g中的三個默認用戶 sql
用戶名 密碼 數據庫
sys change_on_install [as sysdba] windows
system manager session
scott tiger ide
二、用戶登陸 spa
1)開啓監聽 命令行
C:\Users\Administrator>lsnrctl start 對象
2)開啓數據庫的實例 ci
C:\Users\Administrator>oradim -starup -sid orcl it
3)超級管理員登陸
C:\Users\Administrator>sqlplus / as sysdba
4)建立普通用戶並登陸
create user lisi identified by lisi; //建立一個用戶名爲lisi,密碼爲lisi的用戶
default tablespace users //默認表空間爲users,用來存放數據
temporary tablespace temp //臨時表空間temp,等於windows臨時文件夾
quota 50M on users //限定用戶只能使用users表空間爲50M
C:\Users\Administrator>sqlplus lisi/lisi //lisi用戶登陸
5)限制用戶
用戶加鎖:alter User用戶名Account Lock
用戶解鎖:alter User用戶名Account Unlock
用戶口令既刻失效:alter User 用戶名Password Expire
6)刪除用戶
Drop user 用戶名 用戶下面沒有對象
Drop User 用戶名 cascade 其中CasCade表示刪除用戶全部對象
7)斷開正在鏈接的用戶
SQL>disconn
三、系統權限
grant create session to lisi; //授予lisi會話的權限
grant create table to lisi; //授予lisi建立表的權限
grant unlinited tablespace to lisi; //授予lisi無限制使用表空間的權限
revoke create session from lisi; //撤銷lisi會話的權限
revoke create table from lisi; //撤銷lisi建立表的權限
revoke unlimited tablespace to lisi; //撤銷lisi無限制使用表空間的權限
四、對象權限
grant select on mytable to lisi; //授予lisi查看mytable表的權限
grant insert on mytable to lisi; //授予lisi在mytable表中插入數據的權限
grant all on mytable to lisi; //授予lisi操做mytable表全部的權限
revoke select on mytable from lisi; //撤銷lisi查看mytable表的權限
revoke insert on mytable from lisi; //撤銷lisi在mytable表插入數據的權限
revoke all on mytable from lisi; //撤銷lisi操做mytable表的全部權限
五、給全部用戶授予權限
grant create any table to public; //把建立表的權限授予給全部用戶
grant create session to public; //把會話的權限授予給全部的用戶
grant unlinited tablespace to public; //把無限之使用表空間的權限授予給全部的用戶
grant select on mytable to public; //把查看mytable表的權限授予給全部用戶
revoke create any table from public; //撤銷全部用戶建立表的權限
revoke create session from public; //撤銷多有用戶的會話權限
revoke unlinited tablespace from public; //撤銷用戶無限制使用表空間的權限
六、使用數字字典
select*from user_sys_privs; //查看當前用戶擁有哪些系統權限
select*from user_tab_privs; //查看當前用戶擁有哪些對象權限
select * from dba_users; //查看數據庫裏面全部用戶,前dba權限的賬號,如sys,system
select * from all_users; //查看你能管理的全部用戶!
select * from user_users; //查看當前用戶信息 !
七、對象權限能夠控制到列
grant update(name) on mytable to lisi; //授予lisi用戶更新mytable表name列的權限
grant insert(id) on mytable to lisi; //授予lisi用戶在mytable表id列插入數據的權限
select*from user_col_privs; //查看當前用戶擁有哪些列的對象權限
注意:查詢和刪除不能控制到列。 //ddl dml dcl
八、系統權限的傳遞
grant alter any table to lisi with admin option; //超級管理員授予lisi修改任意表的管理權限
九、對象權限的傳遞
grant select on A to lisi with grant option; //把A表的查看權限授予給lisi
10、設置命令行屏幕的寬度
set linesize 400 //設置行的寬度爲400
十一、角色
create role myrole; //建立角色
grant create session to myrole; //授予會話權限給角色
grant create table to myrole; //授予建立表權限給角色
drop role myrole; //刪除角色
Create table
Create any table
Alter any table
Drop any table
注意:有些系統權限沒法直接賦予角色
Grant unlinited tablespace to myrole;
Alter table
Drop table
表是屬於某一個用戶的,而角色不屬於任一用戶的,是共同擁有的。
12、獲取表:
select table_name from user_tables; //當前用戶的表
select table_name from all_tables; //全部用戶的表
select table_name from dba_tables; //包括系統表
select table_name from dba_tables where owner='用戶名'
user_tables:
table_name,tablespace_name,last_analyzed等
dba_tables:
ower,table_name,tablespace_name,last_analyzed等
all_tables:
ower,table_name,tablespace_name,last_analyzed等
all_objects:
ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等
13、獲取表字段:
select * from user_tab_columns where Table_Name='用戶表';
select * from all_tab_columns where Table_Name='用戶表';
select * from dba_tab_columns where Table_Name='用戶表';
user_tab_columns:
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
all_tab_columns :
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
dba_tab_columns:
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
14、獲取表註釋:
select * from user_tab_comments
user_tab_comments:table_name,table_type,comments
相應的還有dba_tab_comments,all_tab_comments,這兩個比user_tab_comments多了ower列。
15、獲取字段註釋:
select * from user_col_comments
user_col_comments:table_name,column_name,comments
相應的還有dba_col_comments,all_col_comments,這兩個比user_col_comments多了ower列。