- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle存储结构
Oracle 存储结构分析一逻辑结构的层次与种类1,表(table):2,分区表(table partition):一个有很大数据量的表;我们可以把表分区,每个分区可以放在不同的段上。以实现对表的优化3,簇(cluster):将多个表集合在一起,这些表拥有相同的列;这些相同列放在同一个物理的段里面。4,索引(index):5,index-organized table(对应sqlserver的群集索引): 这些表中的数据以索引的大小按升序或者降序排列? ??? 6,index partition(索引的分区): 关于索引的数据分别存于不同的物理段里面7,undo segment: 有序循环的方式存储? (存放old value;读一致性;rollback ; recovery)8,temporary: 临时段用来排序9,LOB segment: 存放大的数据,oracle里面将这些数据并不放在表内部,而是有专门一个段来存储10,nested table(嵌套表):一个表中的某个字段的值是另外一个整表!11,bootstrap segment:初始化我们的实例用的。这个段不需要维护和管理!??二oracle存储参数的设定及继承问题【记忆】默认为 Oracle default? ===》 Tablespace (创建表空间时定义的参数) ====》 Segment(优先级最高)【理解】初始参数 oracle block 的5倍;意思是说你创建一个表,即使里面没存数据,它已经占用了8k×5=40kB的空间(这里假设oracle block size 为8kB)?三创建表时可以单独为表指定存储参数SQL conn hr/123456@kk已连接。SQL create table hello(id int)? 2? tablespace bkeep? 3? storage(initial 100k? 4? next 100k);?【点子】我们来创建一个表空间test11,不带任何存储参数,然后打开oem看看它的存储参数(这些参数就是从oracle default哪里继承过来的!)??四extent的分配和重新分配-????????? 当创建段时就分配空间-????????? 当扩展段时给它分配空间-????????? 强制分配空间给段(段可以跨数据文件,但不可以跨表空间;但是强制的段是不能跨数据文件获取空间的)?创建表时,最初始的空间一定会分配给它!SQL create table hello(id int)? tablespace bkeep? storage(initial 100k? //意思是,不管表里面有没有数据,都会占掉100k的空间next 100k);表已创建。?五【实验】强制分配分区1,我们想给hr.hello表在system01.dbf上划分1M的空间,结果:ORA-03284: 数据文件d:/oracle/oradata/kk/system01.dbf不是表空间BKEEP的成员SQL alter table hr.hello? allocate extent(size 1m datafile d:/oracle/oradata/kk/system01.dbf);alter table hr.hello*ERROR 位于第 1 行:ORA-03284: 数据文件d:/oracle/oradata/kk/system01.dbf不是表空间BKEEP的成员??2,现在我们给bkeep表空间增加一个数据文件bkeep03.dbfSQL alter tablespace bkeepadd datafile d:/oracle/oradata/kk/bkeep03.dbf size 10M;?3,再来给hr.hello表在bkeep03.dbf上强制划分1M空间SQL alter table hr.helloallocate extent(size 1m datafiled:/oracle/oradata/kk/bkeep03.dbf);?4,这里我们不指定数据文件,那么会不会是在建表的时候指定的那个数据文件上继续扩展呢?SQL alter table hr.helloallocate extent(size 1m);?【思考】强制分配空间的时候会指定一个数据文件,当给该表分配的空间使用完以后,它将会怎么办?继续从该数据文件上面获取空间?还是从由local manage随机分配空间给它????? 答案:?【重点】drop table xxx 和 truncate table xxx? 都会释放存储空间?回收 hr.hello表没有用掉的空间SQL alter table hr.hello? deallocate unuse
文档评论(0)