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