Oracle TableSpace

一、创建表空间

--创建用户表空间

CREATE TABLESPACE mytablespace NOLOGGING --nologging 则为不生重做日志,在TABLESPACE前

DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\mytp01.DBF‘ SIZE 1G AUTOEXTEND ON NEXT 1G MAXSIZE 30G

EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

说明:

第一行CREATE TABLESPACE默认为CREATE PERMANENT TABLESPACE永久表空间(表空间类型分为PERMANENT永久,TEMPORARY临时,UNDO撤销)

第二行,为定义文件属性,MAXSIZE 20M为最大20M,MAXSIZE UNLIMITED 大小不受限制

第三行local表示区管理类型为本地管理(local本地管理,TEMPORARY字典管理),AUTOALLOCATE表示段管理类型为自动管理(段管理类型分为AUTO和MANUAL)

OMF

CREATE TABLESPACE ts_cs NOLOGGING DATAFILE SIZE 1G

AUTOEXTEND ON NEXT 1G MAXSIZE 30G

EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

一个数据文件正常最大32G。由LOADID长度限制。

create smallfile TABLESPACE

create bigfile TABLESPACE

--创建临时表空间

CREATE TEMPORARY TABLESPACE mytemporary

TEMPFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\mytemp01.DBF‘ SIZE 10M

AUTOEXTEND ON NEXT 5M

MAXSIZE 10M

EXTENT MANAGEMENT LOCAL;

--创建用户

CREATE USER liut IDENTIFIED BY liut --用户名liut密码liut

DEFAULT TABLESPACE mytablespace

TEMPORARY TABLESPACE mytemporary;

--授予角色(多种权限)

GRANT CONNECT,RESOURCE,DBA TO liut;

二、增加表空间

ALTER TABLESPACE tablespace_name ADD DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF‘ SIZE 1G

AUTOEXTEND ON NEXT 1G MAXSIZE 30G; --有这一行则允许文件自动增长,没有则不允许

OMF

ALTER TABLESPACE ts_cs ADD DATAFILE SIZE 30G;

三、修改表空间

1.允许已存在的数据文件自动增长

ALTER DATABASE DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF‘ AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

2.手工改变已存在数据文件的大小

ALTER DATABASE DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF‘ RESIZE 100M;

alter database datafile 4 resize 10M;

注意:可以改大,也可以改小,但是改完之后空间都会立即分配,而不是自动增长需要时才分配。

3、修改表空间名

alter tablespace CICHR rename to USERS;

4、删除数据文件

ALTER TABLESPACE TS_STD NOLOGGING;

四、删除表空间

DROP TABLESPACE XXXXX INCLUDING CONTENTS AND DATAFILES;

五、查看表空间大小

1、数据表空间大小

SELECT tablespace_name,maxsum_m,sum_m as total_m,

(sum_m-free_m) as used_m,free_m,

to_char(100*(sum_m-free_m)/sum_m, ‘99.99‘) || ‘%‘ AS pct_used,

to_char(100*free_m/sum_m, ‘99.99‘) || ‘%‘ AS pct_free

FROM

( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m,

sum(maxbytes)/1024/1024 AS maxsum_m

FROM dba_data_files GROUP BY tablespace_name),

( SELECT tablespace_name AS fs_ts_name,sum(bytes/1024/1024) AS free_m

FROM dba_free_space GROUP BY tablespace_name )

WHERE tablespace_name = fs_ts_name(+)

order by free_m;

2、临时表空间

SELECT TABLESPACE_NAME,

a.TABLESPACE_SIZE / 1024 / 1024 TABLESPACE_SIZE,

a.ALLOCATED_SPACE / 1024 / 1024 ALLOCATED_SPACE,

FREE_SPACE / 1024 / 1024 AS "FREE SPACE(M)"

FROM DBA_TEMP_FREE_SPACE a

WHERE TABLESPACE_NAME = ‘&tablespace_name‘;

SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"

FROM DBA_TEMP_FILES;

六、在ASM下管理表空间

create tablespace test1 datafile ‘+DATA‘ size 10M;

create bigfile tablespace bts datafile ‘+DATA‘ size 10M;

select bigfile from dba_tablespaces;

--修改数据库默认表空间

alter database default tablespace test1;

select * from database_properties where property_name = ‘DEFAULT_PERMANENT_TABLESPACE‘;

--修改用户默认表空间

alter user a1 default tablespace users;

