-
库、模式、表空间之间的关系
KES数据库结构图
列出集簇现有的数据库清单
\l
默认数据库的作用介绍
数据库定义以及相关操作
创建数据库并设置参数
设置属主、编码、参照模板template0、连接数为0
create database 数据库名 owner 属主用户名 template template0 encoding '编码' connection limit 连接数量;
查看创建的数据库定义信息
\l可以查看数据库的属主和名称
修改数据库的属主和名称
alter database 数据库名 owner to 属主用户名;
alter database 旧数据库名 rename to 新数据库名;
修改前
修改后
删除数据库会时注意事项
非属主/非超级用户或库正在使用不能删除
模式的定义以及相关操作
查看数据库中的模式清单
\dn+
主要模式介绍
创建模式
指定模式属主
create schema 模式名 authorization 属主用户名;(也可以不设置属主,那就按默认的来)
检查模式定义信息
\dn+ user01
修改模式
alter schema 模式名 owner to 属主名;
alter schema 模式名 rename to 新模式名;
查看修改结果
\dn+ 模式名
删除模式
drop schema 模式名
当删除模式提示有依赖无法删除时
查看模式中的对象信息
\d+ 模式名.*
递归删除模式
drop schema 模式名 cascade ;
表空间的增删改查
查看表空间的清单
使用元命令查看表空间信息
\db+
使用数据字典查看表空间信息
select oid,spcname from sys_tablespace;
查看数据库的默认表空间信息
\l
默认表空间介绍
创建表空间
创建表空间需要规划表空间对应的文件系统目录
创建表空间,关联/dir01目录,表空间属主默认
create tablespace 表空间名 location '目录路径';
修改表空间
修改表空间定义信息
alter tablespace 表空间名 owner to 属主用户;
alter tablespace 旧表空间名 rename to t新表空间名;
修改数据库的表空间
alter database 数据库名 set tablespace 表空间名;
移动表到新的表空间
测试:
先在表空间sys_default中创建表t01并插入1行数据
create table 表名(表结构) tablespace 表空间 ; 创建表并指定表空间
insert into t01 values (100); #插入数据
然后移动表到表空间。
alter table 表名 set tablespace 表空间; #移动表到新的表空间
查看表空间修改结果
查看test数据库中t01表所在的表空间
查看新表空间的名称属主等信息
删除表空间
1.使用system用户连接数据库test删除tbs10表空间
注意:无法直接删除非空表空间或默认表空间
2.排查tbs10表空间中有哪些对象并移动或删除这些对象。
步骤:
- 查看tbs10表空间的OID。
- 通过表空间的OID查找该表空间中存在对象的数据库。
- 根据上一步获取的数据库列表登录每个数据库并查找放在tbs10表空间中的对象。
- 移动所有在表空间tbs10中的对象到其他表空间。
3.排查tbs10表空间被设置为哪些数据库的默认表表空间并解除关联。
(1)查看默认表空间为tbs10的数据库信息。
(2)解除数据库与tbs10的关联。
- 再次尝试删除表空间tbs10