tablespace
CREATE [UNDO] TABLESPACE tablespace_name
[DATAFILE datefile_spec1 [,datefile_spec2] ......
[{MININUM EXTENT integer [k|m]
|BLOCKSIZE integer [k]
|logging clause | FORCE LOGGING
|DEFAULT {data_segment_compression} storage_clause
|[online|offline]
|[PERMANENT|TEMPORARY]
|extent_manager_clause
|segment_manager_clause}]
1、undo
说明系统将创建一个回滚表空间。
在9i中数据库管理员可以不必管理回滚段,只有建立了undo表空间,系统就会自动管理回滚段的分配,回收的工作。
当然,也可以创建一般的表空间,在上面创建回滚段.不过对于用户来说,系统管理比自己管理要好很多.
如果需要自己管理,请参见回滚段管理的命令详解.
当没有为系统指定回滚表空间时,系统将使用system系统回滚段来进行事务管理。
//
2、tablespace_name
指出表空间的名称。
//
3、datafile datefile_spec1
指出表空间包含什么空间文件。
datefile_spec1是形如:[ 'filename' ] [SIZE integer [ K | M ]] [REUSE] [autoextend_clause]
[autoextend_clause]是形如:AUTOEXTEND { OFF | ON [ NEXT integer [ K | M ] ] [maxsize_clause] }
其中filename是数据文件的路径名,可以是相对路径,也可以是绝对路径。
size是文件的大小,
REUSE表示文件是否被重用.
AUTOEXTEND表明是否自动扩展.
OFF | ON 表示自动扩展是否被关闭.
NEXT 表示数据文件满了以后,扩展的大小.
maxsize_clause表示数据文件的最大大小.形如MAXSIZE { UNLIMITED | integer [ K | M ] }.
UNLIMITED 表示无限的表空间.
integer是数据文件的最大大小.
DATAFILE 'D:"oracle"oradata"IMAGEDATA01.dbf' SIZE 2000M,
'D:"oracle"oradata"IMAGEDATA02.dbf' SIZE 2000M
//
4、MININUM EXTENT integer [k|m]
指出在表空间中范围的最小值。这个参数可以减小空间碎片,保证在表空间的范围是这个数值的整数倍。
//
5、BLOCKSIZE integer [k]
这个参数可以设定一个不标准的块的大小。如果要设置这个参数,必须设置db_block_size,
至少一个db_nk_block_size,并且声明的integer的值必须等于db_nk_block_size.
注意:在临时表空间不能设置这个参数。
//
6、logging clause
这个子句声明这个表空间上所有的用户对象的日志属性(缺省是logging),
包括表,索引,分区,物化视图,物化视图上的索引,分区。
//
7、FORCE LOGGING
使用这个子句指出表空间进入强制日志模式。此时,系统将记录表空间上对象的所有改变,除了临时段的改变。
这个参数高于对象的nologging选项。
注意:设置这个参数数据库不行open并且出于读写模式。而且,在临时表空间和回滚表空间中不能使用这个选项。
//
8、DEFAULT storage_clause
声明缺省的存储子句。
//
9、online|offline
改变表空间的状态。online使表空间创建后立即有效.这是缺省值.
offline使表空间创建后无效.这个值,可以从dba_tablespace中得到。
//
10、PERMANENT|TEMPORARY
指出表空间的属性,是永久表空间还是临时表空间。
永久表空间存放的是永久对象,临时表空间存放的是session生命期中存在的临时对象。
这个参数生成的临时表空间创建后一直都是字典管理,不能使用extent management local选项。
如果要创建本地管理表空间,必须使用create temporary tablespace
注意,声明了这个参数后,不能声明block size
//
11、extent_management_clause
这是最重要的子句,说明了表空间如何管理范围。一旦你声明了这个子句,只能通过移植的方式改变这些参数。
如果希望表空间本地管理的话,声明local选项。本地管理表空间是通过位图管理的。
autoallocate说明表空间自动分配范围,用户不能指定范围的大小。只有9.0以上的版本具有这个功能。
uniform说明表空间的范围的固定大小,缺省是1m。
不能将本地管理的数据库的system表空间设置成字典管理。
oracle公司推荐使用本地管理表空间。
如果没有设置extent_management_clause,oracle会给他设置一个默认值。
如果初始化参数compatible小于9.0.0,那么系统创建字典管理表空间。
如果大于9.0.0,那么按照如下设置:
如果没有指定 default storage_clause,oracle创建一个自动分配的本地管理表空间。
否则,
如果指定了mininum extent,那么oracle判断mininum extent 、initial、next是否相等,以及pctincrease是否=0.
如果满足以上的条件,oracle创建一个本地管理表空间,extent size是initial.
如果不满足以上条件,那么oracle将创建一个自动分配的本地管理表空间。
如果没有指定mininum extent。initial、那么oracle判断next是否相等,以及pctincrease是否=0。
如果满足oracle创建一个本地管理表空间并指定uniform。否则oracle将创建一个自动分配的本地管理表空间。
注意:本地管理表空间只能存储永久对象。
如果你声明了local,将不能声明 default storage_clause,mininum extent、temporary.
EXTENT MANAGEMENT LOCAL
//
12、segment_management_clause
段空间管理的方式,自动或者手动:
SEGMENT SPACE MANAGEMENT {AUTO|MANUAL}
--
实例1:创建永久表空间
可以一次创建单个表空间,也可以一次性创建多个表空间
1.1创建单个表空间
create tablespace ts_something
logging
datafile '/dbf1/ts_sth.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//
1.2创建多个表空间
CREATE TABLESPACE TS_IMAGEDATA
NOLOGGING
DATAFILE 'D:"oracle"oradata"DATA01.dbf' SIZE 2000M,
'D:"oracle"oradata"DATA02.dbf' SIZE 2000M,
'D:"oracle"oradata"DATA03.dbf' SIZE 2000M,
'D:"oracle"oradata"DATA04.dbf' SIZE 2000M,
'D:"oracle"oradata"DATA05.dbf' SIZE 2000M EXTENT
MANAGEMENT LOCAL SEGMENT
SPACE MANAGEMENT AUTO;
//
CREATE TABLESPACE TS_IMAGEDATA
LOGGING
DATAFILE 'E:"ORACLE"ORADATA"DATA_01.DBF' SIZE 2000M REUSE
AUTOEXTEND ON
NEXT 51200K MAXSIZE 3900M,
'E:"ORACLE"ORADATA"XL"DATA_02.DBF' SIZE 2000M REUSE
AUTOEXTEND ON
NEXT 51200K MAXSIZE 3900M,
'E:"ORACLE"ORADATA"XL"DATA_03.DBF' SIZE 2000M REUSE
AUTOEXTEND ON
NEXT 51200K MAXSIZE 3900M,
'E:"ORACLE"ORADATA"XL"DATA_04.DBF' SIZE 2000M REUSE
AUTOEXTEND ON
NEXT 51200K MAXSIZE 3900M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
实例2:创建撤销表空间
create undo tablespace ts_undo
datafile '/dbf/undo.dbf' size 100M;
//
CREATE UNDO TABLESPACE ts_undo01
DATAFILE '/data/ts_undo01.dbf'
SIZE 50000M REUSE
autoextend on;
创建私用表空间:
create tablespace jf_data datafile '/opt/oracle/app/oracle/oradata/iptvbss/jfdata.dbf' size 1000M autoextend on next 500M maxsize unlimited;
create tablespace jf_index datafile '/opt/oracle/app/oracle/oradata/iptvbss/jfindex.dbf' size 1000M autoextend on next 500M maxsize unlimited;
查询表空间信息:
数据字典 |
作用 |
V$TABLESPACE |
表空间的标号和信息 |
DBA_TABLESPACE |
表空间的标号和信息 |
USER_TABLESPACE |
表空间的标号和信息 |
DBA_TABLESPACE_GROUPS |
|
DBA_SEGMENT |
表空间段的信息 |
USER_SEGMENT |
表空间段的信息 |
DBA_EXTENTS |
表空间的数据盘区的信息 |
USER_EXTENTS |
表空间的数据盘区的信息 |
DBA_FREE_SPACE |
表空间的空闲信息 |
USER_FREE_SPACE |
表空间的空闲信息 |
V$DATAFILE |
数据文件以及所属表空间的信息 |
V$TEMPFILE |
临时文件以及临时表空间的信息 |
DBA_DATA_FILES |
数据文件以及所属表空间的信息 |
DBA_TEMP_FILES |
临时文件以及临时表空间的信息 |
V$TEMP_SPACE_HEADER |
临时文件的空闲信息 |
V$SORT_SEGMENT |
每个排序段的信息 |
V$SORT_USER |
用户使用的临时排序信息 |
查询tablespace使用情况:
--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;
10.
--1G=1024MB
--1M=1024KB
--1K=1024Bytes
--1M=11048576Bytes
--1G=1024*11048576Bytes=11313741824Bytes
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表空间使用大小",
total / (1024 * 1024 * 1024) "表空间大小(G)",
free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
round((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name ;
tablespace的更多相关文章
- 表空间统计报告 Tablespace growth Report
SQL> select TS# from v$tablespace where name='ABC' ; TS# ---------- 6 set serverout on set verify ...
- ORA-01950: no privileges on tablespace xxxx
案例场景: 新建了一个表空间后TBS_MARKET_DAT,希望将归档的数据放置在这个表空间. SQL> CREATE TABLESPACE TBS_MARKET_DAT 2 DATAFI ...
- ORA-10635: Invalid segment or tablespace type
上周星期天在迁移数据时,碰到了ORA-10635: Invalid segment or tablespace type 错误,当时的操作环境如下: 操作系统版本: [oracle@xxxxx scr ...
- Oracle逻辑结构(TableSpace→Segment→Extent→Block)
一.逻辑体系结构图 二.逻辑结构图组成介绍 从上表可以看出,一个数据库是由多个表空间(tablespace)组成,一个表空间又由多个段(segment)组成,一个段又由多个区(extent)组成,一个 ...
- 【异常】ORA-01536: space quota exceeded for tablespace
### The error may exist in /src/main/resources/com/star/css/dao/sql/workflow.xml ### The error may i ...
- Oracle中的Temporary tablespace的作用
临时表空间主要用途是在数据库进行排序运算[如创建索引.order by及group by.distinct.union/intersect/minus/.sort-merge及join.analyze ...
- 硬盘空间满导致mysql ibd文件被删后提示Tablespace is missing for table 'db_rsk/XXX"
昨天一早,开发人员反馈说一个测试环境报Tablespace is missing for table 'db_rsk/XXX",周末刚升级过,特地让开发回去查了下,说脚本中肯定没有drop ...
- 1118ALTER TABLE tabname DISCARD TABLESPACE快速导入数据利用表空间
-- 快速导入数据如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中:相当快速 1. 发出这个ALTER TABLE语句: 2. ALTER TABLE tb ...
- ORA-01157错误,丢失undo tablespace中数据文件的解决方法
我们先来看一下这个现象: [oracle@djp ora12]$ pwd /u01/app/oracle/oradata/ora12 [oracle@djp ora12]$ mv undotbs01. ...
- REORG TABLESPACE on z/os
这个困扰了我两天的问题终于解决了,在运行这个job时:总是提示 A REQUIRED DD CARD OR TEMPLATE IS MISSING NAME=SYSDISC A REQUIRED DD ...
随机推荐
- WebService的简单实现
WebService的简单实现 一.socket主机创建和使用过程 1.socket()//创建套接字 2.Setsockopt()//将套接字属性设置为允许和特定地点绑定 3.Bind()//将套接 ...
- [置顶] java得到前一个月的年月日时分秒
import java.util.Calendar; /** * 得到前一个月的年月日时分秒 * @author Mr.hu * 2013-6-28上午12:00:35 * Class Explain ...
- ios-制作静态.a文件
一.制作静态库文件 /*静态库制作*/ // MakeA.h -(NSString*)testA; // MakeA.m -(NSString*)testA{ return @"静态库测试成 ...
- Nodejs --我自己的学习笔记
对于Nodejs,相信客官并不陌生,网上却已众说纷纭,有人说是一个平台,有人说是服务器JavaScript,有人说一个框架… 之前亦有过研究,多怀可远观而不可亵玩也.高效率,I/O操作,异步编程,以及 ...
- CentOS在线升级内核
升级内核需要使用 elrepo 的yum 源首先我们导入 elrepo 的key rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org ...
- linux 开启防火墙操作
1)在/etc/sysconfig/ 下新建iptables文件,添加如下代码: *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ...
- Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)的解决方法
在连接数据库时,报这个错误,是/var/lib/mysql/ 目录下没有mysql.sock文件,在服务器搜索myslq.sock文件,我的是在/tmp/mysql.sock 解决方法是加一个软链: ...
- 国内下载比较快的Maven仓库镜像
#收集的比较快的maven仓库 http://maven.wso2.org/nexus/content/groups/public/ http://jcenter.bintray.com/http:/ ...
- Chrome浏览器加载CSS文件TTFB waiting超时的奇葩问题
今天本来调试 requirejs 加载js异常的问题,试了下Chrome浏览器,结果意外发现这个 CSS 加载异常的BUG,非常非常奇怪. 本地测试环境是 wi7x64 安装的 XAMPP 3.2.1 ...
- Singleton Pattern(单例模式)
1.简介 单例模式,顾名思义,即在整个系统中,类的实例对象只有一个. 单例模式具有以下特点: 单例类只能有一个实例 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 2.实现 其 ...