Oracle 数据库迁移一键创建源库表空间 SQL语句

简介: ⭐️ 获取需要迁移的用户可以参考:Oracle 数据泵迁移用户创建 SQL语句

⭐️ 获取需要迁移的用户可以参考:Oracle 数据泵迁移用户创建 SQL语句


首先通过用户来获取迁移需要的表空间名称:


SELECTdistinct''''|| t.tablespace_name||''',' From dba_segments t WHERE t.owner in ('需要迁移的用户名') and t.tablespace_name not in ('USERS','SYSTEM');


📢 注意:需要排除系统默认创建表空间!


通过 SQL 获取创建脚本:


SELECT'CREATE TABLESPACE '||D.TABLESPACE_NAME||' datafile ''/oradata/orcl/'||LOWER(D.TABLESPACE_NAME)||'01.dbf'''||' size '||casewhen (D.total_gb-F.free_gb) >30then30elseround(D.total_gb-F.free_gb+2) end||'G autoextend off  EXTENT MANAGEMENT LOCAL;'FROM (SELECTTABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024*1024*1024), 2) free_gbFROMSYS.DBA_FREE_SPACEGROUPBYTABLESPACE_NAME) F,
       (SELECTDD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024*1024*1024), 2) total_gbFROMSYS.DBA_DATA_FILESDDGROUPBYDD.TABLESPACE_NAME) DWHERED.TABLESPACE_NAME=F.TABLESPACE_NAME(+)
ANDD.TABLESPACE_NAMEIN ('需要创建的表空间名称');


📢 注意:/oradata/orcl/ 为目标端的数据文件目录路径!


创建 shell 脚本来后台创建表空间:


以下为 ctbs.sh 脚本内容:


sqlplus/assysdba<<EOFspoolctbs.log##这里填写上面👆🏻sql查询出来的语句!spooloffEOF


编辑好脚本之后,执行后台创建:


chmod775ctbs.shshctbs.sh&

本次分享到此结束啦~

相关文章
|
3月前
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
59 0
|
20天前
|
SQL 关系型数据库 Shell
SQL整库导出语录及其实用技巧与方法
在数据库管理和备份恢复过程中,整库导出是一项至关重要的任务
|
5月前
|
SQL 关系型数据库 MySQL
怎么通过第三方库实现标准库`database/sql`的驱动注入?
在Go语言中,数据库驱动通过注入`database/sql`标准库实现,允许统一接口操作不同数据库。本文聚焦于`github.com/go-sql-driver/mysql`如何实现MySQL驱动。`database/sql`提供通用接口和驱动注册机制,全局变量管理驱动注册,`Register`函数负责添加驱动,而MySQL驱动在`init`函数中注册自身。通过这个机制,开发者能以一致的方式处理多种数据库。
|
23天前
|
SQL Oracle 关系型数据库
SQL整库导出语录:全面解析与高效执行策略
在数据库管理和维护过程中,整库导出是一项常见的需求,无论是为了备份、迁移还是数据分析,掌握如何高效、准确地导出整个数据库至关重要
|
23天前
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
45 1
|
23天前
|
SQL Oracle 关系型数据库
SQL查询默认表空间的技巧与方法
在数据库管理中,表空间是存储数据库对象(如表、索引等)的逻辑空间单元
|
5月前
|
SQL 关系型数据库 MySQL
mysql sql语句删除一个库下的所有表
mysql sql语句删除一个库下的所有表
39 1
|
25天前
|
SQL 存储 数据库
使用SQL_语句创建,使用,删除第一个数据库
使用SQL_语句创建,使用,删除第一个数据库
9 0
|
3月前
|
Oracle 关系型数据库 数据库
[oracle]拆分多用户的公共表空间
[oracle]拆分多用户的公共表空间
|
5月前
|
SQL 存储 数据库
sql2005恢复数据库
在SQL Server 2005中恢复数据库涉及多个步骤:登录到SSMS,右键点击“数据库”选择“任务”→“还原”→“数据库”;指定备份源,选择需要的.bak文件;确认还原选项,如覆盖现有数据库;开始还原,等待完成;验证数据的完整性和准确性;如有必要,处理实例编号问题。记得先备份,确保足够磁盘空间,并在遇到问题时参考官方文档。

推荐镜像

更多