Oracle中怎么将字典管理的表空间转换为本地管理表空间

58次阅读
没有评论

共计 2692 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章主要介绍“Oracle 中怎么将字典管理的表空间转换为本地管理表空间”,在日常操作中,相信很多人在 Oracle 中怎么将字典管理的表空间转换为本地管理表空间问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle 中怎么将字典管理的表空间转换为本地管理表空间”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

SQL alter table emp move tablespace tbsp_new;

SQL alter index emp_pk_idx rebuild tablespace tbsp_idx_new;

SQL exec dbms_space_admin.tablespace_migrate_to_loca(user

注意:不过使用 dbms_space_admin 包时转换后不会设置为 ASSM,另外空间碎片也不会消失。

创建表空间

SQL  create tablespace test01 datafile +DATA size 1024M autoextend on next 10M maxsize 4096M extent management local autoallocate  segment space management auto;

查看表空间管理方式:

SQL select tablespace_name,initial_extent,next_extent,min_extents,max_extents,extent_management,segment_space_management,allocation_type from dba_tablespaces order by 6,7,8;

语法:

create [undo | temporary] tablespace  tablesapce_name

datafile +DATA size 100M

[reuse]     当指定数据文件已存在时,需要使用该参数覆盖

[autoextend [off | on]]   禁止或允许自动扩展数据文件,默认为 off

[next 100M]   指定自动扩展数据时的磁盘空间

[maxsize [unlimited | 100 M]]   扩展的最大磁盘空间

[minimum extent 10M]   指定分配 extent 的大小

[blocksize 16k]   设置块的大小,注意默认 8K,如果改成 16K 时,必须设置 db_16K_cache_size 参数

[default storage xx] 配置默认参数

[online | offline][logging | nologging] 表示该表空间上对象是否需要进行日志处理,默认 logging

[force logging] 强制记录该表空间上所有的改变,除了临时段

[extent management [dictionary | local]]  extent 管理方式,建议本地管理

[autoallocate | uniform [size 20 M]]   自动分配 extent 大小或者固定 extent 大小

[segment space management [ auto | manual]]   配置段的管理方式,建议自动管理

增加表空间大小

SQL alter tablespace test01 add datafile +DATA size 1000M autoextent on next 10M maxsize 1000M;

重新定义数据文件大小

SQL alter database datafile xxxxx resize 250M;

删除表空间

SQL  drop tablespace test01 including contents and datafiles;

SQL  drop tablespace test01 cascade constraints;   包含其他表与该表的外键约束

sysaux 表空间移除用户

SQL select occupant_name,schema_name,space_usage_kbytes,move_procedure from v$sysaux_occupants;

SQL execute wksys.move_wk(TEST01

管理表空间可用性

SQL alter tablespace test01 online normal;

SQL alter tablespace test01 online temporary;

SQL alter tablespace test01 online immediate;   执行该操作前执行 checkpoint,另外 onine 前执行 recover datafile 操作

SQL alter tablespace tets01 offline;

重新命名表空间

SQL alter tablespace test01 rename to test02;

重新命名数据文件

SQL alter tablespace test01 offline normal;

$ cp /u01/app/oracle/test01.dbf /u02/app/oracle/test01.dbf

SQL alter tablespace test01 rename datafile /u01/app/oracle/test01.dbf to /u02/app/oracle/test01.dbf

SQL alter tablespace test01 online;

只读表空间

SQL alter tablespace test01 read only;

SQL alter tablespace test01 read write;

配置默认表空间

SQL  alter database default tablespace test01;

大文件表空间 数据库中最多 64000 个 datafile

创建 BFT

SQL alter tablespace set default bigfile tablespace;

SQL create bigfile tablespace bigtbs_01 datafile +DATA size 100G;

SQL select property_value from database_properties where property_name= DEFAULT_TBS_TYPE

更改 BFT 空间

SQL alter tablespace bigtbs resize 120G;

SQL alter tablespace bigtbs autoextend on next 20G;

到此,关于“Oracle 中怎么将字典管理的表空间转换为本地管理表空间”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计2692字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)