內容包括
-- 檢視表空間大小
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語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...