1.系统表
user_tables:当前用户表信息视图(表)
all_tables:所有用户表信息视图(表)
user_tab_columns:当前用户表中列信息视图(表)
all_tab_columns:所有用户表中列信息视图(表)
user_tablespaces:当前用户表空间信息视图(表)
all_tablespaces:所有用户表空间信息视图(表)
dba_data_files:表空间关联文件信息视图(表)
user_tab_partitions:当前用户表分区信息视图(表)
all_tab_partitions:所有用户表分区信息视图(表)
user_indexes: 查询索引的信息视图(表)
dba_jobs:查询定时任务的视图(表)
2.表与表空间
数据库中表的数据是存储在一个.dbf的文件中的,表空间是指向这个文件的路径
3.创建表空间
create tablespace 表空间名 datafile 指向的文件路径 size 文件的大小(xxM);
4.创建表时指定表空间
create table 表名(字段信息...)tablespace 表空间名;
5.分区表
1.范围分区
create table 表名(
...
)partition by range(分区的列名)(
partition 分区名字1 values less than(范围边界值) tablespace 指向的表空间名字,
partition 分区名字2 values less than(范围边界值) tablespace 指向的表空间名字,
...
)
2.列表分区
create table 表名(
...
)partition by list(分区的列名)(
partition 分区名字1 values (精确值) tablespace 指向的表空间名字,
partition 分区名字2 values (精确值) tablespace 指向的表空间名字,
...
)
3.散列分区
create table 表名(
...
)partition by hash(分区的列名) partition by 分区数量;
或
create table 表名(
...
)partition by hash(分区的列名)(
partition 分区名字1,
partition 分区名字2,
...
)
4.组合分区
a.范围+列表
b.范围+散列
c.列表+散列
create table 表名(
...
)partition by 父分区类型(父分区的列名)
subpartition by 子分区类型(子分区的列名)
(
partition 父分区名字1 values(值)
(
subpartition 子分区名字1 values (值),
...
),
...
)
5.分区操作
1.新增分区
alter table 表名 add partition 分区名 分区规则;
2.删除分区
alter table 表名 drop partition 分区名;
3.合并不同分区
alter table 表名 marge partition 分区1, 分区2 into partition 新分区名;
4.拆分分区
a.范围拆分
alter table 表名 split partition 要拆分的分区名 at(边界值) into (新分区名1,partition 新分区2);
b.列表拆分
alter table 表名 split partition 要拆分的分区 values(精确值) into(partition 分区1,分区2);
5.重命名分区
alter table 表名 rename partition 旧分区名 to 新分区名;
6.添加分区表的子分区
alter table 表名 modify partition 父分区名 add subpartition 子分区名 values 值范围;
7.删除分区表的子分区
alter table 表名 drop subpartition 子分区名;
8.合并子分区
alter table 表名 merge subpartitions 合并分区1,合并分区2 into subpartition 新分区名;
9.拆分子分区
a.范围
alter table 表名 split subpartition 要拆分的分区 at(边界值) into(subpsrtition 新分区1,subpartition 新分区2);
b.列表
alter table 表名 split subpartition 要拆分的分区 values(值) into (subpsrtition 新分区1,subpartition 新分区2);
10.清楚删除表后保留的分区
purge user_recyclebin;