Oracle Users表空间重命名问题解决

 更新时间:2023年06月09日 08:29:18   作者:Alfred Zhao  
这篇文章主要介绍了Oracle Users表空间重命名问题,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

需求:默认无法直接删除Oracle的users表空间,直接尝试删除会有报错如下:

SQL> drop tablespace users including contents and datafiles;
drop tablespace users including contents and datafiles
*
ERROR at line 1:
ORA-12919: Can not drop the default permanent tablespace

报错很明确,USERS目前作为数据库目前默认的永久表空间,暂不支持直接删除。
进一步查询,看到有很多用户的确是默认用到了USERS表空间:

SQL>
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
SYSRAC			       USERS			      04-JAN-23
SYSTEM			       SYSTEM			      04-JAN-23
SYSBACKUP		       USERS			      04-JAN-23
AUDSYS			       USERS			      04-JAN-23
SYSKM			       USERS			      04-JAN-23
SYS			       SYSTEM			      04-JAN-23
SYSDG			       USERS			      04-JAN-23
OUTLN			       SYSTEM			      04-JAN-23
GSMADMIN_INTERNAL	       SYSAUX			      04-JAN-23
GSMUSER 		       USERS			      04-JAN-23
DIP			       USERS			      04-JAN-23
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
XS$NULL 		       SYSTEM			      04-JAN-23
REMOTE_SCHEDULER_AGENT	       USERS			      04-JAN-23
DBSFWUSER		       SYSAUX			      04-JAN-23
ORACLE_OCM		       USERS			      04-JAN-23
SYS$UMF 		       USERS			      04-JAN-23
DBSNMP			       SYSAUX			      04-JAN-23
APPQOSSYS		       SYSAUX			      04-JAN-23
GSMCATUSER		       USERS			      04-JAN-23
GGSYS			       SYSAUX			      04-JAN-23
XDB			       SYSAUX			      04-JAN-23
ANONYMOUS		       SYSAUX			      04-JAN-23
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
WMSYS			       SYSAUX			      04-JAN-23
OJVMSYS 		       USERS			      04-JAN-23
CTXSYS			       SYSAUX			      04-JAN-23
MDSYS			       SYSAUX			      04-JAN-23
ORDSYS			       USERS			      04-JAN-23
ORDDATA 		       USERS			      04-JAN-23
ORDPLUGINS		       USERS			      04-JAN-23
SI_INFORMTN_SCHEMA	       USERS			      04-JAN-23
OLAPSYS 		       SYSAUX			      04-JAN-23
MDDATA			       USERS			      04-JAN-23
APEX_180200		       SYSAUX			      04-JAN-23
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
FLOWS_FILES		       SYSAUX			      04-JAN-23
APEX_PUBLIC_USER	       USERS			      04-JAN-23
APEX_INSTANCE_ADMIN_USER       USERS			      04-JAN-23
PDBADMIN		       USERS			      04-JAN-23
HR			       SYSAUX			      04-JAN-23
JINGYU			       USERS			      06-JAN-23
TEAM			       USERS			      01-MAR-23
40 rows selected.

但现在XTTS测试,客户现有源端的users表空间也需要迁移(有用户数据,注意我们并不推荐在users存放用户数据)
如果真想删除,也是可以的,就是修改默认表空间,但还需要考虑USERS里面是否有数据要迁移,比较麻烦。
现场实施的兄弟提出能否重命名users表空间,这是个好主意,实测是OK,操作也很简单,一条语句搞定:

SQL> alter tablespace users rename to user1;
Tablespace altered.

瞬间执行完成,然后再查用户的默认表空间,也已经从users已经变成user1:

