微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

虚拟机搭建测试环境解决方案


图片涉及的脚本在图片下方。

虚拟机搭建测试环境解决方案




【脚本1】.
select df.tablespace_name "表空间名",
       totalspace "总空间M",
       freespace "剩余空间M",
       round((1 - freespace / totalspace) * 100, 2) "使用率%"
  from (select tablespace_name, round(sum(bytes) / 1024 / 1024) totalspace
          from dba_data_files
         group by tablespace_name) df,
       (select tablespace_name, round(sum(bytes) / 1024 / 1024) freespace
          from dba_free_space
         group by tablespace_name) fs
 where df.tablespace_name = fs.tablespace_name
 order by df.tablespace_name;

【脚本2】.
create tablespace test_space datafile 'E:\APP\ADMINISTRATOR\ORADATA\DBSERVER\test_space.dbf'size 3G;

【脚本3】.
--以下生成脚本(根据需要来调整需要生成的脚本)
sql> set heading off
sql> set echo off
sql> set Feedback off
sql> set termout on
sql> spool d:\move_test.sql
--要移动的表
select disTINCT 'alter table '||||segment_name || ' move tablespace test_space;' from dba_extents where segment_type='TABLE' and file_id=37;

--要移动的索引
select disTINCT 'alter index ' || owner||'.'||segment_name || ' rebuild tablespace test_space;'
  from dba_extents
 where segment_type = 'INDEX'
   and file_id = 37;

--移动分区表
sql>select disTINCT 'alter table '|| segment_name || ' move partition '|| partition_name || ' tablespace test_space;' from dba_extents where segment_type='TABLE PARTITION' and file_id=18;
--移动分区索引
sql>select disTINCT 'alter index '|| segment_name || ' rebuild partition '|| partition_name || ' tablespace test_space;' from dba_extents where segment_type='INDEX PARTITION' and file_id=18;
sql>spool off 
--ps:然后执行move_test.sql,注意保证test_space有足够的空间容纳这些数据。


【脚本4】.
--以下生成脚本(根据需要来调整需要生成的脚本)
sql> set heading off
sql> set echo off
sql> set Feedback off
sql> set termout on
sql> spool d:\move_test2.sql
--表
select disTINCT 'alter table '||segment_name || ' move tablespace TSP_ORDADM;' from dba_extents where segment_type='TABLE' and file_id=43;
--索引
select disTINCT 'alter index ' || owner||'.'||segment_name || ' rebuild tablespace TSP_ORDADM;'
  from dba_extents
 where segment_type = 'INDEX'
   and file_id = 43;
sql>spool off 

【脚本5】.
--移到中转表空间TEST_SPACE
ALTER TABLE LAB.LAB_IMAGE_RESULT MOVE TABLESPACE TEST_SPACE LOB(IMAGE) STORE AS(TABLESPACE TEST_SPACE);

--移回原表空间TSP_LAB
ALTER TABLE LAB.LAB_IMAGE_RESULT MOVE TABLESPACE TSP_LAB LOB(IMAGE) STORE AS(TABLESPACE TSP_LAB);

【脚本6】.
--1.在sqlplus工具中可以help cop
--先创建对象
select dbms_Metadata.get_ddl('TABLE','TEST1','TEST') from dual;

--2.可以通过dblink来插入
--本地以网络登录的形式test/oracle@king "king"连接字符串
--然后插入数据
copY FROM test/oracle@king INSERT test.TEST1 (SERIES_NO,TABLE_CODE,TABLE_NAME,MANAGER_CLASS,REMARK)USING SELECT * FROM comm.FEE_TABLE_DICT@tsj--取数源 tsj 是dblink

3.TEST.TEST1表在所指定的表空间同步数据之后,
后续alter table...rename to...,然后drop源表空间上的老表(表空间resize之后,就做个逆向操作)。


dbtiger
good luck!
2018,3,30 于海南三亚

虚拟机搭建测试环境解决方案














版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