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

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

采用成都h5网站建设+css3国际标准网站建设,让网站自动适应用户使用终端设备,PC、平板、手机等,一个网址适应,一套内容统一战略,节约企业资源。创新互联还提供网站后期营销如:软文营销卖友情链接1元广告等。一般建站公司不为企业填充资料,更谈不上内容策划,结果导致网站界面优秀,内容却十分空泛或整体不协调,内容策划、内容填充请交给我们。

 
 
 
  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的介绍,望你能有所收获。

当前名称:Oracle数据库中如何正确的查看sql
本文URL:http://www.shufengxianlan.com/qtweb/news23/397223.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联