设计创建表
1、表空间和用户
表空间
表空间是数据库中最大的逻辑单位,一个Oracle 数据库中至少包含一个表空间,就是名为 SYSTEM 的系统表空间,每个表空间都是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。表空间的大写等于构成该表空间的所有数据文件大小之和。
默认包含如下表空间(从
v$tablespace
中查看):SYSTEM、SYSAUX、TEMP、UNDOTBS1、USERS
system
:是系统表空间,存放系统的最基本的信息,如果 system 表空间损坏,Oracle 将无法启动sysaux
:从10g 中引入,作为 system 的辅助表空间,用以减少 system 表空间的负荷。以前其他表空间中的一些组件,现在放到了 sysaux 表空间中了temp
:是临时表空间,当排序不能在分配的空间中完成时,就会使用磁盘排序的方式,即在 Oracle 实例中的临时表空间中进行undotbs1
:是撤销表空间,是 undo 类型的表空间,保存用户进行 DML 操作中,修改前的数据users
:是数据库默认的永久表空间
-- 查询表空间,要使用管理员用户查询
select * from V_$TABLESPACE;
-- 查询当前用户默认表空间
select default_tablespace from user_users;
-- 创建表空间语法
create tablespace tablespace_name
datafile '表空间文件路径'
size 1G
autoextend on next 100M
maxsize unlimited ;
-- 删除表空间
drop tablespace tablespace_name;
create tablespace
:创建表空间关键字tablespace_name
:表空间名称datafile
:指定表空间文件路径(般指向oracle安装根目录下oradata/数据库实例名/.dbf)size 1G
:指定表空间文件的初始大小,大小单位可以是G、M、K等autoextend on next 100M
:autoextend 表示表空间大小自动扩展,on next 100M指定每个表空间满了之后扩展的大小maxsize unlimited
:maxsize 指定表空间的最大存储值,unlimited 表示不限制表空间的最大值
-- 创建表空间
create tablespace test1
datafile 'C:\Oracle\Libra\oradata\orcl\test1data.dbf'
size 1G
autoextend on next 100M
maxsize unlimited ;
-- 修改表空间
alter tablespace test1
datafile 'C:\Oracle\Libra\oradata\orcl\test1data.dbf'
autoextend on next 200M
maxsize 2G ;
-- 修改原有的数据文件大小
alter tablespace test1
datafile 'C:\Oracle\Libra\oradata\orcl\test1data.dbf'
resize 100M ;
-- 为表空间增加新的数据文件
alter tablespace 表空间名
add datafile 数据文件
size 大小
临时表空间
当排序不能在分配的空间中完成时,就会使用磁盘排序的方式,即在Oracle实例中的临时表空间中进行
-- 创建临时表空间语法
create temporary tablespace tablespace_name
tempfile '表空间文件路径'
size 1G
autoextend on next 100M
maxsize unlimited ;
- temporary:表明创建的表空间是临时表空间
- tempfile:指定临时表空间文件
-- 创建临时表空间
create temporary tablespace test1temp
tempfile 'C:\Oracle\Libra\oradata\orcl\test1temp.dbf'
size 1G
autoextend on next 100M
maxsize unlimited ;
用户
-- 创建用户语法
create us