Oracle表空間 表分割槽 會話

2021-09-25 14:10:44 字數 4250 閱讀 9457

內容包括

-- 檢視表空間大小

select file_name as 資料檔案,

tablespace_name as 表空間名稱,

autoextensible as 自動擴充套件,

status as 狀態,

maxbytes as 可擴充套件最大值,

user_bytes as 已使用大小,

increment_by as 自動擴充套件增量

from dba_data_files

where tablespace_name like '%etong%';

-- 擴充套件空間,將資料檔案擴大至5000mb

alter database datafile 'd:\database\test.dbf' resize 5000m;

-- 自動增長,表空間不足時增加200mb,最大擴充套件5000mb

alter database datafile 'd:\database\test.dbf' autoextend on next 200m maxsize 5000m;

-- 擴充套件無限大空間

alter database datafile 'd:\database\test.dbf' autoextend on maxsize unlimited;

-- 時間條件範例

select t.*, sysdate

from dxp_persistent_pre t

where t.in_time > to_date('2018', 'yyyy');

-- 程式傳進來的時間格式 轉成timestamp

select to_timestamp('2019-03-08 15:26:35.178', 'yyyy-mm-dd hh24:mi:ss.ff') aa

from dual;

-- 擷取時間

select substr('2019-03-08 15:26:35.178', 0, 10) aaa from dual;

-- ############### 分割槽 ####################

-- 顯示資料庫所有分割槽表的資訊:

select * from dba_part_tables where owner = 'etong';

-- 顯示當前使用者可訪問的所有分割槽表資訊:

select * from all_part_tables where owner = 'etong';

-- 顯示分割槽列 顯示資料庫所有分割槽表的分割槽列資訊:

select * from dba_part_key_columns where owner = 'etong';

-- 顯示當前使用者可訪問的所有分割槽表的分割槽列資訊:

select * from all_part_key_columns where owner = 'etong';

-- 顯示表分割槽資訊 顯示資料庫所有分割槽表的詳細分割槽資訊:

select table_owner, table_name, partition_name, high_value

from dba_tab_partitions

where table_owner = 'etong'

and table_name = 'dxp_persistent_pre';

-- 建立固定分割槽

-- dxp_persistent_pre_test: 分割槽的表 建表時需要事先建立預設分割槽

-- a_max: 預設分割槽(有範圍的分割槽之外的唯一分割槽)

-- at: 該分割槽的上限值 `2019-06-24 00:00:00`

-- par_20190624: 分割槽名

alter table dxp_persistent_pre split partition par_max at(timestamp' 2019-06-21 00:00:00') into(partition par_20190621, partition par_max);

-- 一般分割槽索引

drop index ptr_mspt_index;

create index ptr_mspt_index on dxp_persistent_pre (bs_feature asc) local;

-- 分割槽主鍵索引

-- alter table 表 add constraint 主鍵名 primary key (主鍵,分割槽鍵) using index local

alter table dxp_persistent_pre

drop constraint pk_dxp_persistent_pre cascade;

alter table dxp_persistent_pre

add constraint pk_dxp_persistent_pre primary key (uuid, in_time) using index local;

-- 查詢乙個分割槽

select count(*) from dxp_persistent_pre partition(par_20190622);

-- 刪除表分割槽.

-- 未建立本地索引或分割槽索引.索引將不可用

alter table dxp_persistent_pre drop partition sys_p2547;

-- 清空表分割槽

-- delete刪除清楚資料. 未清除占用空間

-- tuncate刪除的話如果索引不是本地索引或不是分割槽索引,那麼索引將失效,需要重新rebuild

alter table dxp_persistent_pre truncate partition sys_p3200 drop storage;

-- 檢視表索引狀態

-- 狀態不可用就不能插入資料

-- n/a :說明這個是分割槽索引需要查user_ind_partitions或者user_ind_subpartitions來確定每個分割槽是否可用;

-- vaild :說明這個索引可用;

-- unusable :說明這個索引不可用;

-- usable :說明這個索引的分割槽是可用的。

select owner, table_name, index_name, status

from dba_indexes

where owner = 'tablespace_name'

and table_name = 'dxp_persistent_pre';

-- 建立表分割槽自動分割槽

create table dxp_persistent_pre

( uuid varchar2(60) not null,

in_time timestamp not null,

constraint pk_dxp_persistent_pre primary key (uuid, in_time) using index local;

) partition by range (in_time)

interval(numtodsinterval(1, 'day'))

( partition part20190621 values less than (timestamp '2019-06-21 00:00:00')

-- tablespace tbs_zba_czc --表空間

pctfree 10 --預留的空間大小,10%

initrans 1 --的是乙個 block 上初始預分配給並行交易控制的空間

maxtrans 255 --如果initrans 不夠了,自動擴充套件,最大這個值

);-- 查詢會話占用

select l.session_id, s.sid, s.serial#, o.owner, o.object_name, s.osuser,s.logon_time

from v$locked_object l

left join dba_objects o

on l.object_id = o.object_id

left join v$session s

on l.session_id = s.sid;

-- 殺掉會話

alter system kill session 'sid,serial#';

-- 重建索引

alter index pk_dxp_persistent_pre rebuild;

Oracle建立表空間 表分割槽

建立表分割槽 create tablespace ts demo datafile oracle2 oracle datafile xltsdemo.dbf size 500m 初始大小 autoextend on 可以自動擴充套件 next 50m 一次擴充套件50m maxsize unlimi...

oracle表分割槽設計 ORACLE 分割槽表的設計

分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...

oracle表分割槽設計 ORACLE分割槽表的設計

分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...