Oracle基础重新学习以及思考

  由于之前学习oracle的时候比较随意,看书也是比较少去深入思考原理,而从前几天决定要重新燃起oracle的学习激情后,我又重新的从基础学起,此时我学oracle的心态也比以前好很多了,现在是努力的一点一点去啃了,即使很花时间,但我想正是通过今天我这样的埋头苦读才会换来有朝一日在oracle方面的质的飞跃的。

  昨晚学习oracle高水位线的时候,发现自己对oracle的基本概念总体上还是不够,有些东西理解得不透彻,比如昨晚在看到和表空间有关的知识时,有这么一段话让我费解了很久:原文如下:一旦将数据文件追加到某个表空间后,就不能删除该数据文件了,如果要删除数据文件,则只能删除其所属表空间。我想一个表空间里面数据应该非常多,要修改删除的也很多,因为要删除一个数据文件,而要删除其所在的表空间。(是不是表空间里面的数据也随之没有了??)感觉不可理解。oracle可不是这么欠缺考虑的啊,这不是oracle的作风啊。由于昨晚上不了网,对于这个问题也想了很久没想出个所以然来,所以今晚特意在网上查找了一些资料;在网上看到了一位兄弟的回复,看后豁然开朗啊:应该说表空间是数据文件的具体体现,你一旦把一个数据文件追加到表空间下面,那么表空间就可以自由的使用这个文件了,当你再想删掉这个文件的时候,表空间已经使用他了啊,如果你删掉了,不就打乱破坏了表空间存储数据的机制了吗,那其他的文件还有什么用,数据全都乱了啊,不知道说的明白不……  
   
  附:表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,UNDO表空间供回滚段使用。一个表空间只能属于一个数据库。  
          每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件( DataFile )。一个数据文件只能属于一个表空间。创建新的表空间需要创建新的数据文件。  
          数据文件一旦加入到表空间中,就不能从这个表空间中移走,也不能与其他表空间发生联系.如果数据库对象存储在多个表空间中,那么可以通过把它们各自的数据文件存放在不同 磁盘上来对其进行物理分割。在规划和协调数据库处理I   /   O请求的方法中,数据分割是一种很重要的工具。

  好,重新回到我的主题上来,我此时明白了:oracle中表空间并不是用完一个数据文件再用另一个的,当你追加数据文件到表空间上时,表空间就随机的往数据文件插入数据了。

    嗯,终于弄明白了,在此记录下来以备自己再次碰到此疑问。

     继续奋斗oracle。。。。

你可能感兴趣的:(oracle,数据库,System,存储,工具,磁盘)