操作OMF(Oracle Managed Files,Oracle管理的文件)

无论何时使用文件名称来指定一个已经存在的文件时,OMF的文件名称在SQL语句中都被接受。OMF操作和非OMF不同的地方是在删除或重命名等操作时文件总是会被自动删除。

这些文件名称,与其它文件名称一样,存储在控制文件中。如果使用RMAN来备份和恢复,则也存储在RMAN恢复目录。它们在所有的常用的用来监控数据文件和临时文件的固定和动态性能视图(例如,V$DATAFILE或DBA_DATA_FILES)中是可见的。

下而是使用数据库生成的文件名称的语句示例:
SQL> ALTER DATABASE
2> RENAME FILE ‘/u01/oradata/mydb/datafile/o1_mf_tbs01_ziw3bopb_.dbf’
3> TO ‘/u01/oradata/mydb/tbs0101.dbf’;

SQL> ALTER DATABASE
2> DROP LOGFILE ‘/u01/oradata/mydb/onlinelog/o1_mf_1_wo94n2xi_.log’;

SQL> ALTER TABLE emp
2> ALLOCATE EXTENT
3> (DATAFILE ‘/u01/oradata/mydb/datafile/o1_mf_tbs1_2ixfh90q_.dbf’);

可以像相应的非OMF一样备份和恢复Oracle管理的数据文件,临时文件和控制文件。使用数据库生成的文件名称不是影响逻辑备份文件如export文件的使用。这对于表空间的时间点恢复(TSPITR)和可传输的表空间export文件是非常重要的。

有些情况下OMF的行为会不一样,包括删除或重命名文件的操作,以及涉及到备数据库的操作。


1.删除数据文件和临时文件

不像不被数据库管理的文件,当删除Oracle管理的数据文件或临时文件时,文件名称会从控制文件中移除,文件也会从文件系统中自动删除

删除OMF的语句是:
1) DROP TABLESPACE
2) ALTER DATABASE TEMPFILE … DROP

也可以使用以下语句,总是用来删除OMF或非OMF文件:
1) ALTER TABLESPACE … DROP DATAFILE
2) ALTER TABLESPACE … DROP TEMPFILE


2.删除redo日志文件

当删除Oracle管理的redo日志文件时,它的OMF会被删除。可以指定删除的组或成员。

删除redo日志文件的语句:
1) ALTER DATABASE DROP LOGFILE
2) ALTER DATABASE DROP LOGFILE MEMBER


3.重命名文件

对于OMF,重命名文件的SQL语句实际上并不重命名操作系统中的文件,而是更改控制文件中的名称

重命名文件的语句:
1)ALTER DATABASE RENAME FILE
2)ALTER TABLESPACE … RENAME DATAFILE

当执行语句时必须使用传统的操作系统中的文件名称来指定每个文件名称。

注:如果旧的文件是OMF,而且它存在,那么它会被删除


4.管理备数据库

在备数据库中的数据文件,控制文件和redo日志文件可以由数据库管理。不依赖于主数据库上是否在使用OMF。

当备数据库的恢复遇到创建数据文件的redo时,如果数据文件是OMF,那么恢复进程在本地的缺省文件系统位置上创建一个空的文件。这允许新文件的redo可以立即被应用而不需要任何入工介入。

当备数据库的恢复遇到删除表空间的redo时,它删除任何本地文件系统中的OMF。注意这不依赖于主数据库上执行的INCLUDING DATAFILES选项。



