当前位置:Gxlcms > mysql > Oracle表空间创建删除,omf,分区表创建

Oracle表空间创建删除,omf,分区表创建

时间:2021-07-01 10:21:17 帮助过:23人阅读

对于32位的oracle来说,oracle中内存最大只有1.7g,所以这时就算你服务器内存再大,oracle也只能使用1.7g的内存,速度还是相当的

现在有个每天至少300W数据的表(mt),打算以每月分区的方式建成分区表,分区时,《让Oracle跑的更快2》P21说:

[sql]

  • [sql]

  • 第一句的意思是设定一个数据文件存放路径,让ORACLE自动在该路径下创建文件,,并使用oracle自己的方式为数据文件命名。确实,我执行上面两句话后,成这样了:

    可以发现,oracle自己建了ORCLYXKJ\DATAFILE这两个文件夹,并且建成的.dbf数据文件也不是我写的ts_mt_2012_1.dbf,但是oracle自己建的那个文件大小确实是我刚指定的50M,说明是表空间的数据文件。为什么?因为:

    alter system set db_create_file_dest='F:\oradata\orclyxkj\tbs_test_t_mt_2012';

    这句话的意思,就是开启的oracle的OMF,即oracle自动管理文件,所以文件的命名什么的都是oracle自动完成的。一般,单数据库实例,基本都不开启OMF

    开启OMF,还有另外一种方法,就是创建数据库时:

    建库时,选择第 3 项了,这是omf 管理方式,oracle自动管理数据文件名,所以才不是你命名的名称。正常 选择 第 2 项。

    然后,我看到那个文件以及目录,不是我希望看到的有规律的命名,我就不想以这种方式来创建表空间了,所以决定把刚建的那个表空间删掉(有语句直接删除表空间和数据文件),但是我这时没有用语句删,而是直接在PL/SQL中,找到Tablespace文件夹下面的ts_mt_2012_1,然后反键,删掉。

    删完后,到'F:\oradata\orclyxkj\tbs_test_t_mt_2012'目录发现之前oracle自己建的那个文件还在,我又不敢手动删,怕删完之后和数据文件不一致导致数据打不开。其实这个时候已经不存在这个问题了,因为表空间已经删掉了。除非表空间没有删掉而你把数据文件没有offline或者删掉了,才会导致数据库起不来。
    问题已经描述完毕,结论:

    1.创建表空间到指定目录:

    [sql]

  • 插补几句:
    --新创建表空间时,数据文件的扩展名是ora,可是系统表空间的数据文件却是dbf的,还有一些已有的表空间的数据文件是dat文件,请问有什么区别吗?

    linux

    人气教程排行