`

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 常用Sql语句

    Oracle 常用查询语句 查看表空间使用、日志使用、数据字典、控制文件等信息查询、修改、维护;数据查询语句优化分析;数据导入导出等操作

    Oracle常用的SQL语句维护

    数据库表空间建立、查询、常用的SQL运维维护;长期的积累

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

    Oracle数据库常用dos命令,sql语句分类介绍,常用sql语句,oracle函数大全。oracle创建表空间,创建用户并授权。

    oracle常用语句

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

    oracle数据库管理常用语句

    自己做数据库管理积攒的一些SQL语句,主要是针对用户,表空间的一些操作

    Oracle维护常用SQL语句汇总

    Oracle维护常用SQL语句汇总: 如何远程判断Oracle数据库的安装平台 select * from v$version; 查看表空间的使用情况 select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by ...

    Oracle最常用的语句

    Oracle 最常用的命令 1.登陆系统用户 :sqlplus 然后输入系统用户名和密码  登陆别的用户 : conn 用户名/密码; 2.创建表空间  create tablespace 空间名  datafile 'c:\空间名' size 15M --表空间的存放路径,...

    Oracle DBA 常用的一些SQL语句(50个)

    changefilter.sql oracle的连接数查看和连接用户的查看.sql Sun30新建oracle用户.sql user_job.sql ...表空间剩余空间查看.sql 表空间回收.sql 过滤表清除sql生成.sql 进程使用回滚段查询.sql 锁表查询.sql

    oracle常用sql查询语句部分集合(图文)

    Oracle查询语句 select * from scott.emp ; 1.–dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select * from (select deptno,ename,sal,dense_rank() over(partition by deptno order by sal desc)...

    Oracle维护常用SQL语句

    Oracle维护常用SQL语句 ************************************************ 如何查看各个表空间占用磁盘情况? col tablespace format a20 select b.file_id 文件ID号, b.tablespace_name 表空间名,b.bytes ...

    oracle 常用语句 oracle备份 oracle冷备份 oracle启停 oracle导出 oracle导入

    oracle 常用语句 --逻辑备份 --导出ORACLE参数 参数 说明 USERID 确定执行导出实用程序的用户名和口令 ..................(见附件) --导出 --全库导出 ..................(见附件) --按用户方式导出 ..................

    Oracle常用操作技巧.zip

    oracle常用操作技巧,包括oracle安装步骤、网络配制、EM、备份、RMAN的备份与恢复、逻辑备份、闪回、ASM(管理存储软件)、数据迁移、安全控制、oracle安装及常规操作、SQL语句、函数、SQL语句、权限、体系结构、空间...

    oracle dba 常用语句

    oracle dba 常用的 sql 语句 包括 空间,用户,进程等等。

    oracle常用命令操作集合

    资源中有4个总结文档,包括oracle常用操作命令,oracle的导入导出,表空间的创建,查询一个数据库中所有语句等

    oracle维护常用语句.txt

    oracle日常维护常用语句,如:表空间创建/密码设置不过期/用户解锁/无法导出空表设置/用户不区分大小写设置等

    Oracle 常用系统表

    这些视图或表可以在SQLPLUS中用SELECT语句进行查询。 2.数据字典视图 表和列 DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。 DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每...

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

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

    oracle常用操作

    oracle日常操作,包含了建表语句、表空间创建、扩展、删除,oracle日常问题总结等内容

Global site tag (gtag.js) - Google Analytics