Oracle 查看用戶,用戶權限,用戶表空間,用戶默認表空間

 

oracle 查看用戶,用戶權限,用戶表空間,用戶默認表空間

查看用戶和默認表空間的關係。 
select username,default_tablespace from dba_users; 


1.查看錶結構:desc表名 

2.查看當前用戶的表: 

select table_name from user_tables; 
3.查看所有用戶的表名: 

select table_name from all_tables; 
4.查看所有表名(其中包括系統表) 

select table_name from all_tables; 
5.查看所有的表: 

select * from tab/dba_tables/dba_objects/cat; 
下面介紹Oracle查詢用戶表空間 

◆Oracle查詢用戶表空間:select * from user_all_tables 

◆Oracle查詢所有函數和儲存過程:select * from user_source 

◆Oracle查詢所有用戶:select * from all_users.select * from dba_users 

◆Oracle查看當前用戶連接:select * from v$Session 

◆Oracle查看當前用戶權限:select * from session_privs 

◆Oracle查看用戶表空間使用情況: 

select a.file_id "FileNo",a.tablespace_name 

"Tablespace_name", 

a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used", 

sum(nvl(b.bytes,0)) "Free", 

sum(nvl(b.bytes,0))/a.bytes*100 "%free" 

from dba_data_files a, dba_free_space b 

where a.file_id = b .file_id(+) 

group by a.tablespace_name , 

a.file_id,a.bytes order by a.tablespace_name; 
1.查看所有用戶: 

  select * from dba_user; 

  select * from all_users; 

  select * from user_users; 

2.查看用戶系統權限: 

  select * from dba_sys_privs; 

  select * from all_sys_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; 

6.查看角色所擁有的權限: 

  select * from role_sys_privs; 

  select * from role_tab_privs; 

7.查看所有系統權限 

  select * from system_privilege_map; 

8.查看所有對象權限 

  select * from table_privilege_map; 

以上是在Oracle中查看用戶權限 , 

在DB2中爲: 

  select * from syscat.dbauth 

  或者 

  get authorizations 


查看sid 

  select * from v$instance 

1 創建臨時表空間 
2 Sql代碼  
3 create temporary tablespace stbss_tmp   
4 tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf'   
5 size 32m   
6 autoextend on   
7 next 32m maxsize 2048m   
8 extent management local;  
9  
10 
11 創建數據表空間 
12 Sql代碼  
13 create tablespace stbss   
14 logging   
15 datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf'   
16 size 32m   
17 autoextend on   
18 next 32m maxsize 2048m   
19 extent management local;  
20 

1) DATAFILE: 表空間數據文件存放路徑 
2) SIZE: 起初設置爲32M 
3) UNIFORM: 指定區尺寸,如不指定,區尺寸默認爲64k 
4) 空間名稱stbss與數據文件名稱 stbss.dbf 不要求相同,可隨意命名. 
5) AUTOEXTEND ON/OFF 表示啓動/停止自動擴展表空間 
6) alter database datafile ' E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf ' resize 32m; //手動修改數據文件大小爲32M  
21 
22 創建用戶並指定表空間 
23 Sql代碼  
24 create user username identified by password   
25 default tablespace stbss  
26 temporary tablespace stbss_tmp;   
27  
28 
29 給用戶授予權限 
30 Sql代碼  
31 grant connect,resource to username;  
32  
33  改變用戶默認表空間 
34  
35  
36 Sql代碼  
37 alter user username default tablespace stbss;  
38 
  查詢用戶和表空間之間的關係 
select distinct(owner) ,tablespace_name from dba_segments; 
39 
   向USERS表空間增加一個數據文件: 


  SQL> alter tablespace users add datafile '/opt/oracle/oradata/eygle/users02.dbf' size 10M; 
  Tablespace altered. 
  SQL> select file#,name from v$datafile; 
  FILE# NAME 
  ---------- -------------------------------------------------- 
  1 /opt/oracle/oradata/eygle/system01.dbf 
  2 /opt/oracle/oradata/eygle/undotbs01.dbf 
  3 /opt/oracle/oradata/eygle/sysaux01.dbf 
  4 /opt/oracle/oradata/eygle/users01.dbf 
  5 /opt/oracle/oradata/eygle/users02.dbf 
  5 rows selected. 


  確認表空間文件信息: 



  SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS'; 
  FILE_NAME FILE_ID 
  -------------------------------------------------- ---------- 
  /opt/oracle/oradata/eygle/users02.dbf 5 
  /opt/oracle/oradata/eygle/users01.dbf 4 


確認表空間未被存儲佔用: 


  SQL> select segment_name,file_id,blocks from dba_extents where file_id=5; 
  no rows selected 


  刪除表空間中的空數據文件: 



  SQL> alter tablespace users drop datafile '/opt/oracle/oradata/eygle/users02.dbf'; 
  Tablespace altered. 


  檢查數據字典,這個空文件的信息已經被徹底清除了: 



  SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS'; 
  FILE_NAME FILE_ID 
  -------------------------------------------------- ---------- 
  /opt/oracle/oradata/eygle/users01.dbf 4 



40 以後以該用戶登錄,創建的任何數據庫對象都屬於stbss_tmp和stbss表空間,這就不用在每創建一個對象給其指定表空間了 
41  
42 刪除oracle臨時表空間 
43  新建一個臨時表空間,然後把數據庫的默認臨時表空間指向新建的這個,等到舊的臨時表空間沒人用的時候,就可以刪除了 
44 
45 Sql代碼  
46 --1:查看數據庫的默認臨時表空間  
47 select property_name, property_value  
48   from database_properties  
49  where property_name = 'default_temp_tablespace';  
50   
51 --2:創建一個新的臨時表空間temp_xxxx  
52 -----參考上面的創建語句  
53 --3:查看數據庫中有哪些臨時表空間。  
54 select distinct tablespace_name from dba_temp_files;  
55   
56 --4:把默認臨時表空間從temp切換到temp_xxxx  
57 alter database default temporary tablespace temp_xxxx;  
58   
59 --5:再次查看數據庫的默認臨時表空間  
60 select property_name, property_value  
61   from database_properties  
62  where property_name = 'default_temp_tablespace';  
63   
64 --6:刪除原來的臨時表空間  
65 drop tablespace temp;  




刪除用戶:test 
drop user test cascade 

刪除表空間: 
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES 

刪除表: 
delete from users; 

轉載出處:http://shuishiwo.iteye.com/blog/1314119

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章