PS:更新中……
創建用戶: 可指定用戶表空間和臨時表空間
create user myuser identified by 123456
default tablespace mytable
temporary tablespace tmp_table;
用戶授權:可以根據需要選擇權限。
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO myuser;
查詢所有用戶:
select * from all_users;
----------------------------------------------
查看當前用戶的表:
select table_name from user_tables;
查看錶結構:desc 表名;
查看所有表名(其中包括系統表):
select table_name from all_tables;
查看oracle數據庫有多少表空間:
SELECT COUNT(*) FROM DBA_DATA_FILES;
查看錶空間名稱:
SELECT TABLESPACE_NAME FROM DBA_DATA_FILES;
查看錶空間詳細:
SELECT FILE_NAME,TABLESPACE_NAME,BYTES,USER_BLOCKS FROM DBA_DATA_FILES;
創建表空間:
create tablespace tablespacename
logging
datafile 'E:/app/user/oradata/orcl/tablespacename.dbf'
Size 32m
autoextend on
extent management local;
創建臨時表空間:
create temporary tablespace tablespacename
tempfile 'E:/app/user/oradata/orcl/tablespacename.dbf'
Size 32m
autoextend on
extent management local;
PS:臨時表空間與表空間的區別
臨時空間,顧名思義,是在執行執行包含排序的算法過程中使用的臨時空間,會釋放。表空間:數據庫的邏輯區域,在數據庫中一直存在,不會自動丟失。
創建同樣大小的表空間,永久表空間要比臨時標空間慢很多!你可以試試~
SQL> set timing on
SQL> create tablespace data1 datafile 'D:data1.DBF' SIZE 1
G;
表空間已創建。
已用時間: 00: 00: 38.73
SQL> create temporary tablespace data2 tempfile 'D:data2.DBF
' SIZE 1G;
表空間已創建。
已用時間: 00: 00: 00.62
SQL>
用戶的表空間主要是在用戶創建數據庫對象時如果不顯示的指定創建的對象存儲的表空間時,會被默認放置的表空間。而用戶是可以在任何允許訪問的表空間上創建數據庫對象的。
用戶以後創建的數據庫對象將存放在此表空間內,創建用戶的時候還必須使用quota子句爲用戶在默認表空間中分配空間配額,如果不指定默認表空間,ORACLE將會把SYSTEM表空間做爲用戶的默認表空間,這種情況應該避免.
創建用戶時的臨時表空間:
當用戶所執行的SQL語句需要進行排序操作是,會要求獲取一定的臨時空間。這時,oracle將在用戶的臨時表空間中創建臨時段,該臨時段屬於sys用戶,而不是屬於用戶!
用戶的臨時表空主要是用戶在執行大型的sql語句時所示用的臨時排序空間,如果臨時表空間不足在排序時則會使用硬盤進行排序,這會導致大量的磁盤讀寫操作,從而影響sql的執行性能。