[oracle]拆分多用户的公共表空间
2022/6/14 2:21:20
本文主要是介绍[oracle]拆分多用户的公共表空间,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
开发环境之前多个用户共用一个表空间,后期维护比较麻烦,因此需要将这些用户拆出来,一个用户一个表空间,以后清理这些用户也更方便。
大致思路:假设A、B、C用户共用一个表空间,将A、B、C的用户数据使用expdp或其他工具备份出来,分别创建一个新的用户和表空间,将数据使用impdp还原到新用户。基本等于复制了一个新用户。
- 数据库版本:oracle 19c
步骤
- 备份旧用户数据。账户信息:ZHANGSAN/ZHANGSAN@192.168.0.10:1521/orcl。备份到DATA_PUMP_DIR目录,这个是Oracle安装好之后就有的目录。指定备份文件和备份日志。
expdp ZHANGSAN/ZHANGSAN@192.168.0.10:1521/orcl \ directory=DATA_PUMP_DIR dumpfile=ZHANGSAN_20220610_expdp.dmp \ logfile=ZHANGSAN_20220610_expdp.log
- 新建表空间。起始256MB,每次能扩增256MB,最大2048MB。
create tablespace TS_ZHANGSAN0610 logging datafile 'TS_ZHANGSAN0610.dbf' size 256m autoextend on next 256m maxsize 2048m extent management local;
- 创建新用户并授权
create user ZHANGSAN0610 identified by ZHANGSAN0610 default tablespace TS_ZHANGSAN0610; grant alter session, create any synonym, create any trigger, create job, create materialized view, create procedure, create public synonym, create view, create table to ZHANGSAN0610; grant connect, create sequence, unlimited tablespace to ZHANGSAN0610; grant read, write on directory DATA_PUMP_DIR to ZHANGSAN0610; grant connect, resource, dba to ZHANGSAN0610;
- 还原数据。使用新用户导入数据,使用
remap_schema
将旧帐户数据映射到新账户的schema,使用remap_tablespace
将旧帐户的表空间映射到新账户的表空间。
impdp ZHANGSAN0610/ZHANGSAN0610@192.168.90.213:1521/orcl \ directory=DATA_PUMP_DIR dumpfile=ZHANGSAN_20220610_expdp.dmp \ logfile=ZHANGSAN0610_20220610_impdp.log \ remap_schema=ZHANGSAN:ZHANGSAN0610 \ remap_tablespace=TS_PUBLIC:TS_ZHANGSAN0610 transform=OID:N
- 导入完成后,使用客户端工具自验证新用户数据导入是否正常,正常的话交给相关人员将后端程序切换到新库进行验证。
这篇关于[oracle]拆分多用户的公共表空间的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升
- 2024-05-08代码报错不用愁,CodeGeeX一键完成代码修复、错误解释的功能上线了!
- 2024-05-08今天开始程序员不用再发愁写commit message了,全部由CodeGeeX自动完成!