来源:《Oracle Database Database Administrator’s Guide, 19c》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一部分sql基础 9 基本查询语句 9 实验1:书写一个最简单的sql语句,查询一张表的所有行和所有列 9 实验2:查询一张表的所有行,但列的顺序我们自己决定 10 实验3:查询表的某些列,在列上使用表达式 10 实验4:使用sqlplus,进入sqlplus并进行简单的操作 11 实验5:查看当前用户的所有表和视图 13 实验6:关于null值的问题 15 实验7:在列上起一个别名 15 实验8:在显示的时候去掉重复的行 16 实验9:显示表的部分行和部分列,使用where子句过滤出想要的行 18 实验10:使用like查询近似的值 18 实验11:使用order by子句来进行排序操作 20 实验12:操作字符串的函数 22 实验13:操作数字的函数 25 实验14:操作日期的函数 25 实验15:操作数据为null的函数 31 实验16:分支的函数 32 实验17:分组统计函数 33 实验18:表的连接查询 36 实验19:sql99规则的表连接操作 40 实验20:子查询 41 DDL和DML语句 45 实验21:建立简单的表,并对表进行简单ddl操作 45 实验22:dml语句,插入删除和修改表的数据 49 实验23:事务的概念和事务的控制 52 实验24:在表上建立不同类型的约束 54 实验25:序列的概念和使用 58 实验26:建立和使用视图 60 实验27:查询结果的集合操作 63 实验28:高级分组rollup,cube操作 65 实验29:树结构的查询start with子句 66 实验30:高级dml操作 68 第二部分pl/sql基础 69 匿名块的编写 69 实验31:书写一个最简单的块,运行并查看结果 69 实验32:在块中操作变量 70 实验33:在块中操作表的数据 71 实验34:在块中的分支操作if语句 71 实验35:在块中使用循环,三种循环模式 72 实验36:在块中自定义数据类型,使用复合变量 73 实验37:在块中使用自定义游标 76 实验38:在块中处理错误exception 78 编写程序 80 实验39:触发器 80 实验40:编写函数 82 实验41:编写存储过程 83 实验42:编写包package 85 第三部分数据库的体系结构 88 实例的维护 88 实验43:数据库的最高帐号sys的操作系统认证模式 90 实验44:数据库的最高帐号sys的密码文件认证模式 92 实验45:数据库的两种初始化参数文件 92 实验46:启动数据库的三个台阶nomount,mount,open 95 实验47:停止数据库的四种模式 96 实验48:建立数据库 97 实验49:查找你想要的数据字典 99 控制文件 99 实验50:减少控制文件的个数 100 实验51:增加控制文件的个数 101 日志文件 104 实验52:日志文件管理和nologging的实现 107 数据文件 111 实验53:建立新的表空间 111 实验54:更改表空间的名称,更改数据文件的名称 113 表空间 116 实验55:建立临时表空间 117 实验56:大文件表空间和表空间的管理模式 118 数据库的逻辑结构 120 实验57:建立表,描述表的存储属性 121 实验58:数据库范围extent的管理 128 undo段的管理 134 实验59:数据库自动回退段的管理 135 实验60:数据库手工回退段的管理 136 实验61:通过回退段闪回历史数据 136 实验62:闪回数据的查询方法,以及历史交易 137 表—存储数据的最基本单元 138 实验63:rowid的使用 138 实验64:临时表和压缩数据表的使用 141 实验65:压缩存储数据 142 实验66:删除表中指定列操作 142 实验67:使用sqlldr加载外部的数据 143 实验68:使用utl_file包来将表的数据存储到外部文件 144 实验69:使用外部表 145 实验70:处理挂起的事务 146 索引 149 实验71:查看索引的内部信息 151 实验72:监控索引的使用状态 153 约束的管理 154 实验73:改变约束的状态 154 实验74:找到违反约束条件的行 155 Profile配置 156 实验75:管理密码的安全配置 156 实验76:限制会话的资源配置 157 权限管理 158 实验77:维护系统权限 158 实验78:维护对象权限 159 实验79:维护角色 160 实验80:审计 161 数据库字符集 162 实验81:配置国家语言支持 163 元数据 165 实验82:提取元数据dbms_metedata 165 第四部分数据库的网络配置 168 实验83:配置监听 168 实验84:客户端的网络配置 169 实验8

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值