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表空间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文教会你配置使用Navicat或PLSQL可视化工具远程连接Oracle

    一文教会你配置使用Navicat或PLSQL可视化工具远程连接Oracle

    Navicat是一款数据库管理工具,是一个可多重连线资料库的管理工具,下面这篇文章主要给大家介绍了关于配置使用Navicat或PLSQL可视化工具远程连接Oracle的相关资料,需要的朋友可以参考下
    2023-04-04
  • oracle 常见等待事件及处理方法

    oracle 常见等待事件及处理方法

    我们可以通过视图v$session_wait来查看系统当前的等待事件,以及与等待事件相对应的资源的相关信息
    2009-03-03
  • Oracle新增字段和注释代码示例

    Oracle新增字段和注释代码示例

    Oracle数据库中给字段添加注释是非常有用的,在我们对数据库进行分析和维护时,通过字段注释可以更容易地了解这些字段的含义,这篇文章主要给大家介绍了关于Oracle新增字段和注释的相关资料,需要的朋友可以参考下
    2023-09-09
  • oracle实现一对多数据分页查询筛选示例代码

    oracle实现一对多数据分页查询筛选示例代码

    这篇文章主要给大家介绍了关于oracle实现一对多数据分页查询筛选的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • oracle报错(ORA-00600)问题处理

    oracle报错(ORA-00600)问题处理

    最近在做一个项目,使用的是Oracle数据库,近两天不知道怎么回事,告警日志里总是显示这个错误(ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[])度娘了一下,终于找到解决方式,分享给大家
    2014-08-08
  • MySQL实现按分秒统计数据量方式

    MySQL实现按分秒统计数据量方式

    在MySQL中,通过使用GROUP BY结合时间处理函数,可以有效统计每秒、每分钟、每5分钟、每10分钟和每30分钟的交易量,通过对transaction_time字段进行格式化和分段,可以灵活调整统计的时间间隔,此方法适用于需要精确时间段统计的场景,如性能监控、数据分析等
    2024-10-10
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法

    Orcle的package中访问其它Schema的表报错ORA-00942解决方法

    package要访问其它Schema的表,但编译报错ORA-00942,经过搜索了一下找到了解决方法下面与大家分享下
    2013-05-05
  • 在Oracle 8x实现自动断开后再连接

    在Oracle 8x实现自动断开后再连接

    在Oracle 8x实现自动断开后再连接...
    2007-03-03
  • Oracle中3种常用的分页查询方法

    Oracle中3种常用的分页查询方法

    这篇文章主要给大家介绍了关于Oracle中3种常用的分页查询方法,分页查询就是把query到的结果集按页显示,比如一个结果集有1W行,每页按100条数据库,而你获取了第2页的结果集,需要的朋友可以参考下
    2023-09-09
  • 详解Oracle数据库各类控制语句的使用

    详解Oracle数据库各类控制语句的使用

    本文我们主要介绍了Oracle数据库中各种控制语句的使用,包括逻辑控制语句、Case when的使用、While的使用以及For的使用等,希望本次的介绍能够对您有所收获!
    2015-09-09

最新评论