小程序开发设计如何实现跨平台开发与管理满足企业多元化需求
405
2024-01-03
这篇文章主要介绍“Oracle中怎么将字典管理的表空间转换为本地管理表空间”,在日常操作中,相信很多人在Oracle中怎么将字典管理的表空间转换为本地管理表空间问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle中怎么将字典管理的表空间转换为本地管理表空间”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
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中怎么将字典管理的表空间转换为本地管理表空间”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~