起因
在做Hibernate批量插入時(shí),出現(xiàn)這個(gè)錯(cuò)誤org.hibernate.QueryTimeoutException:
錯(cuò)誤原因是表空間的容量不足,需要加大空間容量;那首先想到的是應(yīng)該查詢其容量,所以應(yīng)該想辦法查詢其容量以及增大其容量。
因此
想統(tǒng)一整理Oracle中常用的命令語(yǔ)句,以后遇到,會(huì)不斷更新此博客中。為了以后方便查詢,因此整理此博客中。
Oracle中常用的命令語(yǔ)句如下:
1.創(chuàng)建用戶
create user 用戶名 identified by 密碼
注意:用戶名和密碼最好是英文
如:create user sms identified by sms;
2.創(chuàng)建表空間
create tablespace 表空間名 datafile '存放路徑' size 大小
如:create tablespace ts_sms datafile 'F:\quanxianguanliruanjian\oracle\tablespace\sms.dbf' size 100m;
3.把表空間賦值給剛創(chuàng)建的用戶
alter user 用戶 default tablespace 表空間
如:alter user sms default tablespace ts_sms;
4.給用戶賦權(quán)
grant create session,create view,create table,unlimited tablespace to 用戶
如:grant create session,create view,create table,unlimited tablespace to sms;
或者直接把DBA的權(quán)限全部賦值給用戶,這樣用戶就有了創(chuàng)建序列等權(quán)限
grant dba to user; 如:grant dba to sms;
5.切換到新建的用戶登錄
conn 用戶/密碼
如:conn sms/sms;
其中1——5是新建用戶,到導(dǎo)入sql之間的過(guò)程。
6.刪除用戶
drop user 用戶名
如:drop user sms;
7.修改用戶的密碼
alter user 用戶名 identified by 新密碼
如:alter user test identified by test;
8.查看所有的用戶
select * from dba_users; 或者 select * from all_users; 或者 select * from user_users;
其中select * from user_users;只能看當(dāng)前的用戶
9.查看當(dāng)前用戶或DBA角色的權(quán)限
select * from user_sys_privs; select * from dba_sys_privs;
10.查看表空間的容量
SQL> selecttablespace_name "表空間" , bytes/1024/1024 "總?cè)萘縈B" fromdba_data_files;
結(jié)果如下:
11.查看表空間的使用情況,剩余情況
SQL> selecta.tablespace_name as 表空間, a.bytes/1024/1024 as 總?cè)萘縈B ,(a.bytes-b.bytes)/1024/1024 "使用容量MB",b.bytes/1024/1024 "剩余容量MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "使用百分比" from (select tablespace_name,sum(bytes) bytes fromdba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes)bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_nameorder by ((a.bytes-b.bytes)/a.bytes) desc;
結(jié)果如下:
以后在實(shí)踐中在遇到,會(huì)繼續(xù)收藏滴,收藏起來(lái),共享給大家,方便你我他。
PS:今天又在實(shí)踐中遇到問(wèn)題,其中Oracle表中進(jìn)程被鎖定了,需要查看被鎖定的進(jìn)程以及殺死進(jìn)程;2012年8月22日 20:44:36
查看被鎖定的進(jìn)程:
select 'alter system kill session '''||sid||','||serial#||''';' from v$session where sid in (select sid from v$lock where block = 1);
結(jié)果如下:若有則出現(xiàn)鎖定的進(jìn)程如下面,沒有則提示會(huì)“未選定的行”
'ALTERSYSTEMKILLSESSION'''||SID||','||SERIAL#||''';'
--------------------------------------------------------------------------------
alter system kill session '136,18257';
殺死鎖定的進(jìn)程:
SQL> alter system kill session '136,18257';
遇到問(wèn)題,會(huì)繼續(xù)收藏滴~
您可能感興趣的文章:- oracle的歸檔模式 ORACLE數(shù)據(jù)庫(kù)歸檔日志常用命令
- Oracle常用命令大全集
- Oracle數(shù)據(jù)庫(kù)基本常用命令匯總