Oracle创建表空间 管理表空间
表空间创建语句
- 创建表空间
-- 创建表空间
create tablespace LQ datafile 'E:/oracle_data/LQ_01.dbf' size 2000M autoextend on next 200M maxsize 10000M;
-- 创建表空间(不设置上限)
create tablespace LQ datafile 'E:/oracle_data/LQ_01.dbf'
size 2000M autoextend on next 200M maxsize unlimited
extent management local autoallocate segment space management auto;
- 修改表空间
-- 修改表空间文件大小(支持TEMP临时表空间)
ALTER DATABASE DATAFILE 'E:/oracle_tablespaces/DEMOSPACE_TBSPACE.dbf' RESIZE 10000M;
-- 修改表空间文件自增长
ALTER DATABASE DATAFILE 'E:/oracle_tablespaces/DEMOSPACE_TBSPACE.dbf' AUTOEXTEND ON NEXT 500M;
- 增加表空间文件
-- 增加表空间文件
ALTER TABLESPACE demospace ADD DATAFILE 'E:/oracle_tablespaces/DEMOSPACE_TBSPACE_02.dbf'
SIZE 2000M autoextend on next 200M maxsize 10000M;
- 缩小表空间文件(先查)【未完待续】
select tablespace_name, file_id, file_name,
--表空间最大值
round(bytes/(1024*1024),0) total_space,
--已使用表空间的最大值
(SELECT MAX(block_id)*8/1024 FROM dba_extents WHERE tablespace_name = 'LQ') max_space
from dba_data_files f order by tablespace_name;
--1、先处理不连续的表空间
alter tablespace users coalesce;--2、查询file_id,也可在toad工具tablespace直接看到。
select file#,name from v$datafile;--3、查该数据文件中数据处在最大位置
select max(block_id) from dba_extents where file_id=上一步查出的id; -- 383497--4、 查出最大块位置
select 383497*8/1024 from dual; --2996.0703125
--这说明该文件中最大使用块位于2996M与3000M之间,--5、 修改表空间(也可用toad工具界面修改)
ALTER DATABASE datafile '/opt/oracle/oradata/LQ/temp02.dbf' RESIZE 3000M;
- 创建用户&指定表空间(oracle10g默认是 USERS 表空间)
-- 创建用户时直接指定
create user demo identified by demo default tablespace DEMOSPACE ;-- 分步指定
create user demo identified by demo ;
alter user demo default tablespace demospace;-- 同时指定临时表空间
create user demo identified by demo default tablespace demospace temporary tablespace temp;
表空间查询语句
- 查看默认/缺省表空间
-- 查看默认的用户表空间
select * from database_properties where property_name like '%DEF%';-- 查看所有用户的默认表空间(视情况清理用户及表空间)
select username,default_tablespace from dba_users;-- 查看当前用户的缺省表空间
select username,default_tablespace from user_users;
- 查看用户表空间占用
-- 查看每个用户占用的表空间
SELECT OWNER as "用户名", sum(BYTES) / 1024 / 1024 / 1024 as "所有表的大小(GB)" FROM DBA_SEGMENTS
WHERE SEGMENT_NAME in (select t2.OBJECT_NAME from dba_objects t2
where t2.OBJECT_TYPE = 'TABLE') group by OWNER order by 2 desc ;-- 当前用户每张表占用的表空间
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents
Group By Segment_Name order by Sum(bytes)/1024/1024 desc ;-- 查看每个用户的临时表空间
select username,default_tablespace,temporary_tablespace from dba_users ;
- 查看表空间自增长
-- 查看表空间是否允许自动增长
SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES;-- 查看临时表空间是否允许自动增长
select d.file_name, d.tablespace_name, d.autoextensible from dba_temp_files d;
- 查看表空间文件路径
select t1.name,t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;
- 查看表空间文件使用率
selectb.file_name 物理文件名,b.tablespace_name 表空间,b.MAXBYTES/1024/1024 最大M,b.bytes/1024/1024 当前大小M,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 当前利用率--,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.MAXBYTES)*100,1,5) 全部利用率from dba_free_space a,dba_data_files bwhere a.file_id=b.file_idgroup by b.tablespace_name,b.file_name,b.bytes,b.MAXBYTESorder by b.tablespace_name;-- 查看表空间使用率SELECT D.TABLESPACE_NAME,SPACE || 'M' "SUM_SPACE(M)",SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)",ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%'"USED_RATE(%)",FREE_SPACE || 'M' "FREE_SPACE(M)" , '_DATA'FROM ( SELECT TABLESPACE_NAME,ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,SUM (BLOCKS) BLOCKSFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME) D,( SELECT TABLESPACE_NAME,ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACEFROM DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) FWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)UNION ALL -- 如果有临时表空间SELECT D.TABLESPACE_NAME,SPACE || 'M' "SUM_SPACE(M)",USED_SPACE || 'M' "USED_SPACE(M)",ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)",NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)" , '_TEMP'FROM ( SELECT TABLESPACE_NAME,ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,SUM (BLOCKS) BLOCKSFROM DBA_TEMP_FILESGROUP BY TABLESPACE_NAME) D,( SELECT TABLESPACE_NAME,ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE,ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACEFROM V$TEMP_SPACE_HEADERGROUP BY TABLESPACE_NAME) FWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)ORDER BY 1;
-- SQL2(临时表空间)
SELECT FILE# AS FILE_NUMBER,NAME AS NAME,CREATION_TIME AS CREATION_TIME,BLOCK_SIZE AS BLOCK_SIZE,BYTES/1024/1024/1024 AS "FILE_SIZE(G)",CREATE_BYTES/1024/1024/1024 AS "INIT_SIZE(G)",STATUS AS STATUS,ENABLED AS ENABLEDFROM V$TEMPFILE;
表空间删除语句(适用临时表空间)
注意:不能删除当前用户的默认表空间,否则会报ORA-12906错误。如果需要删除某一个默认的临时表空间,则必须先创建一个临时表空间,然后指定新创建的表空间为默认表空间,然后删除原来的临时表空间。
-- 删除用户、表空间drop user ×× cascade ;说明: 删除了user,只是删除了该user下的schema objects,不会删除相应的tablespace-- 删除空的表空间,但是不包含物理文件drop tablespace tablespace_name;-- 删除非空表空间,但是不包含物理文件drop tablespace tablespace_name including contents;-- 删除空的表空间,包含物理文件drop tablespace tablespace_name including datafiles;-- 删除非空表空间,包含物理文件drop tablespace tablespace_name including contents and datafiles;-- 如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTSdrop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
删除数据文件语法(不要使用,危险!!!):
ALTER TABLESPACE 表空间名 DROP DATAFILE 数据文件名;
alter tablespace USERS drop datafile 'E:/oracle_tablespaces/DEMOSPACE_TBSPACE.dbf' ;
-- 查看一下当前这个数据文件的状态
select * from dba_data_files t where t.file_name = 'E:/oracle_tablespaces/DEMOSPACE_TBSPACE.dbf' ;
-- 修改表空间状态
alter database datafile ‘F:\TEST\MYSPACE3.DBF’ online ;
-- 移动重命名文件
例如,我需要将/home/oracle/oradata/orcl/temp01.dbf 这个文件重命名为/home/oracle/oradata/orcl/temp02.dbf-- 将临时表空间的临时文件脱机;
ALTER DATABASE TEMPFILE '/home/oracle/oradata/orcl/temp01.dbf' OFFLINE;
-- 移动或重命名相关的临时文件;
mv /home/oracle/oradata/orcl/temp01.dbf /home/oracle/oradata/orcl/temp01.dbf
-- 使用脚本ALTER DATABASE RENAME FILE;
ALTER DATABASE RENAME FILE '/home/oracle/oradata/orcl/temp01.dbf' TO '/u01/app/oracle/oradata/GSP/temp02.dbf';
-- 将临时表空间的临时文件联机;
ALTER DATABASE TEMPFILE '/home/oracle/oradata/orcl/temp02.dbf' ONLINE;
Database altered.
压缩临时表空间
create temporary tablespace TEMP2 TEMPFILE 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/temp02.dbf'SIZE 64M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; --创建中转临时表空间alter database default temporary tablespace temp2; --改变缺省临时表空间 为刚刚创建的新临时表空间temp2drop tablespace temp including contents and datafiles; --删除原来临时表空间create temporary tablespace TEMP TEMPFILE 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/temp01.dbf'SIZE 128M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; --重新创建临时表空间alter database default temporary tablespace temp; --重置缺省临时表空间为新建的temp表空间drop tablespace temp2 including contents and datafiles;--删除中转用临时表空间alter user roll temporary tablespace temp;
Oracle创建表空间 管理表空间相关推荐
- Oracle新建的用户看不到表,Oracle 创建用户及数据表的方法
Oracle 创建用户及数据表的方法 更新时间:2009年09月25日 23:13:29 作者: 刚开始学习oracle的朋友可以看下,这个是基础了. 一.概念 1. 数据库 (Database) ...
- SQL Server 空间管理——表空间
SQL Server 中表使用空间查询 一.查询指定表空间使用情况 脚本1 use WideWorldImportersDW go sp_spaceused Workload 二.查询库下默认架构所有 ...
- 12:MYSQL 使用函数创建自增序列管理表(批量使用自增表,设置初始值,自增幅度)
第一步:创建Sequence管理表 sequence DROP TABLE IF EXISTS sequence; CREATE TABLE sequence ( name VARCHAR(50) N ...
- hive 创建外部表产生java_(一)Hive表(管理表、外部表)的创建规则
建表语句: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...
- oracle 创建加注释的表,oracle创建表+注释
建表的时候为了以后查询方便,也为了减少数据库文档的编写,建表最好加上表的注释和列的注释 建表语句: CREATE table "TABLE_COUNT" ( "TABLE ...
- 内部表(管理表)和外部表
内部表也称为管理表,数据是存放在表中的,删除表后 表中数据会同步删除.常见于明细层表 应用层表等.如DM层 APP层,一般是通过SQL语句从其他表中抽取的数据. 外部表,建表时有external关键字 ...
- oracle创建新指定表空间,oracle创建用户并指定表空间
/*第1步:创建ODPS数据表空间 */ create tablespace ODPS logging datafile '/home/oracle/tablespace_dir/ODPS.dbf' ...
- oracle创建列默认值,表列添加默认值的方法
在修改表结构时,有时候会涉及到添加默认值. 下面是在11.2.0.3版本数据库中进行测试的结果: Connected to Oracle Database 11g Enterprise Edition ...
- Oracle 创建视图、修改表的约束 创建级联删除触发器、存储过程
1.创建视图 创建航班表的视图,用于查询航班表的所有信息 create or replace view F_view as select * from Flight; 创建机票表的视图,用于查询机票表 ...
最新文章
- 普诺飞思获创新工场新一轮投资,加速神经拟态视觉传感技术商业化
- java修饰静态_Java-static修饰符及静态代码块
- php怎么删除多条,php 用checkbox一次性删除多条记录的方法
- 谷歌CEO为「Jeff Dean开除研究员」事件道歉,却引发持续争议
- μC/OS Ⅱ之任务就绪表的操作_2012.5.31
- 【转】ADO.NET对数据库操作经典类
- python3精要(21)-函数(2)
- 洛谷 P1202 模拟 - 黑色星期五 Friday the Thirteenth
- 深入理解Java虚拟机——java内存区域与内存溢出异常(一)
- delphi TStrings的一些用法
- C++匿名对象调用成员函数
- 在计算机网络GAN代表什么,图解 生成对抗网络GAN 原理 超详解
- 搭建samba映射网络驱动器
- 斐讯音箱控制扫地机器人_【斐讯 R1 智能音箱使用体验】操作|功能|音质|识别_摘要频道_什么值得买...
- 淘宝模拟登录2解决滑动验证问题
- loadrunner icrosoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”
- WXGA TFT和XGA TFT的区别
- 广东省计算机二级c语言真题,广东省计算机二级考试题及答案
- MySQL、PostgreSQL、NoSQL、CynosDB,究竟谁是数据库王者?
- 求树的直径算法以及证明
热门文章
- 遇见流氓软件怎么才能卸载,文件夹删不掉显示被占用(小鸟,海螺,原始传奇等),到底应该怎么办?
- html背景图片如何和div一样大,怎么让div的大小随着背景图片的大小变大
- 物理像素、CSS像素、dip、dpr、ppi、dpi
- MSSQL外键约束以及sp_MSforeachtable使用方法
- 计算机 和金融主要学什么,计算机和金融哪个更好?未来发展有什么区别?
- 商汤科技视觉定位组招收实习生
- Android实现异步加载图片 ListView
- 【JavaScript】select 事件监听及选中
- 给刚出社会的您关于社会的几点建议与看法
- 01-JAVA基础—>赏金任务—>五子棋(面向对象)