Oracle 数据库的SQL的描述


  本文标签:Oracle 数据库

  以下的文章主要是介绍Oracle sqlplus命令中如何查看Oracle 数据库的SQL的实际操作,如果你对Oracle 数据库的SQL的查看存在一些不清楚的地方,相信以下的文章会给你在此方面有会所帮助  。

  1、查看表空间的名称及大小

  

  1. select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size  
  2. from dba_tablespaces t, dba_data_files d  
  3. where t.tablespace_name = d.tablespace_name  
  4. group by t.tablespace_name;  

  

  2、查看表空间物理文件的名称及大小

  

  1. select tablespace_name, file_id, file_name,  
  2. round(bytes/(1024*1024),0) total_space  
  3. from dba_data_files  
  4. order by tablespace_name;  

  

  3、查看回滚段名称及大小

  

  1. select segment_name, tablespace_name, r.status,  
  2. (initial_extent/1024) InitialExtent,(next_extent/1024)  
  3. NextExtent,  
  4. max_extents, v.curext CurExtent  
  5. From dba_rollback_segs r, v$rollstat v  
  6. Where r.segment_id = v.usn(+)  
  7. order by segment_name ;  

  

  4、查看控制文件

  

  1. select name from v$controlfile; 

  5、查看日志文件

  

  1. select member from v$logfile; 

  6、查看表空间的使用情况

  

  1. select sum(bytes)/(1024*1024) as free_space,tablespace_name  
  2. from dba_free_space  
  3. group by tablespace_name;  
  4. SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES  
  5. FREE,  
  6. (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"  
  7. FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C  
  8. WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND  
  9. A.TABLESPACE_NAME=C.TABLESPACE_NAME;  

  

  7、查看Oracle 数据库库对象

  

  1. select owner, object_type, status, count(*) count# from  
  2. all_objects group by owner, object_type, status;  

  

  8、查看数据库的版本

  

  1. Select version FROM Product_component_version  
  2. Where SUBSTR(PRODUCT,1,6)=Oracle;  

  

  9、查看数据库的创建日期和归档方式

  

  1. Select Created, Log_Mode, Log_Mode From V$Database; 

  四、Oracle用户连接的管理

  用系统管理员,查看当前Oracle 数据库有几个用户连接:

  

  1. SQL> select username,sid,serial# from v$session; 

  如果要停某个连接用

  

  1. SQL> alter system kill session sid,serial#; 

  如果这命令不行,找它UNIX的进程数

  

  1. SQL> select pro.spid from v$session ses,v$process pro where  
  2. ses.sid=21 and ses.paddr=pro.addr;  

  

  说明:21是某个连接的sid数

  然后用 kill 命令杀此进程号  。

  五、SQL*PLUS使用

  a、近入SQL*Plus

  $sqlplus 用户名/密码

  退出SQL*Plus

  SQL>exit

  b、在sqlplus下得到帮助信息

  列出全部SQL命令和SQL*Plus命令

  SQL>help

  列出某个特定的命令的信息

  SQL>help 命令名

  c、显示表结构命令DESCRIBE

  SQL>DESC 表名

  d、SQL*Plus中的编辑命令

  显示SQL缓冲区命令

  SQL>L

  修改SQL命令

  首先要将待改正行变为当前行

  SQL>n

  用CHANGE命令修改内容

  SQL>c/旧/新

  重新确认是否已正确

  SQL>L

  使用INPUT命令可以在SQL缓冲区中增加一行或多行

  SQL>i

  SQL>输入内容

  e、调用外部系统编辑器

  SQL>edit 文件名

  可以使用DEFINE命令设置系统变量EDITOR来改变文本编辑器的类型,在login.sql文件中定义如下一行

  DEFINE_EDITOR=vi

  f、运行命令文件

  SQL>START test

  SQL>@test

  常用SQL*Plus语句

  a、表的创建、修改、删除

  创建表的命令格式如下:

  create table 表名 (列说明列表);

  为基表增加新列命令如下:

  ALTER TABLE 表名 ADD (列说明列表)

  例:为test表增加一列Age,用来存放年龄

  

  1. sql>alter table test  
  2. add (Age number(3));  

  

  修改基表列定义命令如下:

  ALTER TABLE 表名

  MODIFY (列名 数据类型)

  例:将test表中的Count列宽度加长为10个字符

  

  1. sql>alter atble test  
  2. modify (County char(10));  

  

  上述的相关内容就是对如何查看Oracle 数据库的SQL的描述,希望会给你带来一些帮助在此方面  。