需求:默认无法直接删除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表空间重命名的更多相关文章

  1. oracle数据库表空间及归档

    --表空间(TableSpace)是Oracle的开创性理念.表空间使得数据库管理更加灵活,而且极大地提高了数据库性能. --作用 :1.避免磁盘空间突然耗竭的风险 2.规划数据更灵活 3.提高数据库 ...

  2. [转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

    Oracle报错ORA-26563--当重命名表时碰到物化视图 https://www.toutiao.com/i6739137279115133447/ 原创 波波说运维 2019-09-26 00 ...

  3. 在oracle表中增加、修改、删除字段,表的重命名,字段顺序调整

    增加字段语法:alter table tablename add (column datatype [default value][null/not null],….); 说明:alter table ...

  4. 转 关于oracle 分区表 表空间以及索引的总结

    关于oracle的表空间,分区表,以及索引的总结关键字: oracle, 表空间, 分区表, 索引 上周第一次做数据库测试碰到了很多问题特此总结: 表空间: Oracle的UNDOTBS01.DBF文 ...

  5. oracle数据库表空间追加数据库文件方法

    oracle数据库表空间追加数据库文件方法   针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G  第一种方式:表空间增加数据文件    www.2cto.com   1 ...

  6. Oracle 设置表空间自增长

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  7. Oracle Temp表空间切换

    来源于:  http://www.2cto.com/database/201507/418564.html 一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时 ...

  8. Oracle基础表空间建立,以及练习

    Oracle的表空间创建,可以采用网页的https://127.0.0.1:1158/em来进入oracle的页面进行创建表空间. 利用plsqldev.exe程序在表空间里添加数据: 首先要在use ...

  9. [转载]Oracle修改表空间大小

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  10. Oracle建立表空间和用户

    Oracle建立表空间和用户 建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create sess ...

随机推荐

  1. 利用复杂数据类型(eg:对象)时,是直接调用属性快,还是先用变量填装使用快

    为了验证,我用时间戳去尝试 <!DOCTYPE html> <html lang="zh-CN"> <head>     <meta ch ...

  2. spark中的持久化机制以及lineage和checkpoint(简含源码解析)

    spark相比MapReduce最大的优势是,spark是基于内存的计算模型,有的spark应用比较复杂,如果中间出错了,那么只能根据lineage从头开始计算,所以为了避免这种情况,spark提供了 ...

  3. selenium验证码处理之机器学习(光学识别ocr技术获取验证码的数据)

    ocr识别库地址: https://github.com/UB-Mannheim/tesseract/wiki 遇到的问题:百度的解释------------------- 遇到的问题2:

  4. C++库封装JNI接口——实现java调用c++

    1. JNI原理概述 通常为了更加灵活高效地实现计算逻辑,我们一般使用C/C++实现,编译为动态库,并为其设置C接口和C++接口.用C++实现的一个库其实是一个或多个类的简单编译链接产物.然后暴露其实 ...

  5. 在Kubernetes部署GitLab

    在Kubernetes部署GitLab 前置条件 已安装Helm工具已部署NFS自动创建PVC 使用HELM安装 [root@k8s-master01 ~]# helm repo add gitlab ...

  6. 【CTF】关于 .init .fini .init_array .fini_array 日志 2019.7.16 pwn

    查找资料的高效性 retn 返回到栈顶地址 关于 .init .fini .init_array .fini_array 其中存放着的是在main函数执行前执行的代码,由__libc_start_ma ...

  7. SpringSecurity+Token实现权限校验

    1.Spring Security简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配 ...

  8. 20-优化配置介绍、HMR

    webpack性能优化 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 HMR 优化代码调试 source-map 生产环境性能优化 优化打包构建速度 oneOf babel缓 ...

  9. 【原型设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

    简介 原型模式(Prototype Pattern)是一种创建型设计模式,使你能够复制已有对象,而无需使代码依赖它们所属的类,同时又能保证性能. 这种模式是实现了一个原型接口,该接口用于创建当前对象的 ...

  10. Hadoop运行集群搭建

    Hadoop运行集群搭建 虚拟机环境准备 安装虚拟机及基本配置 IP地址192.168.10.100.主机名称hadoop100,内存4G.硬盘50G 测试下虚拟机联网情况 1 [root@hadoo ...