Oracle數(shù)據(jù)庫(kù)查看sql如何正常運(yùn)行?
以下的文章主要描述的是Oracle數(shù)據(jù)庫(kù)查看sql的正確操作方案,下面就是文章的具體內(nèi)容的講述,如果你也對(duì)Oracle數(shù)據(jù)庫(kù)查看sql的操作很感性的話,你就可以點(diǎn)擊此文章對(duì)其進(jìn)行了解,以下就是文章的具體內(nèi)容描述。
查詢表狀態(tài):
- 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;
 
Oracle數(shù)據(jù)庫(kù)查看數(shù)據(jù)庫(kù)字符集
- select * from nls_database_parameters;
 
查看表創(chuàng)建,修改時(shí)間
- select * from ALL_OBJECTS where object_name =upper('tname');
 
每個(gè)表所占空間
- select Segment_Name, round(Sum(bytes)/1024/1024,0) "MBytes"
 - From User_Extents Group By Segment_Name order by "MBytes" desc;
 
查詢正在執(zhí)行的存儲(chǔ)過(guò)程
- select * from dba_ddl_locks where owner='USERNAME';
 
Oracle數(shù)據(jù)庫(kù)查看表空間的使用情況
- 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';
 
如果對(duì)象被鎖住了,用Oracle的ALTER SYSTEM KILL SESSION 'SID,SERIAL#'不一定會(huì)將SESSION KILL掉,會(huì)報(bào)
- SQL> alter system kill session '200,18325'
 - *
 - ERROR at line 1:
 - ORA-00031: session marked for kill
 
這樣的錯(cuò)誤,所以可以在操作系統(tǒng)級(jí)上KILL掉進(jìn)程
- select 'kill -9 '||a.spid "xxx" from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED';
 
查找出被標(biāo)志為KILLED的SESSION的操作系統(tǒng)進(jìn)程號(hào)。
增加表空間,文件
- ALTER TABLESPACE bgtablespace01
 - ADD DATAFILE '/opt/Oracle/oradata/orcl/bgtablespace01/bgtablespace0190.dbf' SIZE 5120M ;
 
更改用戶表空間
- alter user user modify default tablespace bgtablespace01;
 
Oracle數(shù)據(jù)庫(kù)查看sql中針對(duì)大表增加有默認(rèn)值的字段的操作方法
- ALTER TABLE tab_large add col_new Number(9) Default 1;
 
該語(yǔ)句會(huì)對(duì)所有記錄進(jìn)行填值操作,對(duì)于現(xiàn)場(chǎng)tab_large中存在3000W條左右數(shù)據(jù),該步驟需要執(zhí)行數(shù)小時(shí)。
可以將該語(yǔ)句改為為
- ALTER TABLE tab_large add col_new Number(9);
 - ALTER TABLE tab_large modify col_new number(9) default 1;
 
該語(yǔ)句只會(huì)對(duì)新增的記錄進(jìn)行填值操作,只需要數(shù)秒。
如果需要對(duì)原來(lái)的值進(jìn)行操作,可以在升級(jí)后進(jìn)行update操作,這樣能夠節(jié)省大量的升級(jí)時(shí)間。
增加數(shù)據(jù)庫(kù)用戶
- create user sjzq identified by sjzq123 default tablespace
 
BGTABLESPACE01 Temporary TABLESPACE Temp;- grant connect to sjzq;
 - grant select on abc.tname to sjzq;
 
上述的相關(guān)內(nèi)容就是對(duì)Oracle數(shù)據(jù)庫(kù)查看sql的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。
【編輯推薦】















 
 
 

 
 
 
 