以下的文章主要讲述的是Oracle数据库中如何正确的查看sql,以及查询表的相关状态,下面就是文章的抓哟内容的介绍,如果你对其相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。
- selectuo.OBJECT_NAME,uo.OBJECT_ID,lo.Oracle_USERNAME,lo.LOCKED_MODEfrom
- user_objectsuo,v$locked_objectlowhereuo.OBJECT_ID=lo.OBJECT_ID;
查看数据库字符集
- select*fromnls_database_parameters;
查看表创建,修改时间
- select*fromALL_OBJECTSwhereobject_name=upper('tname');
每个表所占空间
- selectSegment_Name,round(Sum(bytes)/1024/1024,0)"MBytes"
- FromUser_ExtentsGroupBySegment_Nameorderby"MBytes"desc;
查询正在执行的存储过程
- select*fromdba_ddl_lockswhereowner='USERNAME';
查看表空间的使用情况
- selecta.tablespace_name,round(a.bytes/(1024*1024),2) "TotalMB",round(b.bytes/(1024*1024),2)"UsedMB",
- round(c.bytes/(1024*1024),2)"FreeMB", round((b.bytes*100)/a.bytes,2)||'%'"%Used",
- round((c.bytes*100)/a.bytes,2)||'%'"%Free"
- fromsys.sm$ts_availa,sys.sm$ts_usedb,sys.sm$ts_freec
- wherea.tablespace_name=b.tablespace_nameanda.tablespace_name=c.tablespace_name;
加\解锁:
- locktabledeptinsharemode;
仍然解不了,用以下方法:
- SELECTsid,serial#,username,osuserFROMv$session;
- ALTERSYSTEMKILLSESSION'sid,serial';
- example:
- ALTERSYSTEMKILLSESSION'131,33574';
如果对象被锁住了,用Oracle的ALTER SYSTEM KILL SESSION 'SID,SERIAL#'不一定会将SESSION KILL掉,会报
- SQL>altersystemkillsession'200,18325'
- *
- ERRORatline1:
- ORA-00031:sessionmarkedforkill
这样的错误,所以可以在操作系统级上KILL掉进程
- select'kill-9'||a.spid"xxx"fromv$processa,v$sessionb wherea.addr=b.paddrandb.status='KILLED';
查找出被标志为KILLED的SESSION的操作系统进程号。
增加表空间,文件
- ALTERTABLESPACEbgtablespace01
- ADDDATAFILE'/opt/Oracle/oradata/orcl/ bgtablespace01/bgtablespace0190.dbf'SIZE5120M;
更改用户表空间
- alteruserusermodifydefaulttablespacebgtablespace01;
Oracle中针对大表增加有默认值的字段的操作方法
- ALTERTABLEtab_largeaddcol_newNumber(9)Default1;
该语句会对所有记录进行填值操作,对于现场tab_large中存在3000W条左右数据,该步骤需要执行数小时。
可以将该语句改为:
- ALTERTABLEtab_largeaddcol_newNumber(9);
- ALTERTABLEtab_largemodifycol_newnumber(9)default1;
该语句只会对新增的记录进行填值操作,只需要数秒。
如果需要对原来的值进行操作,可以在升级后进行update操作,这样能够节省大量的升级时间。
增加数据库用户
- createusersjzqidentifiedbysjzq123default tablespaceBGTABLESPACE01TemporaryTABLESPACETemp;
- grantconnecttosjzq;
- grantselectonabc.tnametosjzq;
以上的相关内容就是对Oracle数据库查看sql的介绍,望你能有所收获。