精华内容
下载资源
问答
  • 2020-05-08 11:12:09

    以下创建的是永久表空间和临时表空间

    语法

    1、创建永久表空间

    create tablespace 表空间名字 datafile ’ 文件名.dbf ’ size 数据文件的大小值
    1)、datafile :表空间的当中数据文件的名字
    2)、size: 表示数据文件的大小,后面跟着的是它的值
    3)、文件名.dbf :如果你没有指定数据文件的路径,它会默认存放到我们的Oracle的安装目录下面
    案例如下:

    SQL> create tablespace test1_tablespace
      2  datafile 'test2file.dbf'size 10m;
    
    表空间已创建。
    

    2、创建临时表空间

    create temporary tablespace 表空间名字 tempfile’ 文件名.dbf ’ size 数据文件的大小值
    1)、tempfile:表示一个临时文件
    2)、size 表示数据文件的大小,后面跟着的是它的值
    3)、文件名.dbf :如果你没有指定数据文件的路径,它会默认存放到我们的Oracle的安装目录下面
    案例如下

    SQL> create temporary tablespace temptest1_tablespace
      2  tempfile 'tempfile1.dbf' size 10m;
    
    表空间已创建。
    
    更多相关内容
  • oracle创建表空间

    千次阅读 2021-01-27 09:10:12
    不同于mysql有多个数据库, oracle新增了表空间和用户的概念,表空间是虚拟的,并且只有一个数据库,为了方便维护,一般一个表空间上只创建一个用户; 这里的用户名类似于mysql的数据库名,oracle的用户名.表名等价...

    转至:https://liujianshiwo.iteye.com/blog/1988094

    不同于mysql有多个数据库, oracle新增了表空间和用户的概念,表空间是虚拟的,并且只有一个数据库,为了方便维护,一般一个表空间上只创建一个用户;

    这里的用户名类似于mysql的数据库名,oracle的用户名.表名等价于mysql的数据库名.表名;因此在写兼容mysql和oracle的语句时可以用到。

    oracle安装完数据库的一般流程:先建表空间(分区)–>再建用户(分配相应的表空间和用户权限)–>登陆用户,建表

    1. 创建表空间
      create tablespace xin_datafile
      datafile ‘C:\kingstar\orcltb\xin_tb1.dbf’ size 500M --存储地址 初始大小500M
      autoextend on next 10M maxsize 200M --每次扩展10M,无限制扩展 unlimited
      extent management local autoallocate
      segment space management auto;

    –创建临时表空间
    create temporary tablespace user_temp
    tempfile ‘D:\oracle\oradata\Oracle9i\user_temp.dbf’ size 50m
    autoextend on next 50m maxsize 20480m
    extent management local;

    –删除表空间
    DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

    –表空间属性

    每块的字节大小:8192

    表空间自增量:increment_by8192 byte ; 换算: increment_by8192/1024/1024 M 或者 increment_by/128M

    注意*:若表空间初始化大小为500M,阀值为1G,自增量为300M,自增一次后的表空间大小为800M,不会受自动扩展容量的限制,最终会扩展为与阀值相等。

    –查询表空间信息

    select * from dba_data_files t order by tablespace_name;

    –建立UNDO表空间

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

    –改变表空间状态

    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;

    –扩展表空间

    首先查看表空间的名字和所属文件
    select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;

    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;

    设定后查看表空间信息
    SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES100)/A.BYTES “% USED”,(C.BYTES100)/A.BYTES “% FREE”
    FROM SYS.SM T S A V A I L A , S Y S . S M TS_AVAIL A,SYS.SM TSAVAILA,SYS.SMTS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE

    2.创建用户

    create user test identified by test

    default tablespace SIRM2

    temporary tablespace TEMP
    profile DEFAULT;

    –创建用户并指定表空间
    create user username identified by password
    default tablespace user_data
    temporary tablespace user_temp;

    –删除用户命令
    drop user user_name cascade;

    3.授权

    grant dba to test;
    grant connect to test;
    grant resource to test;

    –给用户授予权限
    grant connect,resource to username;
    撤权:
    revoke 权限… from 用户名;

    1. SYS用户在CMD下以DBA身份登陆:
      在CMD中打sqlplus /nolog
      然后再 conn / as sysdba

    附加1:

    oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间。(https://www.cnblogs.com/fnng/archive/2012/08/12/2634485.html)

    表空间属性:

    一个数据库可以包含多个表空间,一个表空间只能属于一个数据库

    一个表空间包含多个数据文件,一个数据文件只能属于一个表空间

    表这空间可以划分成更细的逻辑存储单元

    Oracle数据库的存储结构:

    从逻辑的角度来看,一个数据库(database)下面可以分多个表空间(tablespace);一个表空间下面又可以分多个段(segment);一个数据表要占一个段(segment),一个索引也要占一个段(segment )。 一个段(segment)由多个 区间(extent)组成,那么一个区间又由一组连续的数据块(data block)组成。这连续的数据块是在逻辑上是连续的,有可能在物理磁盘上是分散。

    那么从物理的角度上看,一个表空间由多个数据文件组成,数据文件是实实在在存在的磁盘上的文件。这些文件是由oracle数据库操作系统的block 组成的。

    Segment(段) :段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。

    Extent (区间):分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象.

    附加2:oracle 表空间创建 格式及属性说明:http://blog.sina.com.cn/s/blog_3cae66560102w0vk.html

    一、创建表空间完整的格式

    CREATE [UNDO|TEMPORARY] TABLESPACE tablespace_name

     DATAFILE 'path/filename' [SIZE INTEGER[K| M]]  [REUSE] 
    
     [AUTOEXTEND [OFF | ON ] ]
    
     [NEXT INTEGER[K | M]]
    
     [MAXSIZE [UNLIMITED | INTEGER[K | M]]]
    
     [MINIMUM EXTENT INTEGER[K | M]]
    
     [BLOCKSIZE integer [k]]
    
     [DEFAULT STORAGE storage_clause]
    
     [ONLINE | OFFLINE]
    
     [LOGGING | NOLOGGING]
    
     [FORCE LOGGING]
    
     [EXTENT MANAGEMENT [DICTIONARY | LOCAL]]
    
     [AUTOALLOCATE | UNIFORM [SIZE INTEGER[K | M]]]
    
     [SEGMENT SPACE MANAGEMENT [AUTO | MANUAL]]
    

    二、表空间格式说明

    1、UNDO

      说明系统将创建一个回滚表空间。
    
       在9i中数据库管理员可以不必管理回滚段,只有建立了undo表空间,系统就会自动管理回滚段的分配,回收的工作。当然,也可以创建一般的表空间,在上         面创建回滚段.不过对于用户来说,系统管理比自己管理要好很多.如果需要自己管理,请参见回滚段管理的命令详解.
    
       当没有为系统指定回滚表空间时,系统将使用system系统回滚段来进行事务管理。
    

    2、tablespace_name表空间名满足oracle的命名规范即可。

    3、DATAFILE ‘path/filename’ [SIZE INTEGER[K| M]] [REUSE]

      指定一个或多个数据文件路径和文件名,[SIZE INTEGER[K| M]]用来指定表空间在数据文件中所占的空间大小,K|M是说大小的单位是K还是M。
    
      [REUSE] 如果创建表空间指定的数据文件已经存在,则需要使用reuse注明,否则会报错。
    
      ERROR at line 1:
    

    ORA-01537: cannot add data file ‘E:\oracle\oradata\10.1.0\ZRPTEST\TB_TEST1.dbf’

    • file already part of database

    4、[AUTOEXTEND [OFF | ON ] ]

      禁止或允许自动扩展数据文件,默认情况下为OFF
    

    5、[NEXT INTEGER[K | M]]

      指定当需要更多盘区时分配给数据文件的磁盘空间,以K或M为单位。
    

    6、[MAXSIZE [UNLIMITED | INTEGER[K | M]]]

      指定允许分配给数据文件的最大磁盘空间,当为UNLIMITED时表示只有当磁盘空间满时,才不允许再扩展数据文件。
    

    7、[MINMUM EXTENT INTEGER[K | M]]

      指定盘区大小是指定大小的整数倍。即initial和next盘区大小应为minimum extent的整数倍,这个参数可以减小空间碎片,保证表空间的范围是这个值的整数倍。
    
      【注:minextents 用于指定在创建时分配给段的盘区总数。使用这个参数,即使可用空间是不连续的,在创建对象时也能分配很大的空间。默认                    值和最小值都是1。如果minextents>1,盘区大小以next和pctincrease为基础计算。】
    

    8、[BLOCKSIZE integer [k]]

        这个参数可以设定一个不标准的块的大小。如果要设置这个参数,必须设置db_block_size,至少一个db_nk_block_size,
    
        并且声明的integer的值必须等于db_nk_block_size.
    
       注意:在临时表空间不能设置这个参数。
    

    9、 [DEFAULT STORAGE storage_clause]

       表示为在该表空间创建的全部对象指定缺省的存储参数,没有指定时oracle将会为所有对象指定一些系统默认的存储参数。
    
       storage_clause的语法格式如下:
    
       STORAGE(
    
            INITIAL integer[K|M]       --为段分配第一个区的大小
    
            NEXT     integer[K|M]       --为第一个扩展分区的大小
    
            MINEXTENTS integer|UMLIMITED      --创建段时分配的最小总区间数
    
            MAXEXTENTS integer|UMLIMITED     --创建段时分配的最大总区间数
    
            PCTINCREASE integer                           --每次扩展增量的大小
    
            FREELISTS integer                                  --模式对象中每一个自由列表组中自由列表的数量,表、族或索引的每个空闲列表组中的列表数量。
    
            FREELISTS GROUPS integer                  --指定表、族或索引的每个空闲列表组数量。
    
         )
    

    10、[ONLINE | OFFLINE]

      ONLINE是指在创建表空间之后使该表空间立即对授权访问该表空间的用户可用。
    
      OFFLINE是指offline以后,未完成的事物可以提交或回滚,但不能发起新的事物,也不能进行查询。OFFLINE的四种模式
    
       (1)NORMAL:做检查点 
    
                 alter tablespace users  offline;           alter tablespace users online;
    
       (2)TEMPORARY:可以在数据文件损坏的情况下offline tablespace
    
                 alter tablespace users offline temporary;   alter tablespace users online;
    
       (3)IMMEDIATE:不做检查点,只有在归档模式下才可以offline tablespace,online时需要recover
    
                 alter tablespace users offline immediate;    recover tablespace users;       alter tablespace users online;
    
        (4)FOR RECOVER:在归档模式下才可以offonline,在基
    

    11、[LOGGING | NOLOGGING]

      指定日志属性,它表示将来的表、索引等是否需要进行日志处理。默认值为LOGGING
    

    12、[FORCE LOGGING]

       使用这个子句指出表空间进入强制日志模式。此时,系统将记录表空间上对象的所有改变,除了临时段的改变。这个参数高于对象的nologging选项。
    
       注意:设置这个参数指数据库不可以open并且进入读写模式。而且,在临时表空间和回滚表空间中不能使用这个选项。
    

    13、[PERMANENT | TEMPORARY]

       指出表空间的属性,是永久表空间还是临时表空间。永久表空间存放的是永久对象,临时表空间存放的是session生命期中存在的临时对象。
    
       这个参数生成的临时表空间创建后一直都是字典管理,不能使用extent management local选项。
    
       如果要创建本地管理表空间,必须使用create temporary tablespace
    
       注意,声明了这个参数后,不能声明block size
    

    14、[EXTENT MANAGEMENT [DICTIONARY | LOCAL]]

        [AUTOALLOCATE | UNIFORM [SIZE INTEGER[K | M]]]
    
        这是最重要的子句,说明了表空间如何管理范围。一旦你声明了这个子句,只能通过移植的方式改变这些参数。
    
        如果希望表空间本地管理的话,声明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.
    

    15、[SEGMENT SPACE MANAGEMENT [AUTO | MANUAL]]

       指定 表空间段的管理方式,AUTO为系统自动管理,MANUAL为手工管理。默认为AUTO。
    

    附加3:Oracle中分区表中表空间属性:https://blog.51cto.com/hbxztc/1929585

    展开全文
  • 创建表空间

    千次阅读 2018-04-15 11:15:23
     创建表空间要考虑的因素创建数据库完毕~ 创建所需的 非system表空间创建表空间空间数量 、对应数据文件大小 ~ 表空间存储管理方式、默认存储参数、块大小oracle本身 ~ 不限制表空间数目~ 限制于数据库...

    (四)、创建表空间

    1.  创建表空间要考虑的因素

    创建数据库完毕~ 创建所需的 非system表空间 ~

    创建表空间 ~ 空间数量 、对应数据文件大小 ~ 表空间存储管理方式、默认存储参数、块大小

    oracle本身 ~ 不限制表空间数目~ 限制于数据库所能拥有 数据文件数目 ~只能创建有限数的表空间

    表空间数据文件总和 ~ 不能超过 创建数据库时 ~指定的maxdatafiles参数的限制

    创建的表空间 ~默认下具有标准块大小 ~ 但也可创建具有非标准块大小的表空间


    datafile: 纸递给表空间所对应的数据文件

    size: 用于指定数据文件的尺寸

    extent management dictionary: 表空间中区的管理方式为字典管理凡是

    default storage: 用于指定默认存储参数设置。 当不设置默认存储参数时~ 系统自动使用system表空间的存储参数设置

    initial: 指定数据库对象所分配的第一个区的大小

    next: 指定数据库对象所分配的第二个区的大小

    minextents: 指定 数据库对象所分配的最少区个数

    maxentents: 指定数据库对象所分配的最多区个数

    pctincrease: 指定 从第三个区开始, 每个区比前一个区所增长的百分比

    size = next*(1+pctincrease/100)(n-2)

    n~ 表示第n个区, ~ 除第一个区和第二个区外,其他区尺寸会自动转变为db_block_size的整数倍


    2. 本地管理的表空间中的段空间管理

    create tablespace语句 ~创建一个 本地管理的表空间~

    可以使用 segment space management 子句 ~ 设定段内的可用/已用空间如何管理

    可选方式:

    2.1. auto

    这种设置下 ~ oracle使用位图管理段内可用空间 
    此处的位图 ~用于描述段内每个数据块 ~是否有足够的可用空间,来插入新数据。
    随着一个数据块中可用空间的变化,~ 及时在位图中反映她的状态。

    oracle使用位图~ 更加自动化的管理段内的可用空间。 ~自动段空间管理

    一个本地管理的 ~ 且自动段空间管理的表空间, ~ 可被创建为小文件表空间、 大文件表空间。

    创建本地管理表空间时, 自动段空间管理是默认值。


    2.2 manual

    该设置下, oracle使用可用块列表 free list ~管理段内的可用空间。

    可用块列表 ~ 记录了所有可以被用于插入新数据的 数据块


    (五)、 其他表空间操作

    1. 调整表空间大小

    查看表空间大小~ 数据占满了表空间 ~不能分配新的区,~用户不能插入数据记录

    dba改变表空间的尺寸 ~ 目前对象的大小、对象的增长速度、有规律的检查数据库对象的大小~

    快速增长的表上 ~ 经常查看表空间中的自由空间~主动增加表空间容量,~提高系统性能

    表空间 ~ 一个或多个数据文件
    表空间尺寸 ~表空间所有数据文件尺寸的总和

    表空间的大小 ~决定于数据文件的个数和大小


    调整表空间大小方法:

    重置数据文件大小: alter database datafile '' | fileno resize xx

    更改数据文件大小: 数据文件 ~ aotuextend (自动扩展)属性 ~自动调整数据文件的大小~

    也可以使用 alter tablespace 手动调整

    使用alter tablespace命令 ~ 添加新的数据文件给表空间


    1.1 数据文件的自动扩展属性(autoextend)

    激活数据文件的自动扩展选项 ~ 当数据占满数据文件所以空间 ~并且数据文件不能容纳新数据~
    系统自动扩展该数据文件。

    指定数据文件的 aotuextend子句 ~启用或禁用数据文件的自动扩展。

    文件按指定的增量增加 ~ 直到达到指定的最大值。


    使用autoextend子句优点:

    表空间的空间用尽时~无需过多的直接干预

    确保应用程序~不会由于未能分配区而暂停


    创建数据文件后,使用下列sql命令 ~启用数据文件的自动扩展:

    create tablespace

    alter tablespace


    autoextend off: 禁用
    autoextend on:启用

    next : 自动扩展是每次分配给数据文件的磁盘空间
    maxsize: 指定允许分配给该数据文件的最大磁盘空间

    unlimited: 数据文件磁盘空间设为不受限






    1.2 为表空间增加数据文件

    通过alter tablespace add datafile 命令 ~ 添加数据文件给表空间 ~增加分配给表空间的磁盘空间总量



    1.3 手工修改数据文件大小

    自动扩展选项 ~ 数据文件在数据写满时自动扩展 --》会导致递归空间操作,减低系统性能

    例: 使用sql*loader ~装载大批量数据给表emp ~数据写满数据文件 ~

    先扩展数据文件 ~才能装载数据 --》导致系统性能的降低。

    因此~ 执行批量数据装载操作前 ~ 先确定数据文件是否能够容纳足够的数据。

    如果不足,~应先扩展该数据文件~再装载数据。

    使用alter database命令 ~ 手动增加或减少 数据文件的大小

    而不必通过~ 添加数据文件、 更改自动扩展属性~ 来更改表空间的大小


    Integer: 字节为单位, 表示数据文件的绝对大小

    更改数据文件大小~ 如果比实际存储的数据库对象要小~ 大小只能减少到~
    数据文件内最后一个对象的最后一个块为止~

    保证缩减尺寸后的表空间~必须能容纳已存在的数据对象,否则提示出错信息




    2. 修改表空间读写属性

    表空间用于存放静态数据~ 不会对这些数据进行修改操作~将数据存放到只读设备上

    例:存放到光盘上

    表空间放到只读设备上~ 转变状态为只读状态。

    将表空间改为只读模式命令:


    执行命令时~ 自动回滚与表空间相关的所有事物 ~
    过度状态期间 ~ 不允许对表空间进行写入操作

    当所有事物处理提交 或者 回退后,~只读命令完成 ~表空间置于只读模式


    --》 执行命令后~ 表空间mytbs3 转变为只读状态。

    用户只能 执行查询操作select ~该表空间的对象上

    不能执行dml或ddl操作,~ 有一种ddl除外~

    可以执行 drop table 或drop index ~ 删除该表空间的表或索引

    因为这些命令 ~只影响数据字典(数据字典位于system表空间)

    drop命令只更新数据字典,~而不更新只读表空间上的物理文件


    对本地管理的表空间,~删除的段 将改为临时段 ~避免更新位图。

    将表空间设为只读状态前,~引发对表空间的数据文件 ~执行检查点操作

    表空间设为只读~可防止对表空间的数据文件进行任何写操作。

    因此,数据文件可~驻留在只读介质上,如cd-rom 或一次性写入(worm)驱动器

    使用只读表空间的好处~ 免去对数据库大量的静态数据执行备份


    要在只读表空间上~执行dml操作,~将表空间改为可写状态

    使用alter tablespace [tablespace] read|write命令~ 表空间内的所有数据文件必须联机




    3.修改表空间的online/offline属性

    通过表空间置于联机或脱机状态~来控制表空间可用性。

    表空间~联机状态~用户可访问其数据

    表空间~脱机状态,用户无法访问其数据,允许正常访问数据库~其余处于联机的表空间。


    dba让表空间脱机的几种情况

    使数据库的一部分表空间不可用,~但允许正常访问数据库的其余表空间

    执行脱机表空间备份~ (尽管表空间可以在~联机使用时备份)

    数据库打开时~ 恢复表空间或数据文件

    数据库打开时! 移动数据文件



    normal:将表空间所有数据文件内的所有块~从sga中写入数据文件~
    并将数据文件关闭。~缺省设置。

    在该表空间重新联机前~ 无须对其执行介质恢复。~尽可能使用normal子句

    temporary: 
    对表空间所有联机的数据文件~ 执行检查点操作~

    但是执行检查点时~并不检查数据文件的状态,~即使某些文件无法写入检查点~oracle也会忽略这些错误

    在使用此表空间重新联机之前,所有脱机文件可能都需要进行介质恢复


    immediate: 不保证表空间的文件可用,~而且不执行检查点操作

    表空间重新联机前,必须对其执行介质恢复操作


    for recover: 使表空间脱机~以进行表空间时间点恢复


    只要数据库打开,dba可以使任意一个表空间脱机~

    (system表空间和任何具有活动还原段或临时段的表空间除外)。

    当一个表空间脱机后,oracle服务器~ 将使与之相关联的所有数据文件脱机


    执行查询操作~用户将收到一条错误信息 ~ 

    因为表空间脱机后,~oracle不允许有任何sql语句引用该表空间含有的对象~即用户不能访问该表空间


    当表空间脱机或者重新联机后~ 该事件记录在数据字典和控制文件内。

    如果关闭数据库时表空间仍然脱机,-》当随后数据库装载并重新打开时~该表空间仍保持脱机状态且不会被检查。

    如果遇到某些错误,(例如~ 当数据库写入程序进程dbwn几次~

    试图向某表空间的数据文件写入都失败时)~ oracle实例自动~将表空间从联机状态切换为脱机状态

    不能设为脱机的表空间~ system表空间~具有活动的还原段的表空间,缺省临时表空间


    当希望访问表空间中的数据~ 如表、索引等对象时~表空间必须处于联机状态



    4.数据文件的脱机与联机

    类似于表空间~ 联机的数据文件也可以被设置为脱机状态。

    脱机的数据文件对于数据库~ 是不可用的~直至它们被恢复到联机状态为止

    数据文件发生损坏,~oracle自动将这个数据设置为脱机状态,~并记录于警告文件中

    如果损坏的文件恢复后,~需要手工方式重新将数据文件恢复为联机状态。


    数据文件设置为脱机状态,不会影响表空间的状态~

    相反,~将表空间设置为脱机状态~ 表空间的数据文件同时会进入脱机状态

    该表数据文件状态,~可使用alter database命令







    5. 数据文件的移动

    为防止数据丢失~和减少i/o冲突,提供i/o性能, ~尽可能将数据文件分布到不同磁盘上~

    并且尽可能均衡不同磁盘之间的i/o操作。


    移动数据文件 ~ 一方面出于性能方面的考虑,~另一方面出于安全考虑

    因此,在实际数据库应用中~ 可能会移动数据文件

    移动数据文件有两种方法 ~ 一种是使用alter tablespace命令,~
    另一种方法是使用alter database命令

    具体采用哪种方法取决于表空间类型

       5.1.使用alter tablespace命令


    它仅适用于~不含活动还原段或临时段的非system表空间中~数据文件的移动

    源文件名必须与存储在控制文件内的名称匹配~ 表空间必须脱机~
    并且to子句后的目标数据文件必须存在


    alter tablespace 命令重命名数据文件的步骤:

    使表空间脱机
    使用操作系统命令移动或复制文件
    执行alter tablespace rename datafile 命令
    使表空间联机

    必要时使用操作系统命令~删除原来的数据文件




    5.2 使用alter database命令

    alter database命令可用来~ 移动任意类型的数据文件,~但数据库必须处于已装载的状态~

    且目标数据文件必须存在。步骤如下:

    关闭数据库
    使用操作系统命令移动文件
    装载数据库

    执行alter database rename file命令

    打开数据库


    因为system表空间无法脱机~ 必须使用该方法移动system表空间内的数据文件。

    使用此命令重命名无法脱机的表空间内的文件。


    ----------------------------------------------------------
    (六)、删除表空间
    https://blog.csdn.net/u012596785/article/details/79951330

    展开全文
  • 临时表空间:主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索 引、IMP进行数据导入]、访问视图等操作时...

    表空间:此空间是用来进行数据存储的(表、function、存储过程等),所以是实际物理存储区域。
    临时表空间:主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索 引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。
    备注:因为用途不同所以才有了区分,实际上数据库都是有默认临时空间的,但实际应用中很难满足需求,所以才需要自己创建临时空间。

     

    匿名网友:

    oracle 数据库就是指的oracle 整体,一般一个机器上只安装一个oracle数据库
    oracle建立好以后,实际上oracle是一个一个的DBF文件,然后N个DBF文件组成一个表空间
    你的表就建立在表空间下,比如我举个例子:
    一个数据库叫jack,
    jack下用户使用的表空间有3个: users , abc, jacc
    其中
    users由d:\1.dbf组成
    abc由d:\11.dbf d:\22.dbf组成
    jacc 由 d:\jacc.dbf组成
    你建的表可以选择放在这3个表空间的任意一个里(如果不写,就放在你这个用户的默认表空间里,一般都是users,这个表空间是系统自己建立的)
    临时表空间你也可以用,但是只能将临时表放在里面,临时表空间主要放置一些临时数据,比如你查询一个复杂的sql语句,系统会将中间数据放在临时表空间里暂存
    临时表空间会自己删除(可以选择会话结束就删除)
    
    不知道我说明白了没,有问题欢迎继续追问
    展开全文
  • Oracle创建表空间

    万次阅读 多人点赞 2018-07-09 23:00:03
    数据库—表空间一个表空间可以与多个数据文件关联,一个数据库下可以建多个表空间一个表空间可以建立多个用户,一个用户下可以创建多张表。 (SQL) create tablespace mytablespace datafile 'c:\...
  • 为了合理管理业务数据、索引数据、...表空间介绍 表空间的类型: 永久表空间(PERMANENT TABLESPACE)、 临时表空间(TEMPTABLESPACE)、 撤销表空间(UNDO TABLESPACE) 表空间的管理方式:使用 EXTEN...
  • oracle环境为: Ubuntu 20.04.1 ...创建表空间 CREATE TABLESPACE SPACE1 //SPACE1 为表空间名 LOGGING DATAFILE '/home/oracle/tablespace/TRAFFIC.DBF' //表空间存放的位置 SIZE 32M //表空间初始大小
  • oracle 创建表空间

    千次阅读 2021-05-17 08:53:36
    创建临时表空间 CREATETEMPORARYTABLESPACEtest_tempTEMPFILE'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'SIZE32MAUTOEXTENDONNEXT32MMAXSIZE2048MEXTENTMANAGEMENTLOCAL; 创建用户表空间 ...
  • 开启oracle服务,打开plsql工具,使用管理员账户登录... 2 ...创建表空间。在sql窗口中输入create tablespace test datafile 'D:\test.ora' size 1000m;这里的test为表空间名称,路径自己来命名。然后点执行按钮。
  • Oracle 表空间

    千次阅读 2016-04-25 23:04:34
    Oracle磁盘空间管理中的最高逻辑层是表空间(TABLESPACE),它的下一层是段(SEGMENT),并且一个段只能驻留在一个表空间内。段的下一层就是盘区,一个或多个盘区(EXTENT)可以组成一个段,并且每个盘区只能驻留在...
  • 1.基本概念 ... 在安装Oracle时,你需要记住设置...用户名: sys(超级用户==sysdba) / system(管理员用户)Sys和system区别在于system不能创建表空间 system默认口令:manager sys默认默认:change_on_install 使用S...
  • 创建表空间 db2 “CREATE REGULAR TABLESPACE DMS_DBDATA IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32K MANAGED BY DATABASE USING (file ‘/data/DBDATA/rlvidx’ 500M) EXTENTSIZE 32 ...
  • Oracle 创建表空间和用户

    千次阅读 2020-05-27 23:53:20
    数据库 — 表空间一个表空间可以与多个数据文件(物理结构)关联 一个数据库下可以建立多个表空间一个表空间可以建立多个用户、一个用户下可以建立多个表。 创建空间必须使用具有超级管理员权限的用户,这里...
  • 达梦数据库创建表空间

    千次阅读 2020-04-12 20:41:27
    通过图形化界面在一个表空间下可以添加多个.dbf文件,其实,通过命令方式也可以创建一个表空间拥有多个.dbf文件,比如创建名为bookshop的表空间,要求有2个数据文件,每个数据文件大小为128M,命令如下: ...
  • 返回列表 ...Oracle创建一个表 如果不指定表空间 是不是就是用默认的system表空间 [问题点数:20分,结帖人huangbiao11]   不显示删除回复 显示所有回复  显示星级回复 显示得分回复 
  • oracle 创建一个用户并指定默认表空间和临时表空间 1. 创建临时表空间 SQL> create temporary tablespace test1temp tempfile '/home/u01/app/oracle/oradata/ytzx/test1temp01.dbf' size 10240m autoextend on...
  • 用SQL语句创建表空间

    千次阅读 2013-08-20 21:06:33
    使用SQL语句进行创建....1.创建表空间  -- 公共模块表空间 create tablespace cctc_core logging datafile '/ORACLE/PRODUCT/10.2.0/ORADATA/cctchdcq/cctc_core.dbf' size 100m autoextend on next 10m e
  • 开发过程中自己搭建测试数据库的次数不多,但建立新用户建新回经常碰到,整理方便日后开发,不需要再为此花费过多时间。 1.首先我们可以用scott用户以sysdba的身份登录oracle. conn scott/tiger as sysdba; 2....
  • PLSQL创建表空间和用户授权

    千次阅读 2019-05-06 13:01:25
    打开plsql,使用管理员用户sys,在哪个数据库创建表空间 在文件选项中选择命令窗口 在命令窗口中输入以下命令创建表空间 create tablespace yycg0730 logging datafile ‘C:\Oracle\product\11.2.0\dbhome_1\oradata...
  • 创建用户及表空间

    千次阅读 2014-12-15 00:27:44
    创建新的用户默认表空间DCSOPEN_TBS: 注: (1) 这里设置初始数据文件大小是200M,AUTOEXTEND属性默认自动增长,每次申请新的表空间时会分配32M,最多分配1024M。 (2) 这里未使用EXTENT MANAGEMENT LOCAL(可选),...
  • Oracle创建表空间创建临时表空间

    万次阅读 2017-12-21 11:33:38
    /*第1步:创建临时表空间 */ create temporary tablespace kc_temp tempfile 'C:\app\Administrator\oradata\orcl\kc_temp.dbf'  size 50m  autoextend on  next 50m maxsize 20480m  extent management ...
  • Oracle 19C 创建用户&表空间

    千次阅读 2020-07-19 16:41:13
    Oracle 19C 创建用户&表空间 声明:本次操作基于win10系统安装Oracle 19C 1.创建用户需要管理员权限 运行 cmd 按如下输入命令 sqlplus / as sysdba ...3.创建表空间 create tablespace 表空间
  • 达梦数据库创建表空间和用户

    千次阅读 2020-09-28 15:38:36
    表空间表空间就如同创建一个文件夹。创建一个单独的文件夹给你来专门放DM资料,这样在查找时就可以只搜索这个文件夹,而不是整个硬盘搜索,从而提高效率。 1、创建表空间 创建表空间的语法: CREATE TABLESPACE ...
  • 1、创建表空间 CREATE TABLESPACE DB_DATA LOGGING DATAFILE 'D:app/Administrator/oradata/NewDB/DB_DATA.DBF' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED ...
  • oracle创建表表空间深入学习

    千次阅读 2018-07-20 15:04:59
    Oracle创建表空间 创建表空间 ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的 oracle中的就是一张存储数据的...当然数据存放在磁盘最终是以文件形式,所以一盘一个数据空...
  • ORACLE12C 创建表空间的方法

    千次阅读 2018-06-09 12:57:01
    在oracle 数据库中,表空间是最大的概念,与用户独立,创建一个表空间,所有用户可以共用。接下来,讲解在oracle 12c 数据库中创建空间的方法,在oracle 12c 数据库中,默认表空间有UNDOTBS1,UESRS,SYSTEM,SYSAUX...
  • 1、在SQL Developer工具中,执行该语句 create temporary tablespace wjy_temp tempfile 'wjy_temp.dbf'  ...创建表空间创建用户并指定该用户的表空间、授予用户对表空间以及临时表空间的操作...
  • Oracle创建表空间

    万次阅读 2018-12-24 13:28:44
    创建表空间 ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的 oracle中的就是一张存储...当然数据存放在磁盘最终是以文件形式,所以一盘一个数据表空间包含一个以上的物理文件 数据...
  • Greenplum创建和管理表空间(Tablespace)

    千次阅读 2018-11-14 23:08:28
    目录   、概述 二、使用gpfilespace创建...表空间(Tablespace)允许数据库管理员在每机器上使用多文件系统(FileSystem),决定如何更好地使用物理存储空间来存储数据库对象。表空间被命名为在文件空间(Fil...
  • C语言 创建一个顺序

    千次阅读 2021-08-19 16:30:01
    #include<stdio.h> #include<stdlib.h> #define Size 5 //对Size进行宏定义,表示顺序申请空间的大小 /* 申请足够大小的物理空间之外,为了方便后期使用... //声明了一个名为head的动态数组(不确定大.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,195,588
精华内容 878,235
关键字:

创建一个表空间

友情链接: cp_2.rar