摘要:Oracle数据库的库表常用操作:创建与添加表空间、临时表空间、创建表分区、创建索引、锁表处理

1.表空间

■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间

  1. --详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间
  2. select t.*
  3. from (SELECT D.TABLESPACE_NAME,
  4. SPACE "SUM_SPACE(M)",
  5. BLOCKS SUM_BLOCKS,
  6. SPACE - NVL(FREE_SPACE, 0) "USED_SPACE(M)",
  7. ROUND((1 - NVL(FREE_SPACE, 0) / SPACE) * 100, 2) "USED_RATE(%)",
  8. FREE_SPACE "FREE_SPACE(M)"
  9. FROM (SELECT TABLESPACE_NAME,
  10. ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE,
  11. SUM(BLOCKS) BLOCKS
  12. FROM DBA_DATA_FILES
  13. GROUP BY TABLESPACE_NAME) D,
  14. (SELECT TABLESPACE_NAME,
  15. ROUND(SUM(BYTES) / (1024 * 1024), 2) FREE_SPACE
  16. FROM DBA_FREE_SPACE
  17. GROUP BY TABLESPACE_NAME) F
  18. WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
  19. UNION ALL --if have tempfile
  20. SELECT D.TABLESPACE_NAME,
  21. SPACE "SUM_SPACE(M)",
  22. BLOCKS SUM_BLOCKS,
  23. USED_SPACE "USED_SPACE(M)",
  24. ROUND(NVL(USED_SPACE, 0) / SPACE * 100, 2) "USED_RATE(%)",
  25. SPACE - USED_SPACE "FREE_SPACE(M)"
  26. FROM (SELECT TABLESPACE_NAME,
  27. ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE,
  28. SUM(BLOCKS) BLOCKS
  29. FROM DBA_TEMP_FILES
  30. GROUP BY TABLESPACE_NAME) D,
  31. (SELECT TABLESPACE,
  32. ROUND(SUM(BLOCKS * 8192) / (1024 * 1024), 2) USED_SPACE
  33. FROM V$SORT_USAGE
  34. GROUP BY TABLESPACE) F
  35. WHERE D.TABLESPACE_NAME = F.TABLESPACE(+)) t
  36. order by "USED_RATE(%)" desc;

■  查看当前表空间数据文件序号

  1. select * from dba_data_files where tablespace_name='TblSpaceName';

■  添加表/索引空间,数据文件大小固定为30720M

  1. alter tablespace TblSpaceName add datafile 'DATA/orcl/datafile/new_data11.dbf' size 30720M autoextend off;
  2. alter tablespace TblSpaceName add datafile 'DATA/orcl/datafile/new_data12.dbf' size 30720M autoextend off;

■  删除表空间的某个数据文件

  1. alter tablespace TblSpaceName drop datafile 'DATA/orcl/datafile/new_data11.dbf';

2.临时表空间

临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。

■  查看实例的临时表空间

  1. SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'

■  创建临时表空间

  1. CREATE TEMPORARY TABLESPACE TMP TEMPFILE '/u01/gsp/oradata/TMP01.dbf' SIZE 8G AUTOEXTEND OFF;

■  增加数据文件

  1. ALTER TABLESPACE TMP ADD TEMPFILE '/u03/eps/oradata/temp02.dbf' SIZE 64G

■  删除临时表空间的数据文件

  1. ALTER TABLESPACE TEMP DROP TEMPFILE '/u01/app/oracle/oradata/GSP/temp02.dbf';

■  调整文件大小

  1. ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/GSP/temp02.dbf' RESIZE 2G;

■  删除临时表空间

  1. DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

3.表分区

■  查看某个表分区及行数;查看所有表分区时间范围;

  1. --查看某个表分区及行数
  2. select t.table_name,t.partition_name,changeintegertodate(substr(t.partition_name,3,length(t.partition_name)-2)),t.num_rows,t.tablespace_name
  3. from user_tab_partitions t
  4. where t.table_name =upper('t_table1');
  5.  
  6. --查看所有表分区时间范围
  7. select t.table_name,changeintegertodate(substr(mintime,3,length(mintime)-2)),changeintegertodate(substr(maxtime,3,length(maxtime)-2))
  8. from (select table_name,min(partition_name) mintime,max(partition_name) maxtime from user_tab_partitions group by table_name) t
  9. order by maxtime

这里用到时间转换函数 changeintegertodate:

  1. create or replace function changeIntegerToDate(dateInteger in int) return varchar2
  2. is
  3. returnDate varchar2(20);
  4. begin
  5. select to_char( TO_DATE('1970-1-1 08:00:00','YYYY-MM-DD hh24:mi:ss')+(dateInteger/(3600*24)),'YYYY-MM-DD hh24:mi:ss') into returnDate FROM DUAL;
  6. return returnDate;
  7. end changeIntegerToDate;

■  创建分区表:

  1. CREATE TABLE ▪▪▪
    ▪▪▪▪▪▪
    TABLESPACE "TblName"
  2. PARTITION BY RANGE ("TIME")
  3. (PARTITION "P_1465747200" VALUES LESS THAN (1465747200)
  4. PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255
  5. STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  6. PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  7. TABLESPACE "TBL_MRODATA" COMPRESS BASIC );

