• Oracle学习笔记:oracle的表空间管理和sqlserver的文件组对比


    sqlserver里对数据库文件的管理比较简单,主要的概念有:

      1.文件组。数据库对象的存储分配单位 。目的是为了容纳更多的数据库文件、扩展空间

      2.文件。文件组的成员,有空间分配是否自动增长的管理

      3.默认文件组

      4.只读文件组。这是在sqlserver2005后才有的概念,sqlserver2000没有!

      5.master、tempdb数据库。用于基本的字典、临时空间管理

    oracle里对数据库文件的管理就比较复杂了,基本的概念:

      1.表空间

      2.表空间的数据文件成员

      3.默认表空间

      4.只读表空间

      5.脱机表空间

      6.脱机表空间数据文件成员

      7.system、sysaux、undo、temporary表空间专门作为数据自动、undo、临时空间存在

      8.bigfile文件

      9.对空间进行[logging|nologging|force logging]

    从上的基本对比中:

      1.oracle的空间管理有sqlserver所没有的许多特性

      2.oracle的管理变得复杂了。其实某些特性完全可以依赖于os,也许这就是oracle为了平台无关所做的妥协吧

    oracle表空间的基本要素

      1.性质:用户的永久表空间、undo表空间、temporary表空间

      2.是否使用bigfile特性

      3.名称

      4.表空间文件成员,如果使用bigfile特性,只能使用一个文件成员:datafile、tempfile

      5.是否记录日志:logging、nologging、force logging。不能用户temporary、undo表空间上

      6.是否联机:noline、offline

      7.数据块尺寸:blocksize {2k、4k......}。必须要相应配置db_nk_cache_size初始化参数。且值不能小于os的块大小!temporary表空间不能使用非标准的数据块!

      8.扩展区管理模式:extent management {dictionary|local [autoallocate|uniform [size n[m|k|g..]] ]}。注意temporary、undo表空间各有特殊要求!

      9.段管理模式:segment space management {auto|manual}。不能用户temporary、undo表空间上

      10.闪回特性是否打开:flashback {on|off}。不能用户temporary、undo表空间上

      11.闪回保留模式:retention {guarantee|noguarantee}

    oracle的和表空间相关的基本操作

      0.注意:

        1.temporary表空间只能使用add tempfile file-spec一个语句

        2.undo表空见可以修改的地方也十分有限

        3.system表空间不允offline 和 read

        ......

      1.增加表空间:create [bigfile] tablespace tbs_name datafile file-spec,..

      2.修改表空间:增加、删除文件:alter tablespace tbs_name {add|drop} {datafile|tempfile}file-spec,..

      3.修改表空间:移动、重命名文件:alter tablespace tbs_name rename datafile  file-spec,.. to file-spec,..

      4.修改表空间:联机、脱机文件:alter tablespace tbs_name  {datafile|tempfile}{online|offline}

      5.修改表空间:表空间名称:alter tablespace tbs_name rename to new_tabs_name

      6.修改表空间:日志模式:alter tablespace tbs_name {logging|nologging|[no] force logging}

      7.修改表空间:表空间联机、脱机模式:alter tablespace tbs_name {online|offline}

      8.修改表空间:修改读、写模式:alter tablespace tbs_name read {only|write}

      9.修改表空间:修改闪回模式:alter tablespace tbs_name flashback {on|off}

      10.修改表空间:修改闪回数据保留模式:alter tablespace tbs_name retention{guarantee|noguarantee}

      11.修改表空间:修改bigfile文件的尺寸:alter tablespace tbs_name resize n{k|m|g|t}

      12.修改表空间:修改bigfile文件的区自动扩展模式:alter tablespace tbs_name autoextend {off|on [next n maxsize [m|unlimited] ]}

      13.修改表空间:修改temporary空间的组模式:alter tablespace tbs_name group {group_name|‘’}

      14.修改表空间:在permanent 和 temporary模式间转换:alter tablespace tbs_name {permanent|temporary}。转化前需要考虑temporay表空间的诸多限制,否则不会成功

      15.修改表空间:修改是否在线backup模式:alter tablespace tbs_name {begin|end} backup

      16.修改表空间:修改读、写模式:alter tablespace tbs_name read {only|write}

      17.设置默认表空间:alter database set default [temporary] tablespace tbs_name

      18.删除表空间:drop tablespace tbs_name [including contents [{and|keep} datafiles]]  [cascade contraints]

      19.omf管理方式。只要设置db_create_file_dest即可。并且可以和用户定义方式混合使用

      20.查询表空间的基本信息:select * from dba_tablespaces;select * from v$tablespace;

      21.查询表空间数据文件的基本信息:select * from dba_data_files;select * from v$datafile;

      22.查询temporary表空间、数据文件的基本信息:select * from dba_temp_files;select * from v$tempfile;select * from dba_tablespace_groups;

      23.修改数据库:修改数据、临时文件的大小:alter database {datafile|tempfile} file-spec,.. resize n{k|m|g|t}。不限于bigfile或smallfile。

      24.修改数据库:修改数据、临时文件的区自动扩展模式:alter database {datafile|tempfile} file-spec,.. autoextend {off|on [next n maxsize [m|unlimited] ]}。不限于bigfile或smallfile。

      25.修改数据库:移动、重命名文件:alter database rename file  file-spec,.. to file-spec,..

      26.修改数据库:联机、脱机文件:alter database {datafile|tempfile} file-spec,..{online|offline}。如果是datafile offline 可以 选择 for drop

      27.修改数据库:删除tomporay文件:alter database tempfile file-spec,.. drop  [including datafiles]

      28.修改数据库:创建datafile文件:alter database create datafile  { file-spec,.. | newfilenumber} as {file-spec,.. | new

      29.修改数据库:重命名redo文件:alter database rename redo-file-spec,.. to redo-file-spec,..

      30.修改数据库:创建redo文件组:alter database add [standby] logfile [group n]  redo-file-spec,..

      31.修改数据库:创建redo文件组成员:alter database  add [standby] logfile member redo-file-spec,... to group n

      32.修改数据库:删除redo文件组:alter database  drop [standby] logfile { redo-file-spec|group n

      33.修改数据库:删除redo文件组成员:alter database  drop [standby] logfile member redo-file-spec,...

      34.修改数据库:创建物理、逻辑 standby controlfile文件:alter database  create [logical|physical] standby controlfile as ctlfilespec [reuse]

      35.修改数据库:备份controlfile到指定的全路径文件:alter database backup controlfile to   ctlfilespec [reuse]

      36.修改数据库:备份controlfile到指定的、或默认的跟踪文件:alter database backup controlfile to trace [as ctlfilespec ] [reuse] [{resetlogs|noresetlogs}]

      37.修改数据库:删除redo文件组成员:alter database 

    附记:oracle数据库文件的管理

      oracle的数据库文件,用在以下语句上:

        1.create database

        2.alter database

        3.create controlfile

        4.create tablespace

        5.alter tablespace

      oracle的数据库文件主要有两种类型:datafile_tempfile、redo_logfile。其主要区别在于:redo_logfile文件不能自动autoextend!

      指定数据库文件的主要规范如下:

        ‘full_path_filename’  [size n]  [reuse]  [autoextend {off|on next maxsize {unlimited|m}}]

        注意:

          size 可以有多种文字单位{k|m|g|t|p|..},但是如果不指定单位,就是byte字节

          对于undo表空间的文件,必须指定size。其他的表空间如果文件已经存在 或者 使用 omf 可以不指定size     

          如果忽略autoextend :

                    对于omf,如果指定了size 则禁止扩展;否则自动扩展

                    对于用户定义的文件,禁止

          ............................苍天啊、大地啊,默认全部都是自动多好啊!!!.........................................

  • 相关阅读:
    [强网杯青少年专项赛] 惨惨战队WriteUp
    [BUUOJ记录] [HCTF 2018]WarmUp
    [WUST-CTF]Web WriteUp
    PHP check 的一些绕过技术
    [易霖博YCTF]Web WriteUp
    Java backup
    Common Knowledge
    一篇帖子教会你如何获取网盘数据
    python爬虫如何爬知乎的话题?
    浏览器的复制到剪切板功能,兼容所有浏览器,悬浮层不能复制问题解决
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1397753.html
Copyright © 2020-2023  润新知