select DEFAULT_TABLESPACE from dba_users where username=‘SCOTT‘;

预配置的数据库表空间包括:

? SYSTEM

? SYSAUX

? TEMP

? UNDOTBS1

? USERS

? EXAMPLE(可选)

时间: 2024-08-05 02:39:34

Oracle TableSpace的相关文章

Oracle tablespace 表空间创建和管理

1.表空间的概述 1. 表空间是数据库的逻辑组成部分. 2. 从物理上讲,数据库数据存放在数据文件中: 3. 从逻辑上讲,数据库是存放在表空间中,表空间由一个或者多个数据文件组成. 2.oracle的逻辑组成 1.oracle 的逻辑结构包含 表 空间 段 区 块 2.数据库是由表空间构成,表空间又是有段构成,段是由区构成,区是由 oracle的块构成,这样做是为了提高数据库的效率 3.作用 A.控制数据库占用的磁盘空间 B dba 可以将不同数据类型部署到不同的位置,这样 有利于i/0的性能,

Solution to oracle tablespace not enough

execute the following commands by using system account login oracle: >sqlplus system/[email protected]:1522/xe; SQL*Plus: Release 12.1.0.1.0 Production on Tue Sep 22 20:16:29 2015 Copyright (c) 1982, 2013, Oracle.  All rights reserved. Connected to:O

Oracle bigfile 大文件表空间

Database 是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成.表空间内的逻辑存储单位为段(segment),段又可以继续划分为数据扩展(extent).而数据扩展是由一组连续的数据块(datablock)构成. 大文件表空间 在Oracle中用户可以创建大文件表空间(bigfile tablespace).这样Oracle数据库使用的表空间(tablespace)可以由一个单一的大文件构成,而不是若干个小数据文件.这使Oracle可以发挥64位系统的能力,创建.管理超大

Oracle数据库精讲之数据库管理

Oracle数据库精讲之数据库管理 课程观看地址:http://www.xuetuwuyou.com/course/165 课程出自学途无忧网:http://www.xuetuwuyou.com 一.课程用到的软件:oracle 11g 二.课程目标: 1. 为有意从事oracle dba工作人员提供学习指导. 2. 提供oracle数据库dba日常管理方法. 3. 掌握oracle数据库体系机构,为oracle优化奠定基础. 三.适合人群: 1.有意从事oracle 数据库工作,担任dba角色

ORACLE常用操作命令

1.ORACLE实例启动.停止 SQL>shutdown immediate;  oracle停止 SQL>startup;  oracle启动 2.ORACLE 监听启停 lsnrctl start 监听启动 lsnrct stop 监听停止 lsnrctl status 监听状态 3.查看ORCLE实例和数据库状态 SQL>select status from v$instance; SQL>select open_mode from v$database; 4.查看ORACL

zabbix自动发现oracle表空间并监控其使用率

监控需求 Oracle表空间使用率实时监控,当表空间使用率达到95%时触发告警机制.Oracle表空间分为系统默认表空间和用户创建的表空间,而表空间又有自动扩展和非自动扩展两种类型,用户(DBA)在创建表空间时可以根据应用需求指定是否开启表空间自动扩展.那么在这里我们需要分析一个监控策略,就是当zabbix监控到某个表空间使用率达到95%,那么就让触发器触发警告(Warning)信息,并发送邮件给DBA或管理者.当检测到表空间没有开启自动扩展时,则触发Information信息.说明一下:ora

oracle数据库导入导出方法

Oracle Database 10g以后引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中. 数据泵导出导入(EXPDP和IMPDP)的作用  1.实现逻辑备份和逻辑恢复.  2.在数据库用户之间移动对象.  3.在数据库之间移动对象  4.实现表空间搬移. 数据泵导出导入与传统导出导入的区别: 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还

ORACLE表空间操作实例

本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.dba_segments.user_segments.dba_data_files.v$tablespace.dba_tablespaces.user_tablespaces. 创建表空间 1.创建数据表空间 CREATE TABLESPACE test DATAFILE '/opt/oracle/oradata/test.dbf

oracle 表空间查看脚本

#!/bin/bashecho -e "\n\n*********~~~~~~~~~~~~~~~~~~~~~~~~~~~~DATE:" `date '+%Y/%m/%d   %T'` "~~~~~~~~~~~~~~~~~~~~~~~*********" >>/home/oracle/tablespace.logexport PATH=/opt/oracle/1102/db01/bin:$PATHexport ORACLE_HOME=/opt/oracle