1.oracle引入逻辑结构的目的?
1.为了增加oracle的可移植性,oracle公司声称它的oracle数据库是与IT平台无关的,即在某一厂家的某个操作系统上开发的oracle数据库(包括应用程序等)可以几乎不加修改一直到另一厂家的另外的操作系统上,要做到这一点就不能直接操作数据文件,因为数据文件是与操作系统相关的。
2.为了减少oracle从业人员学习的难度。因为有了逻辑结构oracle的从业人员就可以只对逻辑结构进行操作,而在所有的IT平台上逻辑结构的操作都几乎完全相同,至于从逻辑结构到物理结构的映射是有oracle数据库管理系统来完成的。
2.oracle物理结构和逻辑结构的区别?
在oracle数据库中,逻辑结构为oracle引入的结构,物理结构为操作系统拥有的结构。
3.oracle主要存储结构之间的关系?
每个数据库是由一个或多个表空间组成;
每个表空间由一个或多个数据文件组成;
每个表空间中可以存放一个或多个段;
每个段由一个或多个区段组成;
每个区段由一个或多个连续的oracle数据块组成;
每个oracel数据块有一个或多个连续的操作系统数据块组成;
每个操作系统数据文件由一个或多个区段组成;
每个操作系统数据文件是由一个或多个操作系统数据块组成。
4.表空间的分类?
1.系统表空间:系统表空间是与数据库一起创建的,在系统表空间中存有数据字典,还包含了系统还原(回滚)段。
2.非系统表空间:可以有数据库管理员创建,在费系统表空间中存储一些单独的段,这些段可以是用户的数据段,索引段,还原段,临时段等。引入非系统表空间可以方便磁盘空间的管理,也可以更好的控制分配给用户磁盘空间的数量。
5.数据字典管理的表空间的维护和管理?
在数据字典管理的表空间中,所有的extents的管理都是在数据字典中进行的,而且每一个存储在同一个表空间中的段可以具有不同的存储字句,在这种表空间的管理方法中可以按读者的需要修改存储参数,所以存储管理比较灵活,但系统的效率较低。如果使用这种表空间的管理方式,有时需要合并碎片。
6.本地管理的表空间的维护和管理?
本地管理的表空间其空闲的区是在表空间中管理的,它是使用位图来记录空闲的区,位图中每一位对应于一块或一组,而每位的值指示空闲或分配,当一个区被分配或释放时,oracle服务器就会修改位图中相应位的值以反映该区的新的状态,位图存放在表空间所对应的数据文件的文件头中。
使用本地管理的表空间减少了数据字典表的竞争,而且当磁盘空间分配或收回时也不会产生回滚(还原),他也不需要合并碎片,在本地管理的表空间中无法按实际需要来随意地修改存储参数,所以存储管理不像数据字典管理的表空间那样灵活,但是系统的效率较高,推荐使用。
7.还原表空间的维护和管理?
还原表空间是用来存储还原段的,在还原表空间中不能包含任何其他的对象,还原表空间中的区段是由本地管理的,而且在创建还原表空间的sql语句中只能使用datafile和extent management子句。
8.临时表空间的维护和管理?
临时表空间是作为排序操作使用的。当在用户的sql语句中使用诸如order by,group by子句时,oracle服务器就需要对多选取的数据进行排序,这时如果排序的数据量很大,内存的排序区(在PGA中)就可能装不下,因此oracle服务器就要把一些中间的排序结果写到磁盘上,即临时表空间中,当用户的sql语句经常有大规模的多重排序而内存的排序区不够时,使用临时表空间可以改进数据库的效率。
临时表空间可以由多分用户共享,在其中不能包含任何永久对象。
当创建临时表空间时,必须使用标准数据块。
9.默认临时表空间的设置和管理?
默认临时表空间既可以在创建数据库时同时创建,也可以再数据库创建之后单独创建。
默认临时表空间不能被删除,除非有一个新的可以使用的默认临时表空间。
因为默认临时表空间是临时表或系统表,所以不能将其改为永久表空间,也不能将其设置成脱机。
10.表空间的联机与脱机状态之间的切换?
alter tablespace pjy online;
alter tablespace pjy offline;
11.表空间的只读与正常状态之间的切换?
alter tablespace pjy read only;
alter tablespace pjy read write;
12.怎样改变表空间的存储设置?
alter tablespace 表空间名
【minimum extent 正整数 | default 存储子句】
13.怎样重置表空间的大小?
1.改变数据文件的大小
2.改变数据文件的个数
14.怎样移动可以脱机的数据文件?
1.使用数据字典获取所需的表空间和数据文件的相关信息。
2.将表空间置为脱机
3.使用操作系统命令移动或复制要移动的数据文件
4.执行alter tablespace rename datafile命令
5.将表空间设置为联机
6.使用数据字典获取所需的表空间和数据文件的相关信息
7.删除无用的数据文件
15.怎样移动不可以脱机的数据文件?
1.使用数据字典获取所需的表空间和数据文件的相关信息
2.关闭数据库
3.使用操作系统命令移动或复制要移动的数据文件
4,将数据库设置为加载状态
5.执行alter database rename file命令
6.打开数据库系统
7.使用数据字典获取所需的表空间和数据文件的相关信息
8.删除无用的数据文件
16.数据字典与本地管理的表空间之间的迁移?
将数据字典管理的表空间pjy迁移为本地管理的表空间
EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('PJY');
将本地管理的表空间pjy迁移为数据字典管理
EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL('PJY');、
17.怎样删除表空间?
系统表空间和上面有活动段的表空间不能删除
drop tablespace 表空间名
18.怎样在删除表空间中使用INCLUDING CONTENTS AND DATAFILES字句?
drop tablespace 表空间名 including contents and datafiles
19.怎样利用OMF来管理和维护表空间?
使用OMF之前必须先设定db_create_file_dest参数的值,然后再进行创建表空间和删除的操作。