Oracle Users表空间重命名

这篇具有很好参考价值的文章主要介绍了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:文章来源地址https://www.toymoban.com/news/detail-475709.html

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

PROPERTY_VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
USER1

到了这里,关于Oracle Users表空间重命名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C++】命名空间 namespace 与 标准流 iostream ( 命名空间概念简介 | 命名空间定义 | 命名空间使用 | iostream 中的命名空间分析 )

    命名空间 namespace 又称为 名字空间 , 名称空间 , 名域 , 作用域 , 是 C++ 语言 对 C 语言 的扩展 之一 ; C++ 中的 命名空间 namespace 指的是 标识符 的 可见范围 , C++ 标准库中的 所有 标识符 , 都定义在 std 命名空间中 ; 命名空间 英文名称是 \\\" namespace \\\" , name 是 名字 , 名称 的意思 ,

    2024年02月12日
    浏览(32)
  • SQL 错误 [1950] [42000]: ORA-01950: 对表空间 ‘USERS‘ 无权限 这问题怎么解决

    要解决 ORA-01950 错误,即对于表空间 USERS 没有足够的权限,您可以按照以下步骤进行操作: 以具有管理员权限的用户(例如SYS或SYSTEM)连接到Oracle数据库。 授予遇到错误的用户在 USERS 表空间上所需的权限。您可以使用以下命令: 将 替换为实际遇到问题的用户名。 3. 如果用

    2024年02月11日
    浏览(26)
  • [Unity命名空间教程]介绍Unity新自带的命名空间UnityEngine.Pool

      大家都知道在一些游戏中常常要创建大量的游戏对象,如果这些对象长期占用一些内存而没有触发垃圾回收机制(以下简称GC)或者过于频繁的触发GC就会导致游戏的帧数暴跌,在移动设备直接造成卡死的现象,那引用对象池的概念,能让这些游戏对象在刚开始的时候就被初

    2023年04月11日
    浏览(35)
  • vs2022 命名空间“System”中不存在类型或命名空间名“Printing”

    在监控打印机状态的时候,需要用到System.Printing。 System.Printing 命名空间 | Microsoft Learn 在微软官网有这个命名空间,其中提到 不支持命名空间中的System.Printing类在Windows服务或 ASP.NET 应用程序或服务中使用。 尝试从其中一种应用程序类型内使用这些类可能会导致意外问题,例

    2024年02月05日
    浏览(26)
  • 命名空间“Microsoft”中不存在类型或命名空间名“office”(是否缺少程序集引用?)

    生成软件的时候提示office报错 项目-引用-右击添加引用-选择如下图-点击确定 选择后点击重新生成即可生成成功! 如果是之前就有添加,然后再打开这个软件显示office报错,就将之前引用的删除,重新添加引用 。

    2024年02月11日
    浏览(40)
  • 重命名Github的默认分支名

    - 最简单的办法是在github网站直接重命名,但是比较危险,因为有很多其他人已经把这个分支拉到本地了   - 另一个办法是基于当前的主分支,新建一个你要重命名的目标名字的分支         - git checkout 当前主分支名         - git checkout -b 目标主分支名         - git push

    2024年02月11日
    浏览(29)
  • 【C++】命名空间

    命名空间时怎么来的?它又是什么,让我们一起来看一下吧 首先了解:在同一个域中不能同时出现重名的变量或函数名等(不同域中可以尽管是全局与局部域) ok 我们来看 在工程项目里,一开始用 C语言 开发时,可能你在你的项目文件中给你的变量(或函数)取了一个好名

    2024年02月02日
    浏览(31)
  • 【C++ 记忆站】命名空间

    在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存 在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化, 以避免命名冲突或名字污染,namespace的出现就是针对这种问题的。 很多人在开

    2024年02月12日
    浏览(29)
  • 【C++】命名空间 ( namespace )

    命名空间是一种用来避免命名冲突的机制,它可以将一段代码的名称隔离开,使其与其他代码的名称不冲突; 命名空间的原理是将一个全局的作用域分成一个个命名空间,每个命名空间是个单独的作用域,同时若是在同一个作用域内可能出现的命名冲突也不会造成影响,有效

    2024年02月04日
    浏览(25)
  • 【C++】命名空间详解

    目录 前言 命名空间的定义  命名空间的使用 在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存 在于全局作用域中,可能会导致很多冲突。 使用命名空间的目的是对标识符的名称进行本地化 , 以 避免命名冲突或名字污染 ,namespa

    2024年01月25日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包