Oracle:表空间 您所在的位置:网站首页 查询oracle表容量大小 Oracle:表空间

Oracle:表空间

2023-06-30 02:39| 来源: 网络整理| 查看: 265

原文链接:https://www.cnblogs.com/shujk/p/12493493.html

一、表空间和表概述

ORACLE物理上是由磁盘上的以下几种文件:==数据文件、控制文件和LOGFILE构成的==。 oracle中的表就是一张存储数据的表。表空间是逻辑上的划分,方便管理的。 ==数据表空间(Tablespace)==:存放数据总是需要空间,Oracle把一个数据库按功能划分若干空间来保存数据。当然数据存放在磁盘最终是以文件形式,所以一般一个数据表空间包含一个以上的物理文件。 ==数据表==:在仓库,我们可能有多间房子,每个房子又有多个货架,每架又有多层。 我们在数据库中存放数据,++最终是数据表的单元来存储与管理的++。 ==数据文件==:以上几个概念都是逻辑上的,而数据文件则是物理上的。就是说,数据文件是真正“看得着的东西”,它在磁盘上以一个真实的文件体现。

1.创建表空间和表的步骤:

==(1)、创建表空间:== 格式: create tablespace 表空间名 datafile '数据文件名' size 表空间大小。如:

create tablespace data_test datafile 'e:\oracle\oradata\test\data_1.dbf' size 2000M; create tablespace idx_test datafile 'e:\oracle\oradata\test\idx_1.dbf' size 2000M;

数据文件名包含全路径, 表空间大小2000M表是2000兆

==(2)、建好tablespace, 就可以建用户了== 格式: create user 用户名 identified by 密码 default tablespace 表空间名。如:

create user study identified by study default tablespace data_test;

我们创建一个用户名为 study,密码为 study, 缺省表空间为 data_test。==缺省表空间==++表示用户study今后的数据如果没有专门指出,其数据就保存在 data_test中,也就是保存在对应的物理文件 e:\oracle\oradata\test\data_1.dbf中++

2.创建用户并指定表空间 CREATE USER cici IDENTIFIED BY cici PROFILE DEFAULT DEFAULT TABLESPACE CICI ACCOUNT UNLOCK; create user jykl identified by jykl default tablespace jykl_data temporary tablespace jykl_temp; 授权给新用户 GRANT connect, resource TO cici; grant create session to cici;

==(1)、授权给新用户==

grant connect,resource to study;

表示把 connect,resource权限授予study用户 grant dba to study; --表示把 dba权限授予给 study ==(2)、创建数据表== 在上面,我们已建好了用户 study 我们现在进入该用户 sqlplusw study/study@test 然后就可以在用户study中创建数据表了 格式: create table 数据表名

二、表空间详解

==1、建立表空间==

CREATE TABLESPACE data01 DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k

==2、建立UNDO表空间==

CREATE UNDO TABLESPACE UNDOTBS02 DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M #注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间: ALTER SYSTEM SET undo_tablespace=UNDOTBS02;

==3、建立临时表空间==

CREATE TEMPORARY TABLESPACE temp_data TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M

==4、改变表空间状态==

(1)使表空间脱机 ALTER TABLESPACE game OFFLINE; 如果是意外删除了数据文件,则必须带有RECOVER选项: ALTER TABLESPACE game OFFLINE FOR RECOVER; (2)使表空间联机 ALTER TABLESPACE game ONLINE; (3)使数据文件脱机 ALTER DATABASE DATAFILE 3 OFFLINE; (4)使数据文件联机 ALTER DATABASE DATAFILE 3 ONLINE; (5)使表空间只读 ALTER TABLESPACE game READ ONLY; (6)使表空间可读写 ALTER TABLESPACE game READ WRITE;

==5、删除表空间==

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

==6、扩展表空间==

(1)首先查看表空间的名字和所属文件 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; (2)表空间扩容 方法1:增加数据文件 ALTER TABLESPACE game ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M; 方法2:手动增加数据文件尺寸: ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf' RESIZE 4000M; 方法3:设定数据文件自动扩展 ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf AUTOEXTEND ON NEXT 100M MAXSIZE 10000M; (3)设定后查看表空间信息 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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有