`
aben328
  • 浏览: 1451887 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

【转】Oracle Tablespace创建

阅读更多
【转】Oracle Tablespace创建
2009-

Tablespace

ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额.

  因此,在创建对象之前,首先要分配存储空间.  
   分配存储,就要创建表空间:  
   创建表空间示例如下:
   CREATE TABLESPACE "SAMPLE"
    LOGGING
    DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M
    EXTENT    MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
上面的语句分以下几部分:
第一: CREATE TABLESPACE "SAMPLE"  创建一个名为 "SAMPLE" 的表空间.    对表空间的命名,遵守Oracle 的命名规范就可了.   ORACLE可以创建的表空间有三种类型:(1)TEMPORARY: 临时表空间,用于临时数据的存放;创建临时表空间的语法如下:CREATE TEMPORARY TABLESPACE "SAMPLE"......   (2)UNDO : 还原表空间. 用于存入重做日志文件. 创建还原表空间的语法如下:CREATE UNDO TABLESPACE "SAMPLE"......(3)用户表空间: 最重要,也是用于存放用户数据表空间    可以直接写成: CREATE TABLESPACE "SAMPLE"TEMPORARY 和 UNDO 表空间是ORACLE 管理的特殊的表空间.只用于存放系统相关数据.第二:   LOGGING
有 NOLOGGING 和 LOGGING 两个选项,      NOLOGGING: 创建表空间时,不创建重做日志.     LOGGING 和NOLOGGING正好相反, 就是在创建表空间时生成重做日志.用NOLOGGING时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择 NOLOGGING,以加快表空间的创建速度.
第三: DATAFILE 用于指定数据文件的具体位置和大小.如: DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M 说明文件的存放位置是 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' , 文件的大小为5M.如果有多个文件,可以用逗号隔开:DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M,
    'D:\ORACLE\ORADATA\ORA92\dd.ora' SIZE 5M 但是每个文件都需要指明大小.单位以指定的单位为准如 5M 或 500K.对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少IO竟争.指定文件名时,必须为绝对地址,不能使用相对地址.
第四: EXTENT MANAGEMENT LOCAL 存储区管理方法在Oracle 8i以前,可以有两种选择,一种是在字典中管理(DICTIONARY),另一种是本地管理(LOCAL ),从9I开始,只能是本地管理方式.因为LOCAL 管理方式有很多优点.在字典中管理(DICTIONARY): 将数据文件中的每一个存储单元做为一条记录,所以在做DM操作时,就会产生大量的对这个管理表的Delete和Update操作.做大量数据管理时,将会产生很多的DM操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片,这就是为什么要做磁盘整理的原因.本地管理(LOCAL): 用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘. 同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。
第五: SEGMENT SPACE MANAGEMENT   磁盘扩展管理方法:SEGMENT SPACE MANAGEMENT: 使用该选项时区大小由系统自动确定。由于 Oracle 可确定各区的最佳大小,所以区大小是可变的。UNIFORM SEGMENT SPACE MANAGEMENT:指定区大小,也可使用默认值 (1 MB)。
第六: 段空间的管理方式: AUTO: 只能使用在本地管理的表空间中. 使用LOCAL管理表空间时,数据块中的空闲空间增加或减少后,其新状态都会在位图中反映出来。位图使 Oracle 管理空闲空间的行为更加自动化,并为管理空闲空间提供了更好的性,但对含有LOB字段的表不能自动管理.MANUAL: 目前已不用,主要是为向后兼容.第七: 指定块大小. 可以具体指定表空间数据块的大小.创建例子如下:
1 CREATE TABLESPACE SAMPLE
2      LOGGING
3      DATAFILE 'D:\ORACLE\ORADATA\ORA92\SAMPLE.ora' SIZE 5M,
4      'D:\ORACLE\ORADATA\ORA92\dd.ora' SIZE 5M
5      EXTENT MANAGEMENT LOCAL
6      UNIFORM SEGMENT SPACE MANAGEMENT
7      AUTO

然后就是建立用户和指定用户的表空间
create user test_user identified by test_user default tablespace
SAMPLE Temporary TABLESPACE Temp;
;
grant connect,resource to test_user;
commit;


表空间已创建。要删除表空间进,可以SQL> DROP TABLESPACE SAMPLE;表空间已丢弃。

PS:查看当前的数据库文件存放路径
select name from v$datafile;

10-20 09:01

 

分享到:
评论

相关推荐

    创建Oracle表空间

    tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:创建数据表空间 */ create tablespace test_data ...

    oracle数据库创建表空间和用户

    oracle数据库导入、导出数据、创建表空间、创建用户、用户授权等操作

    Oracle数据库创建和授权

    DROP TABLESPACE ELWY_TEMP INCLUDING CONTENTS AND DATAFILES; -- 创建临时表空间 CREATE TEMPORARY TABLESPACE ELWY_TEMP TEMPFILE 'E:\DataBase\Oracle\ELWY_TEMP.DBF' SIZE 100m AUTOEXTEND ON NEXT 50m ...

    oracle 创建表空间脚本

    oracle 创建表空间脚本 create tablespace

    Oracle_tablespace_(表空间)的创建、删除、修改、扩展及检查等

    Oracle_tablespace_(表空间)的创建、删除、修改、扩展及检查等

    oracle试题

    oracle 期末考试试题及答案 在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将( )表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS

    Oracle数据库创建表空间

    –Oracle数据库创建表空间 create tablespace new_taspace –表空间名 DATAFILE 'D:NEWTABLESPACE.DBF' –表空间关联的数据文件和位置 size 200M –文件初始大小 autoextend on next 20MB MAXSIZE 400MB; –...

    oracle 创建用户

    oracle 快速创建用户 1、oracle10g 管理控制台: http://localhost:1158/em 用system用户创建自己的用户、权限;sql语句如下: 2、创建用户: create user username identified by pwd default tablespace users ...

    oracle对象创建

    Alter user <user> default tablespace <tablespace> Alter user <user> quota <size> on <tablespace> Alter user <user> account lock|unlock Alter user <user> identified by Alter user <user> password ...

    oracle创建表空间文档

    CREATE USER "SPSX" PROFILE "DEFAULT" IDENTIFIED BY "12345678" DEFAULT TABLESPACE "SPSX" TEMPORARY TABLESPACE "SPSX_TEMP" ACCOUNT UNLOCK;

    Oracle 创建表空间

    CREATE TABLESPACE ... DATAFILE 'D:\oracleData\tablespace\tcyTableSpace.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

    oracle数据库建表空间、分配权限

    oracle数据库建表空间、分配权限 ...create temporary tablespace cppa_w_temp tempfile 'd:\oracle\datafile\cppa_w_temp.dbf' size 200m autoextend on next 100m maxsize 500m extent management local;

    oracle 建库和表空间视频

    oracle create tablespace 好看的视屏 视频

    Oracle从创建用户到创建数据库

    以Oracle 11g为例。...  下面将从创建用户开始到创建数据库,解决一些遇到的问题,Oracle实验版本为11g。创建用户的SQL语句为:   create user 用户名 identified by 密码 default tablespace 表空间名

    Oracle12C示例库表结构.sql

    在Oracle12C中,默认是没有scott开启用户的,需要自己创建,并赋予权限,但是创建scott用户是会报错(提示公用用户名或角色名无效),故而创建的用户为 C##SCOTT。 如何创建,大家可以参考下面的语句(在命令行中...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    linux下的Oracle数据库安装,卸载和静默安装

    1.写参数文件,创建实例: vi $ORACLE_HOME/dbs/initorcl.ora 写入以下内容: compatible=10.2.0.1 instance_name=orcl db_name=orcl sga_target=500M sga_max_size=500M job_queue_processes=10 undo_management=...

    Oracle安装及数据库和表的创建

    Oracle安装及数据库和表的创建基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间 通过CREATE TABLESPACE命令创建表空间

    oracle创建表空间

    创建表空间的技巧 create temporary tablespace SHIZHENG_TEMP tempfile 'D:\oraclexe\oradata\XE\shizheng_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

    oracle 创建和删除索引

    删除索引 drop index CUS_LOWER_ENERGY_JLDNY; 新建一个索引 ... tablespace TS_DSM_INDEX pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );

Global site tag (gtag.js) - Google Analytics