【SQL】【指令碼】遷移當前使用者下所有表和索引到新表空間
生成批次遷移當前使用者下的所有表和索引到新表空間的SQL指令碼。
c:\>cat mv_tab_idx_to_tbs.sql
set echo off
column order_col1 noprint
column order_col2 noprint
set heading off
set verify off
set feedback off
set echo off
spool tmp.sql
SELECT DECODE (segment_type, 'TABLE', segment_name, table_name) order_col1,
DECODE (segment_type, 'TABLE', 1, 2) order_col2,
'alter '
|| segment_type
|| ' '
|| segment_name
|| DECODE (segment_type, 'TABLE', ' move ', ' rebuild ')
|| CHR (10)
|| ' tablespace &Move_to_Tablespace '
|| CHR (10)
|| ' storage ( initial '
|| initial_extent
|| ' next '
|| next_extent
|| CHR (10)
|| ' minextents '
|| min_extents
|| ' maxextents '
|| max_extents
|| CHR (10)
|| ' pctincrease '
|| pct_increase
|| ' freelists '
|| FREELISTS
|| ');'
FROM user_segments,
(SELECT table_name, index_name
FROM user_indexes)
WHERE segment_type IN ('TABLE', 'INDEX') AND segment_name = index_name(+)
ORDER BY 1, 2
/
spool off
set heading on
set verify on
set feedback on
set echo on
-- The End --
c:\>cat mv_tab_idx_to_tbs.sql
set echo off
column order_col1 noprint
column order_col2 noprint
set heading off
set verify off
set feedback off
set echo off
spool tmp.sql
SELECT DECODE (segment_type, 'TABLE', segment_name, table_name) order_col1,
DECODE (segment_type, 'TABLE', 1, 2) order_col2,
'alter '
|| segment_type
|| ' '
|| segment_name
|| DECODE (segment_type, 'TABLE', ' move ', ' rebuild ')
|| CHR (10)
|| ' tablespace &Move_to_Tablespace '
|| CHR (10)
|| ' storage ( initial '
|| initial_extent
|| ' next '
|| next_extent
|| CHR (10)
|| ' minextents '
|| min_extents
|| ' maxextents '
|| max_extents
|| CHR (10)
|| ' pctincrease '
|| pct_increase
|| ' freelists '
|| FREELISTS
|| ');'
FROM user_segments,
(SELECT table_name, index_name
FROM user_indexes)
WHERE segment_type IN ('TABLE', 'INDEX') AND segment_name = index_name(+)
ORDER BY 1, 2
/
spool off
set heading on
set verify on
set feedback on
set echo on
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-609176/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遷移表到新的表空間
- 表空間遷移
- 遷移表空間
- Oracle查詢當前使用者和當前使用者下的所有表Oracle
- 指令碼建立表空間、使用者、表指令碼
- ORACLE表批量遷移表空間Oracle
- 移動表空間的指令碼指令碼
- 不同使用者,不同表空間遷移
- 【遷移】表空間transport
- RMAN遷移表空間
- 遷移SYSTEM表空間為本地管理表空間
- Oracle 建立表空間和使用者指令碼Oracle指令碼
- sql 查詢當前使用者所有表的容量SQL
- 跨平臺表空間遷移(傳輸表空間)
- expdp/impdp 遷移表空間
- windows下Oracle11G指令碼建使用者、表空間、表WindowsOracle指令碼
- MySQL 遷移表空間,備份單表MySql
- 表、索引遷移表空間alter table move索引
- 基於可傳輸表空間的表空間遷移
- 取得所有使用者表空間資訊的sqlSQL
- table/index/LOBINDEX遷移表空間Index
- lob欄位表空間遷移
- 遷移使用者物件從一個表空間到另外表空間物件
- Oracle 不同平臺間表空間遷移Oracle
- Oracle10g新特性——利用RMAN遷移表空間Oracle
- ORACLE刪除當前使用者下所有的表的方法Oracle
- Oracle中表空間、表、索引的遷移Oracle索引
- 表空間遷移辦法補充
- 使用RMAN簡單遷移表空間
- 資料庫物件遷移表空間資料庫物件
- 有關表空間查詢的sql指令碼SQL指令碼
- 分割槽表對應的表空間遷移案例
- MySQL Innodb表空間解除安裝和遷移案例MySql
- oracle 表空間和表 read only遷移後不再read onlyOracle
- Oracle10g新特性——利用RMAN遷移表空間(二)Oracle
- Oracle10g新特性——利用RMAN遷移表空間(一)Oracle
- 【資料遷移】使用傳輸表空間遷移資料
- 線上遷移表空間資料檔案