oracle中表、索引的表空間的批量更改方法
1、查詢當前使用者下的所有表
select 'alter table '|| table_name ||' move tablespace tablespacename;' from user_all_tables;
select 'alter table '|| table_name ||' move tablespace tablespacename;' from user_tables;
2、查詢當前使用者下的所有索引
select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes;
3、在當前使用者下將查詢結果批處理執行即可!
簡單來說,操作以下幾步:
--查詢所有的表,然後複製查詢出來的結果,執行sql
select 'alter table '||table_name||' move tablespace 表空間名;' from user_all_tables
--查詢所有的索引,然後複製查詢出來的結果,執行sql
select 'alter index '||index_name||' rebuild tablespace 表空間名;' from user_indexes
--處理lob型別
alter table 表名 move tablespace 表空間名 lob(欄位1) store as (tablespace 表空間名)
--修改分割槽表的表空間
alter table 表名 move partition 分割槽名1 tablespace 表空間名;
alter table 表名 move partition 分割槽名2 tablespace 表空間名;
檢視所有的unusable索引
select *
from user_indexes
where status not in ('valid', 'n/a')
order by index_name;
-- description : displays unusable indexes for the specified schema or all schemas.
-- requirements : access to the dba views.
-- call syntax : @unusable_indexes (schema-name or all)
set verify off
select owner,
index_name
from dba_indexes
where owner = decode(upper('&1'), 'all', owner, upper('&1'))
and status not in ('valid', 'n/a')
order by owner, index_name;
ORACLE 索引批量重建
按使用者批量重建索引 按使用者將此使用者下面非臨時表上面的索引全部重建,此過程建議在 sys使用者下面執行 create or replace procedure batch rebuild index user name in varchar2 is s sql varchar2 500 acco...
批量修改全文索引的更改跟蹤狀態
use databasename go declare sql2 nvarchar max set sql2 select sql2 sql2 n alter fulltext index on t.name set change tracking auto from sys.tables t in...
oracle中表的鎖定
鎖的概念 鎖出現在資料共享的場合,用來保證資料的一致性。當多個會話同時修改乙個表時,需要對資料進行相應的鎖定。鎖有 唯讀鎖 排它鎖 共享排它鎖 等多種型別,而且每種型別又有 行級鎖 一次鎖住一條記錄 頁級鎖 一次鎖住一頁,即資料庫中儲存記錄的最小可分配單元 表級鎖 鎖住整個表 若為 行級排它鎖 則除...