以下的文章主要講述的是Oracle數據庫中如何正確的查看sql,以及查詢表的相關狀態,下面就是文章的抓喲內容的介紹,如果你對其相關的實際操作有興趣的話,你就可以對以下的文章點擊觀看了。
- select uo.OBJECT_NAME,uo.OBJECT_ID,lo.Oracle_USERNAME,lo.LOCKED_MODE from
- user_objects uo,v$locked_object lo where uo.OBJECT_ID=lo.OBJECT_ID;
查看數據庫字符集
- select * from nls_database_parameters;
查看表創建,修改時間
- select * from ALL_OBJECTS where object_name =upper('tname');
每個表所占空間
- select Segment_Name, round(Sum(bytes)/1024/1024,0) "MBytes"
- From User_Extents Group By Segment_Name order by "MBytes" desc;
查詢正在執行的存儲過程
- select * from dba_ddl_locks where owner='USERNAME';
查看表空間的使用情況
- select a.tablespace_name,round(a.bytes/(1024*1024),2)
"Total MB",round(b.bytes/(1024*1024),2) "Used MB",- round(c.bytes/(1024*1024),2) "Free MB",
round((b.bytes*100)/a.bytes,2)||'%' "% Used",- round((c.bytes*100)/a.bytes,2)||'%' "% Free"
- from sys.sm$ts_avail a,sys.sm$ts_used b,sys.sm$ts_free c
- where a.tablespace_name=b.tablespace_name and a.tablespace_name=c.tablespace_name;
加\解鎖:
- lock table dept in share mode;
仍然解不了,用以下方法:
- SELECT sid, serial#, username, osuser FROM v$session;
- ALTER SYSTEM KILL SESSION 'sid,serial';
- example:
- ALTER SYSTEM KILL SESSION '131, 33574';
如果對象被鎖住了,用Oracle的ALTER SYSTEM KILL SESSION 'SID,SERIAL#'不一定會將SESSION KILL掉,會報
- SQL> alter system kill session '200,18325'
- *
- ERROR at line 1:
- ORA-00031: session marked for kill
這樣的錯誤,所以可以在操作系統級上KILL掉進程
- select 'kill -9 '||a.spid "xxx" from v$process a,v$session b
where a.addr=b.paddr and b.status='KILLED';
查找出被標志為KILLED的SESSION的操作系統進程號。
增加表空間,文件
- ALTER TABLESPACE bgtablespace01
- ADD DATAFILE '/opt/Oracle/oradata/orcl/
bgtablespace01/bgtablespace0190.dbf' SIZE 5120M ;
更改用戶表空間
- alter user user modify default tablespace bgtablespace01;
Oracle中針對大表增加有默認值的字段的操作方法
- ALTER TABLE tab_large add col_new Number(9) Default 1;
該語句會對所有記錄進行填值操作,對於現場tab_large中存在3000W條左右數據,該步驟需要執行數小時。
可以將該語句改為:
- ALTER TABLE tab_large add col_new Number(9);
- ALTER TABLE tab_large modify col_new number(9) default 1;
該語句只會對新增的記錄進行填值操作,只需要數秒。
如果需要對原來的值進行操作,可以在升級後進行update操作,這樣能夠節省大量的升級時間。
增加數據庫用戶
- create user sjzq identifIEd by sjzq123 default
tablespace BGTABLESPACE01 Temporary TABLESPACE Temp;- grant connect to sjzq;
- grant select on abc.tname to sjzq;
以上的相關內容就是對Oracle數據庫查看sql的介紹,望你能有所收獲。