■  添加表分区

  1. ALTER TABLE TblName ADD PARTITION "P_1465747200" VALUES LESS THAN (1465747200) TABLESPACE TBLSpace;

4.索引

■  查询表是否有索引

  1. --查询表是否有索引
  2. select index_name,column_name from user_ind_columns where table_name='TEMP';

■  创建索引

  1. --创建索引
  2. create index temp_id_i on temp(id);

5.锁表

■  锁表查询的代码有以下的形式:

  1. select count(*) from v$locked_object;
  2. select * from v$locked_object;

■  查看哪个表被锁

  1. select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

■  查看是哪个session引起的

  1. select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;

■  杀掉对应进程

  1. 执行命令:alter system kill session'1025,41';
  2. 其中1025sid,41serial#.

Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理的更多相关文章

  1. oracle相关操作,存储、临时表空间、用户操作、启动过程

    表空间:此空间是用来进行数据存储的(表.function.存储过程等),所以是实际物理存储区域.临时表空间:主要用途是在数据库进行排序运算[如创建索引.order by及group by.distin ...

  2. Oracle常用操作【自己的练习】

    Oracle查询的时候条件要用单引号包裹,不能用双引号;Oracle的in子查询里面的值最多有1000个........ 连接orcl数据库 C:\Windows\system32@orcl as s ...

  3. Oracle 常用操作【01】修改、更新数据

    1. oracle 修改表名.列名.字段类型.添加表列.删除表列  alert table scott.test rename to test1--修改表名 alter table scott.tes ...

  4. 工作中oracle常用操作

    常用数据库操作 启动数据库监听器lsnrctl start 停止数据库监听器lsnrctl stop 登录oraclesqlplus / as sysdba启动oralcestartup;关闭orac ...

  5. Oracle 常用操作【02】数据库特性

    1. 导出 oracle 注释 -- 表明細+表注释+字段明细+字段注释 a.一个用户下的表明細+表注释+字段明细+字段注释 select ATC.OWNER, atC.TABLE_NAME, utc ...

  6. Oracle常用操作-----(一)

    Oracle创建约束: ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容. [注]Oracle中的default是一个值,而sql server中的default是一个约束 ...

  7. Oracle常用操作-----(二)

    Oracle主要类型函数: 单行函数:只能输入一行结果,返回一个结果.常见的单行函数有: 字符函数 数字函数 转换函数 日期函数 2.聚合函数:同时可以对多行数据进行操作,并返回一个结果.(AVG.S ...

  8. MySql常用操作语句(2:数据库、表管理以及数据操作)

    本文主要内容转自一博文. 另外可供参考资源: SQL语句教程 SQL语法 1.数据库(database)管理  1.1 create 创建数据库 mysql> create database f ...

  9. oracle常用操作指令

    1.cmd   sqlplus /nolog; 2.conn  sys/  as sysdba; 3.create user query identified by query;//创建用户 4.al ...

随机推荐

  1. MIT 6.828 JOS学习笔记4. Lab 1 Part 2.1: The Boot Loader

    Part 2: The Boot Loader 对于PC来说,软盘,硬盘都可以被划分为一个个大小为512字节的区域,叫做扇区.一个扇区是一次磁盘操作的最小粒度.每一次读取或者写入操作都必须是一个或多个 ...

  2. PHP 检查并创建多级目录

    <?php //检查并创建多级目录    function checkDir($path){        $pathArray = explode('/',$path);        $no ...

  3. CodeForces 540

    A. Combination Lock time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  4. 惠普披甲过VR寒冬,花费巨资开发VR游戏

         2016被称为VR元年,各大公司都在积极推动该领域的研究,其中HTC.0culus.索尼的成绩是最高的,不仅推出了自家研发的头显,而且销量还很可观.惠普在VR领域自然也有所投入,但是并没有比 ...

  5. Hadoop生态圈

    1.Hadoop是什么? 适合大数据的分布式存储与计算平台 HDFS: Hadoop Distributed File System分布式文件系统 MapReduce:并行计算框架 解决的问题: HD ...

  6. 使用功能强大的插件FastReport.Net打印报表实例

    我第一次使用FastReport插件做的功能是打印一个十分复杂的excel表格,有几百个字段都需要绑定数据,至少需要4个数据源,而且用到横向.竖向合并单元格. 我不是直接连接数据库,而是使用Regis ...

  7. c# winform编程之多线程ui界面资源修改总结篇

    单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么 ...

  8. mysql优化limit分页

  9. 20145220&20145209&20145309信息安全系统设计基础实验报告(2)

    20145220&20145209&20145309信息安全系统设计基础实验报告(2) 实验报告链接: http://www.cnblogs.com/zym0728/p/6083664 ...

  10. Mysql5.6.17 zip版本安装

    1.把 mysql解压到自定义 D:\mysql-5.6.17-W642.我的电脑--属性--高级--环境变量--系统变量--新建系统环境变量       变量名:MYSQL_HOME       变 ...