新手第一步,在创建新用户的时候,如果是想将创建的新用户与已有用户分割开,那么表空间最好是尝试自己创立一个
创建表空间的步骤:
创建表空间
CREATE TABLESPACE tablespace_name -- tablespace_name 想要创建的表空间的名称
LOGGING -- Oracle将重做日志记录应用于该表空间。通常,大多数表空间都被设置为logging
DATAFILE 'datafile_path' -- datafile_path 数据文件的路径和名称。确保指定正确的路径和文件名,并且确保数据库服务器上有足够的磁盘空间来存储该数据文件。
SIZE 100M -- 100M 这是数据文件的初始大小。您可以使用具体的数值指定大小(例如100M),或者使用关键字如UNLIMITED来表示无限大。
AUTOEXTEND ON/OFF -- 控制数据文件是否自动扩展 ON 和OFF 二选一
NEXT size_increment -- 当数据文件自动扩展时,此参数指定下一次扩展时的大小增量
MAXSIZE 5120M -- 5120M 指定数据文件可以增长到的最大大小。使用关键字UNLIMITED表示没有限制。
EXTENT MANAGEMENT { LOCAL | DICTIONARY } -- 控制如何管理表空间的扩展段 本地管理(LOCAL)字典管理(DICTIONARY)
-- 本地管理将扩展段的管理任务委派给数据库,而字典管理使用外部的表空间管理工具来管理扩展段
以下是举个具体的例子:
CREATE TABLESPACE HR
LOGGING
DATAFILE '/opt/oracle/oradata/ORCLCDB/hr01.dbf'
SIZE 100M
AUTOEXTEND ON
NEXT 200M
MAXSIZE 5120M
EXTENT MANAGEMENT LOCAL
这里给个题外话,如果不知道自己数据文件路径,可以看看其他的用户下的文件是放在哪里,通过拥有dba权限的用户,sql语句可以查询到,
SELECT FILE_NAME, TABLESPACE_NAME, BYTES / 1024 / 1024 AS SIZE_MB FROM DBA_DATA_FILES;
查询结果如图:
拥有创建,那么对应的也有删除,接下来
删除表空间
参数说明
INCLUDING CONTENTS:该选项指示删除表空间的同时删除表空间中的所有数据对象(如表和索引)。如果不包括此选项,表空间将被删除,但其中的数据对象将保留在数据库中。
AND DATAFILES:该选项指示删除表空间的同时删除与表空间关联的数据文件。如果不包括此选项,表空间将被删除,但数据文件将保留在数据库中。请注意,如果表空间包含许多数据对象,使用此选项可能会生成大量undo数据。
CASCADE CONSTRAINTS:如果要删除的表空间之外的表引用了该表空间内表的主键和唯一键等约束,则可以使用此选项删除这些引用完整性约束。
DROP TABLESPACE HR;
执行DROP TABLESPACE命令只会删除表空间及其包含的数据对象和数据文件在数据库中的逻辑结构,而不会从文件系统级别物理删除数据文件。
数据文件仍然存储在文件系统中,但它们在数据库中的引用已经被删除。
下面是完全删除命令:
-- 完全删除,将服务器中的文件也同时删除,慎用
DROP TABLESPACE HR INCLUDING CONTENTS AND DATAFILES;
报错
ORA-01119: 创建数据库文件 '/opt/oracle/oradata/ORCLCDB/hr01.dbf' 时出错
ORA-27038: 所创建的文件已存在
Additional information: 1
如果删除不彻底的话,但是又执行了删除操作,再次创建会报数据文件存在的错误,那么在确认数据文件不需要的情况下,登录服务器
cd 进入到该目录,/opt/oracle/oradata/ORCLCDB下,执行rm删除操作
cd /opt/oracle/oradata/ORCLCDB
rm hr01.dbf