小编给大家分享一下oracle中OMF怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用OMF的好处
使用OMF有如下好处:
使数据库易于管理。
不需要编制文件名和确定指定的存储,一组一致的规则是用来命名所有相关文件。文件系统确定分配它的存储特性和池。
减少管理员指定错误文件导致的损坏。
每个OMF和文件名是唯一的。在两个不同的数据库使用相同的文件是一个常见的错误,可能导致长时间停止和丢失已提交的事务。使用两个不同的名字执行同一个文件是另一错误,会导致重大损坏。
减少过期文件造成的磁盘空间的浪费。
Oracle会自动删除旧的OMF,在它们不再需要时。在一个简单的大型系统中很多磁盘空间被浪费,因为没有人知道是否一个特定文件仍然需要。对于磁盘上不再需要的内容,可以简化管理任务,防止误删除文件。
可以简化创建任务和数据库开发。
你可以使用很少时间确定文件结构和文件名字,减少文件管理任务。集中精力测试和进行数据库开发,满足它的实际需要。
OMF使利用第三方工具开发更加容易。
OMF不再需要在SQL脚本中放入操作系统指定的名字。 以前创建一个表空间需要指定数据文件路径及大小 SQL> create tablespace wer datafile
‘/u01/app/oracle/oradata/fengzi/wer.dbf’ size 100m; 实现数据文件OMF管理只需要设置一个参数就可以 SQL> show parameter db_create_file_dest
NAME TYPE VALUE ————————————
———– —————————— db_create_file_dest string SQL> SQL> alter system set db_create_file_dest=’/u01/app/oracle/oradata/’;
System altered. SQL> create tablespace wer;
Tablespace created. SQL> SQL> select name from v$datafile;
NAME ——————————————————————————– +DATA/fengzi/datafile/system.277.842187103 +DATA/fengzi/datafile/undotbs1.dbf +DATA/fengzi/datafile/sysaux.279.842187235 +DATA/fengzi/datafile/users2.dbf +DATA/fengzi/datafile/undotbs.dbf +DATA/fengzi/datafile/users1.dbf /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_wer_9ns1wd2n_.dbf 7 rows selected. SQL> SQL> ho ls -lh
/u01/app/oracle/oradata/FENGZI/datafile/o1_mf_wer_9ns1wd2n_.dbf
-rw——- 1 oracle oinstall 101M Apr 15 09:12
/u01/app/oracle/oradata/FENGZI/datafile/o1_mf_wer_9ns1wd2n_.dbf (默认分配大小为100M) SQL> 也可以直接指定大小 SQL> create tablespace qwe datafile size 15m;
SQL> ho ls -lh /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf
-rw——- 1 oracle oinstall 16M Apr 15 09:17
/u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf SQL> 如果使用drop
tablespace {tablespace_name};命令删除表空间,OMF管理的会将物理文件也一同删除 SQL> drop tablespace qwe;
Tablespace dropped. SQL> ho ls -lh
/u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf
ls:
/u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf: No such file or directory SQL> 其他的使用drop
tablespace {tablespace_name};命令是不会删除物理文件的 SQL> create tablespace qaz datafile ‘/u01/app/oracle/oradata/fengzi/qaz.dbf’
size 10m;
Tablespace created. SQL> ho ls /u01/app/oracle/oradata/fengzi/qaz.dbf
/u01/app/oracle/oradata/fengzi/qaz.dbf SQL> drop tablespace qaz;
Tablespace dropped. SQL> ho ls /u01/app/oracle/oradata/fengzi/qaz.dbf
/u01/app/oracle/oradata/fengzi/qaz.dbf SQL> 想要删除应该 drop
tablespace tablespace_name including contents and
datafiles;
including
contents:用于删除表空间同时删除表空间上的所有段 including
contents and datafiles:删除表空间、数据文件以及表空间上段的信息,同时删除OS中的数据文件 确认原默认存放组位置 SQL> alter database add logfile;
Database altered. SQL> select member from v$logfile;
MEMBER ——————————————————————————– +DATA/fengzi/onlinelog/group_1_1.log +DATA/fengzi/onlinelog/group_1_2.log +DATA/fengzi/onlinelog/group_2_1.log +DATA/fengzi/onlinelog/group_2_2.log +DATA/fengzi/onlinelog/group_3_1.log +DATA/fengzi/onlinelog/group_3_2.log /u01/app/oracle/oradata/FENGZI/onlinelog/o1_mf_4_9ns3nvl6_.log +DATA/fengzi/onlinelog/group_4.345.844940573 8 rows selected. 以上默认创建组的成员路径是由以下参数决定的 SQL> show parameter db_create_file_dest
NAME TYPE VALUE ————————————
———– —————————— db_create_file_dest string /u01/app/oracle/oradata/ SQL> show parameter db_recovery_file_dest
NAME TYPE VALUE ————————————
———– —————————— db_recovery_file_dest string +DATA SQL> 同样的,只需要修改相应参数就可以 SQL> show parameter db_create_online
NAME TYPE VALUE ————————————
———– —————————— db_create_online_log_dest_1 string db_create_online_log_dest_2 string db_create_online_log_dest_3 string db_create_online_log_dest_4 string db_create_online_log_dest_5 string SQL> 可以看到在一个组中给出了5个成员,一般一个组下有2个成员就足够了。所以根据情况选择使用参数数量 先选择存放日志的路径 SQL> ho mkdir /u01/app/oracle/d1
SQL> ho mkdir /u01/app/oracle/d2
SQL> 定义参数db_create_online_log_dest_1与db_create_online_log_dest_2 SQL> alter system set db_create_online_log_dest_1=’/u01/app/oracle/d1′;
System altered. SQL> alter system set db_create_online_log_dest_2=’/u01/app/oracle/d2′;
System altered. SQL> 再次创建日志组 SQL> alter database add logfile;
Database altered. SQL> select group#,member from v$logfile;
GROUP# ———- MEMBER ——————————————————————————–
1 +DATA/fengzi/onlinelog/group_1_1.log
1 +DATA/fengzi/onlinelog/group_1_2.log
2 +DATA/fengzi/on免费云主机域名linelog/group_2_1.log
GROUP# ———- MEMBER ——————————————————————————–
2 +DATA/fengzi/onlinelog/group_2_2.log
3 +DATA/fengzi/onlinelog/group_3_1.log
3 +DATA/fengzi/onlinelog/group_3_2.log
GROUP# ———- MEMBER ——————————————————————————–
4 /u01/app/oracle/oradata/FENGZI/onlinelog/o1_mf_4_9ns3nvl6_.log
4 +DATA/fengzi/onlinelog/group_4.345.844940573
5 /u01/app/oracle/d1/FENGZI/onlinelog/o1_mf_5_9ns4dov5_.log
GROUP# ———- MEMBER ——————————————————————————–
5 /u01/app/oracle/d2/FENGZI/onlinelog/o1_mf_5_9ns4dptw_.log 10 rows selected. SQL> 对于日志文件OMF管理,是不能向组中添加成员的,与数据文件一样,在 drop 的时候同样会将OS物理文件删除。 如果想使用控制文件OMF管理 需要干掉下面参数 SQL> alter system reset control_files scope=spfile sid=’*’;
控制文件也是根据日志文件的参数决定的(存放路径与日志文件一致) SQL> show parameter db_create_online_log
NAME TYPE VALUE ————————————
———– —————————— db_create_online_log_dest_1 string /u01/app/oracle/d1 db_create_online_log_dest_2 string /u01/app/oracle/d2 (定义了几个成员就有几个控制文件) db_create_online_log_dest_3 string db_create_online_log_dest_4 string db_create_online_log_dest_5 string SQL> 以上是“oracle中OMF怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注百云行业资讯频道!
http://www.itpub.net/thread-1499223-10-1.html 93楼我创建了这张表并填入数据:当我执行下列这段代码,屏幕上会显示什么?(A)(B)(C免费云主机域名)(D)(E)运行结果如下答案B答案说明96楼 相关推荐: 如何实…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。