Oracle数据库查看sql如何正常运行?

数据库 Oracle
我们今天主要是向大家讲述的是Oracle数据库查看sql的正确操作方案,以及在实际操作中那些的相关项目是值得我们注意的。

以下的文章主要描述的是Oracle数据库查看sql的正确操作方案,下面就是文章的具体内容的讲述,如果你也对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;  

Oracle数据库查看数据库字符集

  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'

Oracle数据库查看表空间的使用情况

  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数据库查看sql中针对大表增加有默认值的字段的操作方法

  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的描述,希望会给你带来一些帮助在此方面。

 【编辑推荐】

  1. 对Oracle 10g中hints调整机制解析
  2. Oracle性能调整的方案的描述
  3. Oracle数据库性能的几大优点介绍
  4. Oracle 10g应用比例不断攀升的缘由
  5. 对Oracle 10g中hints调整机制解析
责任编辑:佚名 来源: 博客园
相关推荐

2010-04-26 18:32:48

Oracle数据库

2010-04-16 09:41:42

Oracle数据库查看

2010-05-05 11:17:55

Oracle数据库

2010-04-26 09:10:09

Oracle数据库

2010-10-28 14:18:01

oracle数据库版本

2010-04-19 16:01:54

2010-10-26 11:04:48

oracle数据导入

2010-10-21 11:35:45

恢复SQL Serve

2010-07-15 17:28:50

SQL Server

2010-04-09 10:32:03

Oracle 数据库

2022-11-04 08:34:27

Oracle数据库

2010-04-14 17:57:52

Oracle数据库

2010-06-28 10:06:09

SQL Server数

2011-08-02 11:16:08

Oracle数据库归档日志

2010-10-26 15:54:02

连接oracle数据库

2023-09-05 08:40:57

删除数据库Oracle

2011-04-12 10:59:46

Oracle数据库

2010-07-22 11:17:52

SQL Server数

2011-05-17 14:34:24

2011-05-19 13:25:12

Oracle数据库碎片
点赞
收藏

51CTO技术栈公众号