`

oralce常用操作、查询语句(查看表空间)

阅读更多
最近整理一下oralce的常用语句,借此记录一下,在网上都应该能搜到,这里主要是整理分享。

一、操作语句
建立表空间 MYDATE
CREATE TABLESPACE "MYDATE" 
DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\MYDATE' 
SIZE 1500M AUTOEXTEND 
ON NEXT 200M MAXSIZE 
UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 


建立用户highill,密码highill 并授权
-- Create the user highill
  create user highill
  identified by highill
  default tablespace MYDATA
  temporary tablespace TEMP
  profile DEFAULT;
-- Grant/Revoke role privileges 
  grant connect to highill;
  grant dba to highill;
  grant resource to highill;
-- Grant/Revoke system privileges 
  grant unlimited tablespace to highill with admin option;


--修改表空间大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\MYDATA' RESIZE 32000M


数据库导入导出需要再cmd命令下进行
导出文件
cmd > exp highill/highill@ORCL file=d:/highill_2012.dmp


导入文件(需要清空用户下所有函数、存储过程、表、视图、物化视图等)
cmd > imp highill/highill@ORCL file=d:/highill_2012.dmp full=y


仅导入一个表MYTABLE
imp highill/highill@ORCL file=d:/highill_2012.dmp  tables=(MYTABLE)



二、下边说一下常用的SQL维护语句吧
都是在PL/SQL环境下测试过的

--oracle传递参数  OBJECT_NAME = UPPER('&table_name');
--1.用户
-----查看当前用户的缺省表空间
SELECT USERNAME,
       DEFAULT_TABLESPACE
  FROM USER_USERS;

-----查看当前用户的角色
SELECT *
  FROM USER_ROLE_PRIVS;

-----查看当前用户的系统权限和表级权限
SELECT *
  FROM USER_SYS_PRIVS;
SELECT *
  FROM USER_TAB_PRIVS;

-----显示当前会话所具有的权限
SELECT *
  FROM SESSION_PRIVS;
-----显示指定用户所具有的系统权限
SELECT *
  FROM DBA_SYS_PRIVS
 WHERE GRANTEE = 'highill';

--2.表
-----查看用户下所有的表
SELECT *
  FROM USER_TABLES;
SELECT *
  FROM ALL_TABLES;


-----查看名称包含log字符的表
SELECT OBJECT_NAME,
       OBJECT_ID
  FROM USER_OBJECTS   WHERE INSTR(OBJECT_NAME, 'LOG') > 0;


-----查看某表的创建时间
SELECT USER_OBJECTS.*
  FROM USER_OBJECTS
 WHERE OBJECT_NAME IN (SELECT USER_TABLES.TABLE_NAME
                         FROM USER_TABLES);

-----查看某表的大小
-------输入查询
SELECT SUM(BYTES) / (1024 * 1024) AS "size(M)"
  FROM USER_SEGMENTS   WHERE SEGMENT_NAME = 'MYTABLE';


-------查询用户下所有表大小
SELECT USER_TABLES.TABLE_NAME,
       SUM(BYTES) / (1024 * 1024) AS "size(M)"
  FROM USER_TABLES,
       USER_SEGMENTS   WHERE USER_SEGMENTS.SEGMENT_NAME = USER_TABLES.TABLE_NAME
 GROUP BY USER_TABLES.TABLE_NAME;


-----查看放在ORACLE的内存区里的表
SELECT TABLE_NAME,
       CACHE
  FROM USER_TABLES
 WHERE INSTR(CACHE,
             'Y') > 0;


--3.索引
-----查看索引个数和类别
SELECT *
  FROM USER_INDEXES
 ORDER BY TABLE_NAME;

-----查看索引被索引的字段
SELECT *
  FROM USER_IND_COLUMNS
 WHERE INDEX_NAME IN (SELECT USER_INDEXES.INDEX_NAME
                        FROM USER_INDEXES);


-----查看索引的大小
SELECT USER_INDEXES.INDEX_NAME,
       SUM(BYTES) / (1024 * 1024) AS "size(M)"
  FROM USER_SEGMENTS,
       USER_INDEXES   
 WHERE USER_SEGMENTS.SEGMENT_NAME = USER_INDEXES.INDEX_NAME
 GROUP BY USER_INDEXES.INDEX_NAME;

--4.序列号
-----查看序列号,last_number是当前值
SELECT *
  FROM USER_SEQUENCES;


--5.视图
-----查看视图的名称
SELECT *
  FROM USER_VIEWS;


--6.同义词
-----查看同义词的名称
SELECT *
  FROM USER_SYNONYMS;


--7.约束条件
-----查看某表的约束条件
SELECT *
  FROM USER_CONSTRAINTS
 WHERE TABLE_NAME IN (SELECT USER_TABLES.TABLE_NAME
                        FROM USER_TABLES);

SELECT USER_CONSTRAINTS.*,
       USER_CONS_COLUMNS.*
  FROM USER_CONSTRAINTS,
       USER_CONS_COLUMNS
 WHERE USER_CONSTRAINTS.TABLE_NAME IN
       (SELECT USER_TABLES.TABLE_NAME
          FROM USER_TABLES)
   AND USER_CONSTRAINTS.OWNER = USER_CONS_COLUMNS.OWNER
   AND USER_CONSTRAINTS.CONSTRAINT_NAME = USER_CONS_COLUMNS.CONSTRAINT_NAME
 ORDER BY USER_CONS_COLUMNS.POSITION;


--8.存储函数和过程
-----查看函数和过程的状态
SELECT *
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'FUNCTION';
SELECT *
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'PROCEDURE';


-----查看函数和过程的源代码
SELECT *
  FROM ALL_SOURCE
 WHERE NAME IN
       (SELECT USER_OBJECTS.OBJECT_NAME
          FROM USER_OBJECTS
         WHERE USER_OBJECTS.OBJECT_TYPE IN ('FUNCTION', 'PROCEDURE'));


三、查看表空间用量
--查询表空间 使用量 方法
SELECT DBF.TABLESPACE_NAME AS "表空间",
       DBF.TOTALSPACE AS "总量(M)",
       (DBF.TOTALSPACE - DFS.FREESPACE) AS "使用总量(M)",
       DFS.FREESPACE AS "空闲总量(M)",
       DBF.TOTALBLOCKS AS "总块数",
       (DBF.TOTALBLOCKS - DFS.FREEBLOCKS) AS "使用块数",
       DFS.FREEBLOCKS AS "空闲块数",
       (1 - (DFS.FREESPACE / DBF.TOTALSPACE)) * 100 AS "使用比例",
       (DFS.FREESPACE / DBF.TOTALSPACE) * 100 AS "空闲比例"
  FROM (SELECT T.TABLESPACE_NAME,
               SUM(T.BYTES) / 1024 / 1024 TOTALSPACE,
               SUM(T.BLOCKS) TOTALBLOCKS
          FROM DBA_DATA_FILES T
         GROUP BY T.TABLESPACE_NAME) DBF,
       (SELECT TT.TABLESPACE_NAME,
               SUM(TT.BYTES) / 1024 / 1024 FREESPACE,
               SUM(TT.BLOCKS) FREEBLOCKS
          FROM DBA_FREE_SPACE TT
         GROUP BY TT.TABLESPACE_NAME) DFS
 WHERE TRIM(DBF.TABLESPACE_NAME) = TRIM(DFS.TABLESPACE_NAME);


分享到:
评论

相关推荐

    常用oracle查询语句

    本文总结了十个常用的 Oracle 查询语句,涵盖了查看表空间、回滚段、控制文件、日志文件、表空间使用情况、数据库对象、数据库版本、数据库创建日期、归档方式、长时间运行的 SQL 语句和数据表参数信息等多个方面。...

    Oracle常用SQL查询语句

    根据提供的信息,我们可以总结出以下Oracle数据库中常用的SQL查询语句及它们的功能: ### 1. 查询表空间及其总大小 ```sql SELECT t.tablespace_name, ROUND(SUM(bytes / (1024 * 1024)), 0) AS ts_size FROM dba...

    Oracle常用的SQL语句维护

    接下来,我们讨论查询表空间的SQL语句。你可以使用以下语句来查看所有的表空间信息: ```sql SELECT * FROM DBA_TABLESPACES; ``` 若要查询特定表空间的信息,可以使用: ```sql SELECT * FROM DBA_DATA_FILES ...

    oracle数据库常用操作语句

    - 查询表空间使用情况的SQL语句展示了如何获取每个表空间的大小、已使用空间以及使用百分比。 6. **其他操作**: - `alter tablespace`:修改表空间属性,例如增加或减少数据文件大小。 - `create tablespace`:...

    oracle常用SQL语句(汇总版).docx

    DELETE 语句不能释放 Oracle 中被占用的数据块表空间,只能标记被删除的数据块为 unused。如果需要删除一个大表中的全部记录,可以使用 TRUNCATE 命令,它可以释放占用的数据块表空间。 3. UPDATE 语句 UPDATE ...

    ORACLE经典常用语句总结

    此查询语句用于查看用户当前拥有的所有约束的名称、所属表、类型以及状态。 更具体的查询,如针对特定表的约束: ```sql SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, SEARCH_CONDITION, R_CONSTRAINT_NAME FROM USER_...

    oracle常用操作语句

    ### Oracle常用操作语句 #### 一、连接数与参数查询 - **查看最大连接数**:使用`SHOW PARAMETER PROCESSES`命令可以显示Oracle数据库的最大连接数配置。 - **查看当前活跃连接数**:执行`SELECT COUNT(*) FROM V$...

    oracle常用监控SQL语句集合

    以上只是"oracle常用监控SQL语句集合"中的一部分内容,实际文档可能还包含更多实用的查询语句和技巧,帮助用户深入理解Oracle数据库的运行机制,提升数据库管理和性能优化的能力。学习并熟练运用这些SQL语句,将极大...

    oracle查询语句大全

    以上列举了Oracle数据库中常用的查询语句和基本操作命令,这对于Oracle初学者来说是非常有价值的参考资料。这些知识点涵盖了表的操作、数据查询、约束管理等多个方面,有助于更好地管理和操作Oracle数据库。

    Oracle10G常用维护语句

    本文将详细介绍Oracle 10G中的一些常用维护语句,这些语句对于数据库管理员(DBA)来说是日常管理工作的基石。 1. **创建表空间** `CREATE TABLESPACE` 语句用于创建一个新的表空间,它是存储数据库对象(如表、...

    oracle常用语句

    oracle常用语句 --查看表空间的名称及大小 --查看日志文件 -- 查看归档模式 -- 查看归档空间的大小

    工作中oracle常用总结SQL语句汇总

    ### 工作中Oracle常用SQL语句汇总及解析 在日常工作中,我们经常会遇到需要查询、维护Oracle数据库的情况。为了方便快速地回顾和使用这些常用的SQL语句,本篇文章将对一些重要的Oracle SQL命令进行归纳总结,并对其...

    ORACLE学习之常用数据库系统表语句

    查询表空间文件位置,可使用: ```sql SELECT * FROM DBA_DATA_FILES; ``` 要查看当前用户拥有的表,可以使用: ```sql SELECT * FROM USER_TABLES; ``` 若想查看当前用户能够访问的所有表(包括其他用户的),则...

    oracle 常用语句常用语句

    ### Oracle 常用SQL查询知识点详解 #### 1. 查看表空间的名称及大小 ```sql select t.tablespace_...通过以上Oracle常用SQL查询的知识点详解,我们可以更好地管理和监控Oracle数据库,从而提高系统的稳定性和性能。

    Oracle维护常用SQL语句汇总

    查询表空间总大小、已使用空间和剩余空间 **SQL语句:** ```sql 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 ...

    oracle 常用sql语句

    ### Oracle SQL:常用语句详解 #### 数据库表空间管理 1. **查询表空间大小及使用情况**: - 使用`dba_free_space`与`dba_data_files`视图结合,可以计算每个表空间的总大小、已使用空间和剩余空间。例如,以下SQL...

    Oracle数据库常用sql语句的分类和常用函数.docx

    以上内容总结了Oracle数据库中常用的SQL语句及函数,涵盖了数据库的基本操作、数据管理、数据定义和查询等方面。对于初学者来说,掌握这些基础是非常重要的。希望这份指南能够帮助大家更好地理解和应用Oracle数据库...

Global site tag (gtag.js) - Google Analytics