表空间(数据文件)、控制文件管理

表空间的管理(数据文件)

  • 创建Oracle基本表空间
    在创建Oracle表空间时,Oracle一共要做两件事:
    1、在数据字典和控制文件中记录新建的表空间信息
    2、在操作系统中创建指定大小的文件,作为与表空间对应的数据文件。
    举个例子:
    这里写图片描述
    这里创建了一个叫做test2的表空间,指定了数据文件的大小,位置‘/home/oracle/test/ORCL/datafile/’,指定了可以自动扩展,每次扩展大小为10m。避免了数据文件空间不够的尴尬情况。但是在创建表空间,有一些选项是可选的,一些事必选的,如下:
    这里写图片描述
    这样系统就会默认将数据文件建立在默认路径下,当然没有提供数据文件的扩展功能,如果数据量大于数据文件设定的值,则会报错无法写入数据。这里提供了如何查寻文件路径的语句:select file_id,file_name from dba_data_files;
  • 管理表空间
    创建表空间后,可以对表空间的一些属性以及数据文件进行相关操作,主要包括添加新的数据文件、修改数据文件大小、修改表空间状态、移动数据文件、删除表空间。

    • 增加数据文件
      如果表空间出现空间不足的情况,可以采用这种方式增加表空间的大小,需要使用到’alter tableplace’ 和‘add datafile’命令,如下:
      嘿嘿嘿

    • 修改数据文件
      增大表空间还有其他办法,就是增大表空间已有的数据文件的大小。在修改数据文件的大小时,需要先通过查询数据字典视图dba_data_files来了解数据文件的名称大小和路径等信息,如下
      这里写图片描述
      在修改数据文件的时候,需要用resize关键字,如下
      这里写图片描述
      之后可以进行相关验证:
      这里写图片描述

    • 修改表空间状态
      表空间的状态有离线(OFFLINE)、在线(ONLINE)、只读(READ ONLY)和读写(READ WRITE)四种,通过对状态设置可以对数据的可用性进行设置,通过数据字典可以了解表空间的状态:
      这里写图片描述
      如果将表空间状态修改为OFFLINE,如下:
      这里写图片描述
      表空间正常状态为ONLINE、READ WRITE。如果设置为OFFLINE,READ ONLY,在此表空间创建表的时候将会报错。

    • 移动数据文件
      在增加表空间的时候,一档碰到磁盘没有足够空间,可以将数据文件移动到另一个磁盘上。步骤如下:
      1.修改表空间为OFFLINE,防止其他用户对表空间进行修改,操作和上图一样
      2.复制数据文件到另一个磁盘上,修改数据文件的名称

      3.将表空间状态修改为ONLINE

      4.检查是否移动正确
      这里写图片描述

    • 删除表空间
      删除某个表空间需要使用DROP TABLESPACE语句:
      这里写图片描述

控制文件管理

每个Oracle数据库必须至少具有一个控制文件,它以二进制的形式存在。

  • 创建控制文件(多路复用)

    • shutdown immediate 后startup nomount
    • 创建新的控制文件,在创建时需要指定与当前数据库orcl相关的日志文件和相关的数据文件。如下:
      这里写图片描述
      解释一下个别的语法含义:
      norestlogs:清空日志
      noarchivelog:表示非归档
      maxlogfiles:设置最大的日志文件个数
      maxlogmembers:设置日志文件组中最大的成员个数
      maxdatafiles:设置最大的数据文件个数
      maxinstance:设置最大的实例个数
      maxloghistory:设置最大的历史日志文件个数
    • 修改服务器参数文件SPFILE中的参数control_files的值,使创建的控制文件生效。如图:
      这里写图片描述
    • 打开数据库
      这里写图片描述
  • 控制文件的备份与恢复
    为了提高数据库的可靠性,降低由于丢失控制文件造成不必要后果的可能性,备份控制文件便成为了一种保障措施。备份控制文件有两种方法:一种是备份为二进制文件,另一种是备份为脚本文件。

    • 备份为二进制文件
      这里写图片描述
    • 备份为脚本文件
      备份脚本文件实际上是生成创建控制文件的SQL脚本。如图:
      这里写图片描述
      由于在创建脚本的过程中未指定该文件的路径与名称,这些事都有参数 user_dump_dest 指定,如下:
      这里写图片描述

    • 恢复控制文件只要将备份过得控制文件覆盖到已损坏的控制文件,并且将文件名称改为原来控制文件名称就可以了。

  • 控制文件的移动与删除
    如果遇到磁盘出现故障,导致控制文件所在的物理位置无法被读取,现在就需要把控制文件移动到其他位置,或者删除文件,重新建一个新的控制文件。
    • 移动控制文件
      移动控制文件其实就是改变SPFILE中control_file的值,使其指向新的文件路径。首先查看当前控制文件所在的位置,通过数据字典V$spparameter,如图:
      视图
      使用alter 语句,修改服务器参数文件SPFILE中control_files参数,如下:
      视图
      设置好相应参数的值之后,便可以将控制文件移动到相对应的文件位置下面。在启动成功后,将原位置的控制文件删除。
    • 删除控制文件
      删除控制文件和移动控制文件的步骤很像。首先将SPFILE参数中减少相对应控制文件的参数,如图
      这里写图片描述
      然后关闭数据库之后,到相对应的磁盘删除相对应的控制文件。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值