【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指令碼
- MySQL 遷移表空間,備份單表MySql
- table/index/LOBINDEX遷移表空間Index
- Oracle中表空間、表、索引的遷移Oracle索引
- Oracle 12cbigfile表空間物件遷移Oracle物件
- Oracle 刪除使用者、表空間、資料檔案、使用者下的所有表Oracle
- SQL Server檢視所有表大小,所佔空間SQLServer
- mysql共享表空間擴容,收縮,遷移MySql
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- oracle 建立表空間和使用者Oracle
- Oracle建立表空間和使用者Oracle
- 達夢(DM)資料庫的表空間建立和遷移維護資料庫
- 用傳輸表空間跨平臺遷移資料
- 移動分割槽表和分割槽索引的表空間索引
- Oracle新建使用者、表空間、表Oracle
- 查詢表空間使用情況的指令碼指令碼
- 16、表空間 建立表空間
- oracle sql 表空間利用率OracleSQL
- mysql指令碼,新建表和理清表之間的聯絡MySql指令碼
- 對Oracle分割槽表進行表空間遷移並處理ORA-14511問題Oracle
- 3. 使用者和表空間—3.1. 使用者
- 複製建立已有資料庫使用者、表空間、許可權的指令碼資料庫指令碼
- 【資料遷移】XTTS跨平臺傳輸表空間v4TTS
- mysql Innodb表空間解除安裝、遷移、裝載的使用方法MySql
- DSC:數倉SQL指令碼遷移的神奇工具SQL指令碼
- Oracle 18c新特性詳解 - 表和表空間相關的新特性Oracle
- Oracle中新建表空間、使用者Oracle
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 臨時表空間和回滾表空間使用率查詢
- 【資料遷移】XTTS跨平臺傳輸表空間(1.傳統方式)TTS
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- mssql sqlserver 使用sql指令碼 清空所有資料庫表資料的方法分享SQLServer指令碼資料庫
- oracle建立使用者,表空間,臨時表空間,分配許可權步驟詳解Oracle
- Oracle表空間Oracle
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- PostgreSQL:表空間SQL