SQL> select USERNAME, DEFAULT_TABLESPACE, CREATED from dba_users order by 3;
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
SYSRAC			       USER1			      04-JAN-23
SYSTEM			       SYSTEM			      04-JAN-23
SYSBACKUP		       USER1			      04-JAN-23
AUDSYS			       USER1			      04-JAN-23
SYSKM			       USER1			      04-JAN-23
SYS			       SYSTEM			      04-JAN-23
SYSDG			       USER1			      04-JAN-23
OUTLN			       SYSTEM			      04-JAN-23
GSMADMIN_INTERNAL	       SYSAUX			      04-JAN-23
GSMUSER 		       USER1			      04-JAN-23
DIP			       USER1			      04-JAN-23
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
XS$NULL 		       SYSTEM			      04-JAN-23
REMOTE_SCHEDULER_AGENT	       USER1			      04-JAN-23
DBSFWUSER		       SYSAUX			      04-JAN-23
ORACLE_OCM		       USER1			      04-JAN-23
SYS$UMF 		       USER1			      04-JAN-23
DBSNMP			       SYSAUX			      04-JAN-23
APPQOSSYS		       SYSAUX			      04-JAN-23
GSMCATUSER		       USER1			      04-JAN-23
GGSYS			       SYSAUX			      04-JAN-23
XDB			       SYSAUX			      04-JAN-23
ANONYMOUS		       SYSAUX			      04-JAN-23
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
WMSYS			       SYSAUX			      04-JAN-23
OJVMSYS 		       USER1			      04-JAN-23
CTXSYS			       SYSAUX			      04-JAN-23
MDSYS			       SYSAUX			      04-JAN-23
ORDSYS			       USER1			      04-JAN-23
ORDDATA 		       USER1			      04-JAN-23
ORDPLUGINS		       USER1			      04-JAN-23
SI_INFORMTN_SCHEMA	       USER1			      04-JAN-23
OLAPSYS 		       SYSAUX			      04-JAN-23
MDDATA			       USER1			      04-JAN-23
APEX_180200		       SYSAUX			      04-JAN-23
USERNAME		       DEFAULT_TABLESPACE	      CREATED
------------------------------ ------------------------------ ---------
FLOWS_FILES		       SYSAUX			      04-JAN-23
APEX_PUBLIC_USER	       USER1			      04-JAN-23
APEX_INSTANCE_ADMIN_USER       USER1			      04-JAN-23
PDBADMIN		       USER1			      04-JAN-23
HR			       SYSAUX			      04-JAN-23
JINGYU			       USER1			      06-JAN-23
TEAM			       USER1			      01-MAR-23
40 rows selected.

查询数据库默认永久表空间也都变成了USER1:

SQL> SELECT PROPERTY_VALUE
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE';  2    3
PROPERTY_VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
USER1

到此这篇关于Oracle Users表空间重命名的文章就介绍到这了,更多相关Oracle Users表空间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle监听注册的实现

    Oracle监听注册的实现

    Oracle数据库的注册监听功能是Oracle数据库管理的一个重要组成部分,它允许数据库实例接收来自客户端请求,并且可以自动恢复数据库服务,感兴趣的可以了解一下
    2023-12-12
  • Navicat for oracle创建数据库的方法

    Navicat for oracle创建数据库的方法

    这篇文章主要介绍了Navicat for oracle创建数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Oracle中实现行列互转的方法分享

    Oracle中实现行列互转的方法分享

    这篇文章主要为大家总结了Oracle中实现行列互转的简单方法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • 关于SQL执行计划错误导致临时表空间不足的问题

    关于SQL执行计划错误导致临时表空间不足的问题

    故障现象:临时表空间不足的问题已经报错过3次,客户也烦了,前两次都是同事添加5G的数据文件,目前已经达到40G,占用临时表空间主要是distinct 和group by 以及Union all 表数据量在200W左右,也不至于把40G的临时表空间撑爆。
    2013-04-04
  • Oracle基础学习之子查询

    Oracle基础学习之子查询

    所谓子查询就是当一个查询的结果是另一个查询的条件时,称之为子查询。本文给大家详细的介绍了关于Oracle中子查询的相关知识,文中的内容也算是自己的一些学习笔记,希望对有需要的朋友们能有所帮助,感兴趣的朋友们下面来一起看看吧。
    2016-11-11
  • oracle常用数据类型说明

    oracle常用数据类型说明

    这篇文章主要介绍了oracle常用数据类型说明,需要的朋友可以参考下
    2014-02-02
  • 获取Oracle表大小的三种方法

    获取Oracle表大小的三种方法

    在 Oracle 数据库中,获取表的大小可以通过查询数据字典视图 DBA_SEGMENTS、USER_SEGMENTS 或 ALL_SEGMENTS,具体取决于你的权限范围和需求,本文通过代码示例介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • PL/SQL中编写Oracle数据库分页的存储过程

    PL/SQL中编写Oracle数据库分页的存储过程

    这篇文章主要介绍了 PL/SQL中编写Oracle数据库分页的存储过程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-06-06
  • Oracle数据库安装教程并实现公网远程连接(内网穿透)

    Oracle数据库安装教程并实现公网远程连接(内网穿透)

    Oracle数据库是用于处理数据存储及大量数据计算的常用数据库,下面这篇文章主要给大家介绍了关于Oracle数据库安装教程并实现公网远程连接(内网穿透)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Oracle面试题及答案超全整理

    Oracle面试题及答案超全整理

    我们在Oracle数据库上面实现更多运算任务时,有可能会碰到有关Oracle的一些笔试和面试题,让大家更加有效地掌握Oracle数据库的知识,赶超比自己职业前景更好的人,下面这篇文章主要给大家介绍了关于Oracle面试题及答案整理的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论