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;
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;
轉載于:https://www.cnblogs.com/liuzhuqing/archive/2012/06/29/7480840.html
總結
以上是生活随笔為你收集整理的oracle 查看 用户,用户权限,用户表空间,用户默认表空间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring之DataSource注入
- 下一篇: 闲聊零钱提现不到账