`
srj2903
  • 浏览: 106517 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【转帖】oracle 常用SQL查询

阅读更多

转自http://www.ee82.com/htm/oracle/17.asp

一、ORACLE的启动和关闭
1 、在单机环境下
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
su 
-  oracle

a、启动ORACLE系统
oracle
> svrmgrl
SVRMGR
> connect internal
SVRMGR
> startup
SVRMGR
> quit

b、关闭ORACLE系统
oracle
> svrmgrl
SVRMGR
> connect internal
SVRMGR
> shutdown
SVRMGR
> quit

启动oracle9i数据库命令:
$ sqlplus 
/ nolog

SQL
* Plus: Release  9.2 . 0.1 . 0   -  Production  on  Fri Oct  31   13 : 53 : 53   2003

Copyright (c) 
1982 2002 , Oracle Corporation.  All  rights reserved.

SQL
>  connect  /   as  sysdba
Connected 
to  an idle instance.
SQL
>  startup ^ C

SQL
>  startup
ORACLE instance started.

2 、在双机环境下
要想启动或关闭ORACLE系统必须首先切换到root用户,如下
su - root

a、启动ORACLE系统
hareg -y oracle

b、关闭ORACLE系统
hareg -n oracle

Oracle数据库有哪几种启动方式

说明:

有以下几种启动方式:
1 、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库

读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。


2 、startup mount dbname
安装启动,这种方式启动下可执行:
数据库日志归档、
数据库介质恢复、
使数据文件联机或脱机,
重新定位数据文件、重做日志文件。

执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,
但此时不对数据文件和日志文件进行校验检查。


3 、startup  open  dbname
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。


4 、startup,等于以下三个命令
startup nomount
alter   database  mount
alter   database   open


5 、startup  restrict
约束方式启动
这种方式能够启动数据库,但只允许具有一定特权的用户访问
非特权用户访问时,会出现以下提示:
ERROR:
ORA
- 01035 : ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用


6 、startup force
强制启动方式
当不能关闭数据库时,可以用startup force来完成数据库的关闭
先关闭数据库,再执行正常启动数据库命令


7 、startup pfile = 参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile
= E:Oracleadminoradbpfileinit.ora


8 、startup EXCLUSIVE
二、用户如何有效地利用数据字典
 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化,
体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。

数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。
我们不能手工修改数据字典里的信息。

  很多时候,一般的ORACLE用户不知道如何有效地利用它。

  dictionary   全部数据字典表的名称和解释,它有一个同义词dict
dict_column   全部数据字典表里字段名称和解释

如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句:

SQL
> select   *   from  dictionary  where  instr(comments, ' index ' ) > 0 ;

如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL语句:

SQL
> select  column_name,comments  from  dict_columns  where  table_name = ' USER_INDEXES ' ;

依此类推,就可以轻松知道数据字典的详细名称和解释,不用查看ORACLE的其它文档资料了。

下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。

1 、用户

查看当前用户的缺省表空间
SQL
> select  username,default_tablespace  from  user_users;

查看当前用户的角色
SQL
> select   *   from  user_role_privs;

查看当前用户的系统权限和表级权限
SQL
> select   *   from  user_sys_privs;
SQL
> select   *   from  user_tab_privs;

2 、表

查看用户下所有的表
SQL
> select   *   from  user_tables;

查看名称包含log字符的表
SQL
> select   object_name , object_id   from  user_objects
where  instr( object_name , ' LOG ' ) > 0 ;

查看某表的创建时间
SQL
> select   object_name ,created  from  user_objects  where   object_name = upper ( ' &table_name ' );

查看某表的大小
SQL
> select   sum (bytes) / ( 1024 * 1024 as  "size(M)"  from  user_segments
where  segment_name = upper ( ' &table_name ' );

查看放在ORACLE的内存区里的表
SQL
> select  table_name,cache  from  user_tables  where  instr(cache, ' Y ' ) > 0 ;

3 、索引

查看索引个数和类别
SQL
> select  index_name,index_type,table_name  from  user_indexes  order   by  table_name;

查看索引被索引的字段
SQL
> select   *   from  user_ind_columns  where  index_name = upper ( ' &index_name ' );

查看索引的大小
SQL
> select   sum (bytes) / ( 1024 * 1024 as  "size(M)"  from  user_segments
where  segment_name = upper ( ' &index_name ' );

4 、序列号

查看序列号,last_number是当前值
SQL
> select   *   from  user_sequences;

5 、视图

查看视图的名称
SQL
> select  view_name  from  user_views;

查看创建视图的select语句
SQL
> set  view_name,text_length  from  user_views;
SQL
> set   long   2000 ; 说明:可以根据视图的text_length值设定set  long  的大小
SQL
> select   text   from  user_views  where  view_name = upper ( ' &view_name ' );

6 、同义词

查看同义词的名称
SQL
> select   *   from  user_synonyms;

7 、约束条件

查看某表的约束条件
SQL
> select  constraint_name, constraint_type,search_condition, r_constraint_name
from  user_constraints  where  table_name  =   upper ( ' &table_name ' );

SQL
> select  c.constraint_name,c.constraint_type,cc.column_name
from  user_constraints c,user_cons_columns cc
where  c.owner  =   upper ( ' &table_owner ' and  c.table_name  =   upper ( ' &table_name ' )
and  c.owner  =  cc.owner  and  c.constraint_name  =  cc.constraint_name
order   by  cc.position;

8 、存储函数和过程

查看函数和过程的状态
SQL
> select   object_name ,status  from  user_objects  where  object_type = ' FUNCTION ' ;
SQL
> select   object_name ,status  from  user_objects  where  object_type = ' PROCEDURE ' ;

查看函数和过程的源代码
SQL
> select   text   from  all_source  where  owner = user   and  name = upper ( ' &plsql_name ' );


三、查看数据库的SQL
1 、查看表空间的名称及大小

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

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

select  tablespace_name,  file_id file_name ,
round (bytes / ( 1024 * 1024 ), 0 ) total_space
from  dba_data_files
order   by  tablespace_name;

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

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

4 、查看控制文件

select  name  from  v$controlfile;

5 、查看日志文件

select  member  from  v$logfile;

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

select   sum (bytes) / ( 1024 * 1024 as  free_space,tablespace_name
from  dba_free_space
group   by  tablespace_name;

SELECT  A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES
* 100 ) / A.BYTES " %  USED",(C.BYTES * 100 ) / A.BYTES " %  FREE"
FROM  SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME  AND  A.TABLESPACE_NAME = C.TABLESPACE_NAME;

7 、查看数据库库对象

select  owner, object_type, status,  count ( * count from  all_objects  group   by  owner, object_type, status;

8 、查看数据库的版本

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

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

Select  Created, Log_Mode, Log_Mode  From  V$ Database ;

-- ------------------------------------------------------------------------------

jxdco
四、ORACLE用户连接的管理

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

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

如果要停某个连接用

SQL
>   alter  system  kill  session  ' sid,serial# ' ;

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

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

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

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


五、SQL
* PLUS使用
a、近入SQL
* Plus
$sqlplus 用户名
/
分享到:
评论

相关推荐

    转帖--oracle分析函数+PLSQL小结

    Oracle分析函数是数据库查询中的一个强大工具,它们在处理数据集时提供了高级的聚合功能,可以对一组行进行计算,并返回单个值或一组值。分析函数与聚合函数(如SUM, AVG, COUNT等)类似,但有显著的区别:聚合函数...

    【转帖】常用的统计计量数学软件.pdf

    【转帖】常用的统计计量数学软件.docx

    论坛转帖工具.rar

    标题中的“论坛转帖工具.rar”表明这是一个用于在论坛之间转移帖子的软件工具,通常用于帮助用户方便地将一个论坛的帖子内容复制到另一个论坛,可能是为了分享信息、讨论或保存重要的帖子。这类工具可能包括自动抓取...

    UBB论坛转帖圣手.exe

    UBB论坛转帖圣手.exeUBB论坛转帖圣手.exe

    贴吧转帖工具

    【贴吧转帖工具】是一种专为百度贴吧用户设计的便捷工具,主要用于提高用户在贴吧中的互动效率。通过这款工具,用户可以实现一键转帖和一键8经验签到的功能,极大地简化了传统操作流程,节省了用户的时间,提升了...

    编辑人员转帖去水印工具

    本篇文章将详细探讨“编辑人员转帖去水印工具”,并介绍如何使用名为Teorex Inpaint的1.0.0.2版本的软件来实现这一目标。 首先,我们要理解什么是水印。水印通常是指在图像或视频中添加的半透明标记,它可以是文字...

    discuz X2转帖工具、采集工具

    X2转帖工具、采集工具”是针对这个平台设计的辅助软件,主要用于帮助论坛管理员或用户批量发布帖子和采集内容,提高论坛内容更新的效率。 一、批量发帖功能 1. 自动化发布:此工具可以自动化地创建和发布帖子,...

    [转帖]世界编程大赛第一名写的程序

    标题和描述中的“世界编程大赛第一名写的程序”这一知识点,实际上指向了计算机科学与编程竞赛领域的一个重要概念:即在高水平的编程比赛中,优胜者所编写的代码往往蕴含着高级算法、数据结构以及编程技巧。...

    mysql5.5.28.zip

    SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言,它使得存储、更新和存取信息更加容易。MySQL是一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和许多不同的客户程序以及库组成的。 MySQL...

    转帖工具ConvertX fordiscuz7.1/7.2 修改增强版.rar

    1.修改自Convert X转帖工具 2.新增批量替换关键词(原来是单个词语替换,可以利用这个功能删除一些网站的防转帖代码) 3.批量随机新增文字(新增内容可自定义,从而实现伪原创) 4.cookie记录替换和新增关键词(避免每次...

    转帖工具插件 for PHPwind 7.5 正式版.rar

    "转帖工具插件 for PHPwind 7.5 正式版" 是专门为 PHPwind 7.5 版本设计的一个功能插件,旨在提供便捷的帖子转移功能,帮助管理员或者用户将内容从一个地方轻松移动到另一个地方,而无需直接编辑论坛的原始文件。...

    转帖图片提取工具 v1.0.zip

    转帖图片提取工具可以对论坛图片附件信息进行清除,只保留图片代码,操作很简单,推荐有需要转帖图片工具的朋友下载 转帖图片提取工具使用方法: 将IP138上处理过的东西复制到上方的编辑框内,点击只要图片,下面...

    一键转帖功能插件 for 帝国CMS 6.0 GBK utf8 V1.0.rar

    《一键转帖功能插件 for 帝国CMS 6.0 GBK utf8 V1.0》 本文将深入探讨“一键转帖功能插件”在帝国CMS 6.0系统中的应用与实现,该插件适用于GBK及UTF-8编码环境,旨在提升网站内容的分享与传播效率。我们将从安装...

    Html2UBBMaxcj_Softii论坛专用转帖工具

    HTML2UBBMaxcj 是一款专为Softii论坛设计的转帖工具,它主要用于将HTML格式的帖子内容转换成UBB代码,以便在论坛中更好地显示和分享。UBB(Universal BBCode)是一种轻量级的标记语言,常用于网络论坛,与HTML类似,...

    一键转帖功能插件 for 帝国CMS v1.0.rar

    "一键转帖功能插件 for 帝国CMS v1.0.rar" 是一个专为帝国CMS设计的扩展工具,其主要目标是简化用户在网站上分享内容的过程,提高用户体验。这个插件允许用户轻松地将网站上的文章或信息复制并转发到其他平台,如...

    jsp论坛源码

    SQL语句用于执行数据查询、插入、更新和删除操作。用户信息、帖子内容、论坛分类等都会以表的形式存在于数据库中。 4. **用户认证与授权**:用户注册和登录功能涉及到身份验证和权限控制。这通常通过比较用户输入的...

    超级无敌转帖手

    看到论坛里帖子由精美的图片想转过来,或者批量提取地址时很好用

    【转帖】TITLE的更改对搜索引擎的影响(Google篇)

    标题的更改对搜索引擎的影响,尤其是对Google的影响,是SEO(搜索引擎优化)中一个重要的考虑因素。本文主要讨论了新站在更改TITLE后Google的收录和排名情况。 首先,Google对新站通常有一个“沙盒效应”,即在初期...

Global site tag (gtag.js) - Google Analytics