`
IT4CAT
  • 浏览: 25197 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

ORACLE SQLPLUS常用命令及查询
1.启动停止TNS监听
lsnrctl start
lsnrctl stop
2.启动Oracle Services
net start OracleServiceOrcl
net stop OracleServiceOrcl
SQL> show all --查看所有68个系统变量值
SQL> show user --显示当前连接用户
SQL> show error   --显示错误
SQL> set heading off --禁止输出列标题,默认值为ON
SQL> set feedback off --禁止显示最后一行的计数反馈信息,默认值为"对6个或更多的记录,回送ON"
SQL> set timing on --默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能
SQL> set sqlprompt "SQL> " --设置默认提示符,默认值就是"SQL> "
SQL> set linesize 1000 --设置屏幕显示行宽,默认100
SQL> set autocommit ON --设置是否自动提交,默认为OFF
SQL> set pause on --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页
SQL> set arraysize 1 --默认为15
SQL> set long 1000 --默认为80
列出当前用户下所有同义词的定义,可用来测试同义词的真实存在性
select 'desc '||tname from tab where tabtype='SYNONYM';
查询当前用户下所有表的记录数
select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';
把所有符合条件的表的select权限授予为public
select 'grant select on '||table_name||' to public;' from user_tables where 《条件》;
删除用户下各种对象
select 'drop '||tabtype||' '||tname from tab;
删除符合条件用户
select 'drop user '||username||' cascade;' from all_users where user_id>25;
下面按类别列出一些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;
1. 显示当前连接。
        SELECT *                                                                                                                                                
        from V$SESSION                                                                                                                                
        WHERE STATUS = 'INACTIVE'                                                                                                            
        AND USERNAME IS NOT NULL;                                                                                                        
2. 强制关闭用户的连接
    a) SELECT USERNAME, SID, SERIAL#                                                                                                   
        from V$SESSION                                                                                                                                
        WHERE STATUS = 'INACTIVE'                                                                                                            
        AND USERNAME IS NOT NULL;                                                                                                        
                                                                                                                                                                         
    b) ALTER SYSTEM KILL SESSION 'SID, SERIAL#'; --SID 和 SERIAL#是在步骤a)中得到的结果。
3. 从返回的结果中选择第m到n条记录
        SELECT *                                                                                                                                                  
        from (                                                                                                                                                     
                     SELECT A.*, ROWNUM RN                                                                                                      
                     from (                                                                                                                                        
                                   SELECT *                                                                                                                       
                                   from YOURTABLE --这里请用你的SELECT语句代替                                           
                                  ) A                                                                                                                                    
                     WHERE ROWNUM <= n                                                                                                             
                     )                                                                                                                                                     
        WHERE RN >= m;                                                                                                                                     
   
4. 重新编译包 (package) 和 包体 (package body)
    此命令可以用于查看在SQLPLUS中创建的package的编译错误。
        a) 编译 package
            ALTER PACKAGE YOUR_PACKAGE                                                                                                
            COMPILE SPECIFICATION;                                                                                                               
        b) 编译 package body
            ALTER PACKAGE YOUR_PACKAGE                                                                                                
            COMPILE BODY;                                                                                                                                  
        c) 查看错误
            SHOW ERR;                                                                                                                                            
5. 解除锁定的用户
    ALERT USER USERNAME UNLOCK;

 

分享到:
评论

相关推荐

    ORACLE常用命令集

    ### ORACLE常用命令集 #### 一、日志管理 在Oracle数据库中,日志管理是维护数据库稳定性和完整性的重要组成部分。以下是一些常见的Oracle日志管理命令。 **1. 强制日志切换** - **命令**: `alter system ...

    Oracle常用命令全集

    本资源"Oracle常用命令全集"包含了Oracle数据库管理、查询、维护等各个方面的重要命令,是开发者和学习者不可或缺的参考资料。下面将对一些关键的Oracle命令进行详细解释。 1. **SQL*Plus命令**: SQL*Plus是...

    Oracle常用命令集

    ### Oracle常用命令集详解 #### 一、日志管理 在Oracle数据库中,日志管理是维护数据库稳定性和完整性的重要组成部分。以下是一些常见的日志管理命令及其详细解释: 1. **强迫日志切换(Forcing Log Switches)**...

    oracle常用命令全集

    本文将详述Oracle的一些常用命令及其应用场景。 首先,我们关注的是Oracle的启动和关闭过程。在单机环境下,启动Oracle系统需切换到ORACLE用户,并通过`sqlplus /nolog`进入SQL*Plus,然后`connect / as sysdba`...

    oracle实例,Oracle_常用命令集,常用的语法

    1. **Oracle常用命令集**: - `SELECT`:用于查询数据,是SQL语言中最基本的命令,可以结合`FROM`, `WHERE`, `GROUP BY`, `ORDER BY`等子句实现复杂的数据筛选和排序。 - `INSERT`:用于向表中插入新数据。 - `...

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

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

    Oracle常用命令速查手册中文PDF版最新版本

    《Oracle常用命令速查手册》将介绍一些常用的Oracle命令和其用法,比如数据导入导出命令、存储过程和触发器的管理以及性能监控等方面的常用命令,通过简单明了的示例,展示了每个命令的用法和效果,以帮助读者更好地...

    ORACLE常用命令大全.

    以下是一些关于Oracle常用命令的详细说明,分为日志管理和表空间管理两大部分。 ### 日志管理 #### 1. 强制日志切换 ```sql alter system switch logfile; ``` 这个命令用于在当前重做日志文件填满前强制进行日志...

    最全的ORACLE常用命令集合

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

    ORACLE常用命令总结

    ### ORACLE常用命令总结 #### 一、日志管理 在Oracle数据库中,日志管理是维护数据库稳定性和完整性的重要组成部分。以下是一些常见的日志管理命令及其详细解释: 1. **强制切换日志(Forcing Log Switches)** ...

    02oracle 常用命令

    掌握Oracle的常用命令对于数据库管理员和开发人员来说至关重要。以下是一些Oracle命令的详细解释: 1. **开启ORACLE服务**: 在Linux或Unix系统中,通常使用`sudo service oracle start`命令启动Oracle实例。在...

    ORACLE常用维护命令

    以下是针对提供的文件内容中涉及的一些Oracle常用命令的详细说明: 1. **查看归档日志文件**: 使用`V$LOG_HISTORY`视图可以查看当前有效的归档日志文件。如果在查询结果中没有显示的日志文件,表明它们可以被安全...

    oracle+常用命令全集

    以下是一些Oracle中的常用命令,涵盖了数据库的启停、查询、数据定义、数据操作以及用户管理和权限控制等方面: 1. **关闭和启动数据库**: - `SHUTDOWN IMMEDIATE`:立即关闭数据库,等待所有活动事务结束。 - `...

    oracle常用命令集合(一)

    ### Oracle常用命令集合详解 #### 1. 修改表结构 - **添加字段**: `ALTER TABLE 表名 ADD 字段名 数据类型;` - 示例:`ALTER TABLE employees ADD phone VARCHAR2(20);` - **说明**:此命令用于向现有表中添加新...

    Oracle常用命令参考

    ### Oracle常用命令详解 在IT领域,Oracle数据库作为企业级数据管理的重要工具,其命令集是DBA(数据库管理员)和开发人员日常工作中不可或缺的一部分。本文将深入解析Oracle中的常用命令,涵盖SQL与SQL\*Plus环境...

    Oracle 常用命令大全

    根据提供的文件信息,这里将对Oracle常用命令进行详细的解析与说明。从标题“Oracle 常用命令大全”以及描述“Oracle 常用命令大全”来看,文章旨在全面介绍Oracle数据库中的各种实用命令。接下来,我们将逐一分析并...

Global site tag (gtag.js) - Google Analytics