`
xwood
  • 浏览: 103416 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ORACLE操作常用命令

阅读更多
一、SQLPLUS编辑命令

    假设当前执行命令为:select * from tab;
    (a)ppend:添加文本到缓冲区当前行尾    
   
    代码:a order by tname 
    结果:select * from tab order by tname;
    

    (注:a后面跟2个空格)

    (c)hange/old/new:在当前行用新的文本替换旧的文本 
   
    代码:c/*/tname     
    结果:select tname from tab;
    


    (c)hange/text:从当前行删除文本        
   
    代码:c/tab       
    结果:select tname from ;
    


    del:删除当前行

    del n:删除第n行

    (i)nput 文本:在当前行之后添加一行

    (l)ist:显示缓冲区中所有行

    (l)ist n: 显示缓冲区中第 n 行

    (l)ist m n:显示缓冲区中 m 到 n 行

    run:执行当前缓冲区的命令

    /:执行当前缓冲区的命令

    r:执行当前缓冲区的命令

    @文件名:运行调入内存的sql文件,如:

    edit s <回车>:如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件,
    在其中输入"select * from tab;",存盘退出。

    @s<回车>:系统会自动查询当前用户下的所有表、视图、同义词。

    @@文件名:在.sql文件中调用令一个.sql文件时使用

    save 文件名:将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql

    get 文件名:调入存盘的sql文件

    start 文件名:运行调入内存的sql文件

    spool 文件名:把这之后的各种操作及执行结果"假脱机"即存盘到磁盘文件上,  默认文件扩展名为.lst

    spool:显示当前的"假脱机"状态

    spool off:停止输出,例:
   
    SQL> spool a
    SQL> spool
    正假脱机到 A.LST
    SQL> spool off
    SQL> spool
    当前无假脱机
    


    exit:退出SQL*PLUS

    desc 表名:显示表的结构

    show user:显示当前连接用户

    show error:显示错误

    show all:显示所有68个系统变量值

    edit:打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑

    edit 文件名:把当前目录中指定的.sql文件调入编辑器进行编辑

    clear screen:清空当前屏幕显示

二、表操作命令

    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');


三、数据库维护相关命令

    1、得到数据库名和创建日期
  
SELECT name, created, log_mode, open_mode FROM v$database;


  2、ORACLE数据库的计算机的主机名,ORACLE数据库的实例名及ORACLE数据库管理系统的版本信息
  
SELECT host_name, instance_name, version FROMv$instance
;

  3、为了知道oracle数据库版本的一些特殊信息
  
select * from v$version;


  4、获取控制文件名字
  
select * from v$controlfile;


  5、得到Oracle数据库的重做日志配置信息
  
SELECT group#, members, bytes, status, archived FROM v$log;
  select GROUP#,MEMBER from v$logfile;


  6、获取oracle的每个重做日志(成员)文件所存放的具体位置
  
select * from v$logfile;


  7、知道ORACLE数据库的备份和恢复策略和归档文件的具体位置
  
archive log list


  8、知道ORACLE数据库中到底有多少表空间以及每个表空间的状态
  
select tablespace_name, block_size, status, contents, logging from dba_tablespaces;
  select tablespace_name, status from dba_tablespaces;


  9、知道每个表空间存在哪个磁盘上以及文件的名字等信息
  
SELECT file_id, file_name, tablespace_name, status, bytes from dba_data_files;
  select file_name, tablespace_name from dba_data_files;


  10、知道Oracle数据库系统上到底有多少用户和都是什么时候创建的
  
select username,created from dba_users;
  select username, DEFAULT_TABLESPACE from dba_users;


  11、从控制文件中取出信息涉及到以下一些相关的命令
  
select * from v$archived
  select * from v$archived_log
  select * from v$backup
  select * from v$database
  select * from v$datafile
  select * from v$log
  select * from v$logfile
  select * from v$loghist
  select * from v$tablespace
  select * from v$tempfile


  12、控制文件由两大部份组成:可重用的部份和不可重用的部分。可重用的部分的大小可用CONTROL_FILE_RECORD_KEEP_TIME参数来控制,该参数的默认值为7天,即可重用的部份的内容保留7天,一周之后这部份的内容可能被覆盖。可重用的部份是供恢复管理器来使用的,这部份的内容可以自动扩展。Oracle数据库管理员可以使用CREAT DATABASE或CREAT CONTROLFILE语句中的下列关键字(参数)来间接影响不可重用的部份的大小:
  
MAXDATAFILES
  MAXINSTANCES
  MAXLOGFILES
  MAXLOGHISTORY
  MAXLOGMEMBERS


  13、查看控制文件的配置
  
SELECT type, record_size, records_total, records_used FROM v$controlfile_record_section;


  14、如果您的显示被分成了两部分,您需要使用类似于set pagesize 100的SQL*Plus命令先格式化输出。有关的格式化输出命令有以下这些:
  
record_size: 为每个记录的字节数。
  records_total:为该段所分配的记录个数。
  records_used:为该段所使用的记录个数。


  15、知道控制文件中的所有数据文件(DATAFILE),表空间(TABLESPACE),和重做日志(REDO LOG)所使用的记录情况
  
SELECT type, record_size, records_total, records_used
  FROM v$controlfile_record_section
  WHERE type IN ( 'DATAFILE', 'TABLESPACE', 'REDO LOG');


  16、获取控制文件名字
  
select value from v$parameter where name ='control_files';
  或者:
    select * from v$controlfile


  17、如何在一个已经安装的Oracle数据库中添加或移动控制文件呢?
  以下是在一个已经安装的Oracle数据库中添加或移动控制文件的具体步骤:
  a、利用数据字典v$controlfile来获取现有控制文件名字。
  b、正常关闭Oracle数据库。
  c、将新的控制文件名添加到参数文件的CONTROL_FILES参数中。
  d、使用操作系统的复制命令将现有控制文件复制到指定位置。
  e、重新启动Oracle数据库。
  f、利用数据字典v$controlfile来验证新的控制文件名字是否正确。
  g、如果有误重做上述操作,如果无误删除无用的旧控制文件。
  注:如果您使用了服务器初始化参数文件(SPFILE),您不能关闭Oracle数据库而且应该在第3步使用alter system set control_files的Oracle命令来改变控制文件的位置。
  
SQL> alter system set control_files =
  'D:\Disk3\CONTROL01.CTL',
  'D:\Disk6\CONTROL02.CTL',
  'D:\Disk9\CONTROL03.CTL' SCOPE=SPFILE;


  18、由于控制文件是一个极其种要的文件,除了以上所说的将控制文件的多个副本存在不同的硬盘上的保护措施外,在数据库的结构变化之后,您应立即对控制文件进行备份。可以用Oracle命令来对控制文件进行备份:
  
alter database backup controlfile to 'D:\backup\control.bak';


  19、您也可将备份到一个追踪文件中。该追踪文件包含有重建控制文件所需的SQL语句。可使用以下SQL语句来产生这一追踪文件:
  
alter database backup controlfile to trace;

  20、正常关闭oracle命令
  
shutdown immeditae

分享到:
评论

相关推荐

    oracle操作常用命令

    在本文中,我们将深入探讨一些Oracle操作的常用命令,这些命令对于数据库管理员和开发人员来说至关重要。 首先,我们关注的是`lsnrctl`命令,这是用来管理Oracle监听器的工具。`lsnrctl start`用于启动监听器,确保...

    Oracle DBA常用运维命令大全

    ### Oracle DBA常用运维命令详解 #### 一、SQLPLUS工具使用 **1. 运行SQLPLUS工具** - **命令**: `sqlplus` - **描述**: SQL*Plus 是 Oracle 提供的一个强大的命令行工具,用于执行 SQL 命令、脚本文件等。 - **...

    oracle常用cmd命令

    下面我们将详细介绍 Oracle 常用的 CMD 命令,帮助新手快速了解相关的操作。 一、连接数据库 在使用 Oracle 之前,需要连接到数据库。我们可以使用 sqlplus 命令连接到数据库。sqlplus 是 Oracle 的命令行工具,...

    Oracle日常运维常用命令速查手册

    Oracle 日常运维常用命令速查手册 Oracle 是一款功能强大且广泛应用的关系数据库管理系统,作为Oracle运维人员,熟悉常用的命令和语句是非常必要的。本文档汇总了 Oracle 日常运维中常用的命令和语句,包括登录 ...

    个人总结oracle 9i常用命令(txt)

    根据提供的文档内容,我们可以整理出以下关于Oracle 9i数据库管理与操作的重要知识点: ### Oracle 9i系统启动与关闭 #### 启动Oracle系统 1. **作为Oracle用户启动Oracle系统** - 使用`su - oracle`切换到Oracle...

    oracle_DBA常用命令

    ### Oracle DBA 常用命令详解 在Oracle数据库管理工作中,熟练掌握一系列核心命令对于高效维护数据库系统至关重要。本文将详细介绍《oracle_DBA常用命令》文档中提及的关键知识点及其应用场景,帮助读者深入理解并...

    oracle常用命令文档

    ### Oracle 常用命令与操作指南 #### 一、Oracle 安装与卸载注意事项 **1.1 Oracle 的安装** - **安装步骤:** 对于 Oracle 的安装,网络上有很多详细的指导教程。在安装过程中,需要注意的是,管理口令部分确保...

    Oracle经典常用命令

    Oracle数据库是全球广泛使用的...这些命令行操作是Oracle数据库管理员日常工作中最常用的,熟练掌握它们能有效提高工作效率。在实际操作中,还需根据具体环境和需求进行调整。详细信息可参考Oracle官方文档或相关教程。

    ORACLE数据库常用命令

    ORACLE数据库常用命令 ORACLE数据库是目前最流行的关系数据库管理系统之一,广泛应用于各种行业和领域。本文总结了ORACLE数据库的常用命令,包括内核参数的设置、用户管理、安装工具的准备、数据库的启动和关闭等...

    oracle数据库常用命令.txt

    ### Oracle数据库常用命令知识点 #### 一、登录与切换用户 **知识点1:登录SQL Plus** - **命令格式**: - `sqlplus [username]/[password]`:以普通用户身份登录。 - `sqlplus [username]/[password]@...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle&gt;svrmgrl SVRMGR&gt;connect internal SVRMGR&gt;startup ...

    ORACLE常用命令.doc

    本文将深入探讨Oracle数据库的一些常用命令,以及如何有效地利用数据字典。 一、Oracle的启动与关闭 Oracle数据库有多种启动方式,根据不同的操作需求选择适合的启动模式: 1. `startup nomount`:非安装启动,仅...

    ORACLE 12c RAC的常用管理命令

    了解并掌握RAC的常用管理命令对于DBA来说至关重要,这有助于确保系统的稳定运行和高效管理。下面将详细介绍一些关键的Oracle 12c RAC管理命令。 1. **crsctl**: Oracle Clusterware 的控制工具,用于管理集群资源和...

    Oracle常用命令大全

    Oracle常用命令大全 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。 数据字典里存有用户信息...

    ORACLE常用命令

    ### ORACLE常用命令详解 #### 一、ORACLE的启动和关闭 在ORACLE数据库管理中,正确地启动和关闭数据库是非常重要的操作之一。这些操作不仅涉及到系统的稳定性,还关系到数据的安全性。 ##### 1、在单机环境下 ...

    oracle 12c 常用操作命令

    oracle 12c 数据库常用操作语句,欢迎带走,如果可以 少给一点也行

    oracle常用基本命令脚本

    根据提供的文件信息,我们可以归纳总结出以下几个重要的Oracle数据库管理和操作相关的知识点: ### 一、用户管理 #### 1.1 创建用户 ```sql CREATE USER XXX IDENTIFIED BY XXX DEFAULT TABLESPACE tablespaceName...

    oracle数据库常见命令

    本文主要介绍了Oracle数据库中常用的导入导出命令及其具体用法。导出命令主要用于备份数据,而导入命令则用于将数据恢复至数据库中。在执行这些命令之前,确保已经正确地设置了表空间和用户信息是非常重要的。此外,...

Global site tag (gtag.js) - Google Analytics