天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧软件 >> 正文

Oracle数据库中如何正确的查看sql

2010-4-27不详佚名
以下的文章主要讲述的是Oracle 数据库中如何正确的查看sql,以及查询表的相关状态,下面就是文章的抓哟内容的介绍,如果你对其相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。

  1.select uo.OBJECT_NAME,uo.OBJECT_ID,lo.Oracle_USERNAME,lo.LOCKED_MODE from

  2.user_objects uo,v$locked_object lo where uo.OBJECT_ID=lo.OBJECT_ID;

  查看数据库字符集

  1.select * from nls_database_parameters;

  查看表创建,修改时间

  1.select * from ALL_OBJECTS where object_name =upper('tname');

  每个表所占空间

  1.select Segment_Name, round(Sum(bytes)/1024/1024,0) "MBytes"

  2.From User_Extents Group By Segment_Name order by "MBytes" desc;

  查询正在执行的存储过程

  1.select * from dba_ddl_locks where owner='USERNAME';

  查看表空间的使用情况

  1.select a.tablespace_name,round(a.bytes/(1024*1024),2)

  "Total MB",round(b.bytes/(1024*1024),2) "Used MB",

  2.round(c.bytes/(1024*1024),2) "Free MB",

  round((b.bytes*100)/a.bytes,2)||'%' "% Used",

  3.round((c.bytes*100)/a.bytes,2)||'%' "% Free"

  4.from sys.sm$ts_avail a,sys.sm$ts_used b,sys.sm$ts_free c

  5.where a.tablespace_name=b.tablespace_name and a.tablespace_name=c.tablespace_name;

  加\解锁:

  1.lock table dept in share mode;

  仍然解不了,用以下方法:

  1.SELECT sid, serial#, username, osuser FROM v$session;

  2.ALTER SYSTEM KILL SESSION 'sid,serial';

  3.example:

  4.ALTER SYSTEM KILL SESSION '131, 33574';

  如果对象被锁住了,用Oracle的ALTER SYSTEM KILL SESSION 'SID,SERIAL#'不一定会将SESSION KILL掉,会报

  1.SQL> alter system kill session '200,18325'

  2.*

  3.ERROR at line 1:

  4.ORA-00031: session marked for kill

  这样的错误,所以可以在操作系统级上KILL掉进程

  1.select 'kill -9 '||a.spid "xxx" from v$process a,v$session b

  where a.addr=b.paddr and b.status='KILLED';

  查找出被标志为KILLED的SESSION的操作系统进程号。

  增加表空间,文件

  1.ALTER TABLESPACE bgtablespace01

  2.ADD DATAFILE '/opt/Oracle/oradata/orcl/

  bgtablespace01/bgtablespace0190.dbf' SIZE 5120M ;

  更改用户表空间

  1.alter user user modify default tablespace bgtablespace01;

  Oracle中针对大表增加有默认值的字段的操作方法

  1.ALTER TABLE tab_large add col_new Number(9) Default 1;

  该语句会对所有记录进行填值操作,对于现场tab_large中存在3000W条左右数据,该步骤需要执行数小时。

  可以将该语句改为:

  1.ALTER TABLE tab_large add col_new Number(9);

  2.ALTER TABLE tab_large modify col_new number(9) default 1;

  该语句只会对新增的记录进行填值操作,只需要数秒。

  如果需要对原来的值进行操作,可以在升级后进行update操作,这样能够节省大量的升级时间。

  增加数据库用户

  1.create user sjzq identified by sjzq123 default

  tablespace BGTABLESPACE01 Temporary TABLESPACE Temp;

  2.grant connect to sjzq;

  3.grant select on abc.tname to sjzq;

  以上的相关内容就是对Oracle数据库查看sql的介绍,望你9 7 3 1 2 4 8 :

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行