oracle 转移是什么意思,Oracle数据库迁移的几种方式以及一些坑
最近做了个oracle数据库迁移,有几种方式,我来列举几种:1.exp/imp 对象导出
2.expdp/impdp 数据泵导入导出
3.plsql的sql导出
4.navicat的数据传输(带数据迁移)
5.navicat的数据结构同步
刚刚罗列的5种,前几年网上常见的基本是1,2俩种,他俩的操作都是基于命令符操作,需要对命令有一定的了解。
而3,4,5这三种,是小白式窗口点击即可。
这里带来的是窗口直接点击的几种:
plsql----工具(tool)----用户对象(user object) (支持分区表等复杂表结构,exp不支持导出分区表)用户选中你要导出的用户
输入要保存本地的地址,点击导出。(不选择表默认是全表表结构导出)
然后在把脚本直接复制进plsql执行,复杂的数据库不要使用“导入表”这个功能,否则会丢失部分表或存储过程。
navicat----工具----结构同步: (只导出表结构,不支持分区表)源选择连接的数据库,目标选择要迁移到保存的数据库
选择表和存储过程(需要哪些就选哪些),点击部署
注:如果需要查询数据库表用户给其他用户授权过什么权限。查询sql如下:(结果集即对应权限sql)select 'GRANT '||privilege||' ON ' || table_name || ' to '||grantee||';' from user_tab_privs u
where u.owner='oracle用户名'
group by u.privilege,u.grantee,u.owner,u.table_name,u.grantor
order by u.grantee;
一些优化排查的sql:--查看被锁的表
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
--查看那个用户那个进程照成死锁
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
--查出锁定表的sid,s.serial#
SELECT s.sid, s.serial#, s.username, s.schemaname, s.osuser, s.process, s.machine,
s.terminal, s.logon_time, l.type
FROM v$session s, v$lock l
WHERE s.sid = l.sid
and s.terminal='WURAO'
AND s.username IS NOT NULL
ORDER BY sid;
--杀掉占用进程sid,serial#
alter system kill session 'sid,serial#';
--查看表数量
select u.TABLE_NAME,u.NUM_ROWS from user_tables u
--查看连接数
select * from v$session;
--查看并发连接数
select * from v$session where status='ACTIVE';
--查找工作空间的路径
select * from dba_data_files;
--添加表空间:
alter tablespace CDI_DATA_TBS add datafile '/u01/app/oracle/oradata/hcctest3/CDI_DATA_TBS_add01.dbf' size 1000M;
1.查看用户的连接状态
select username,sid,serial# from v$session where username='GUI';
2.找到要删除用户的sid和serial并杀死
alter system kill session'74,1648';
3.删除用户
drop user cdi cascade;
oracle 转移是什么意思,Oracle数据库迁移的几种方式以及一些坑相关推荐
- oracle迁移几种方式,Oracle数据库迁移的几种方式
Oracle数据库迁移的几种方式 我们常常需要对数据进行迁移,迁移到更性能配置更高级的主机OS上.迁移到远程的机房.迁移到不同的平台下,以下介绍ORACLE的几种数据库迁移方案: 一.exp/imp逻 ...
- 批量插入数据库语句java_java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)...
java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码) 发布于 2020-7-22| 复制链接 本文通过实例代码给大家分享了MyBatis批量插入数据到Oracle数据库 ...
- 在生产环境下处理EFCore数据库迁移的五种方法
在生产环境下处理EFCore数据库迁移的五种方法 原文链接:https://www.thereformedprogrammer.net/handling-entity-framework-core-d ...
- 数据迁移的几种方式 - MySQL数据库
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
- 视频教程-怎么架构生产数据库--生产数据库优化的一种方式-MySQL
怎么架构生产数据库--生产数据库优化的一种方式 运维经理,高级架构师.曾任职于NEC软件.海尔B2B平台巨商汇,负责企业数据平台构建.B2B电商平台数据管理与搭建.企业运维管理平台搭建.拥有丰富DBA ...
- php 数组存入mysql_PHP将数组存入数据库中的四种方式
1.implode()和explode()方式 2.print_r()和自定义函数方式 3.serialize()和unserialize()方式 4.json_encode()和json_decod ...
- PHP将数组存入数据库中的四种方式
最近突然遇到了一个问题,如何用PHP将数组存入到数据库中,经过自己的多方查找和研究,总结了以下四种方法: 1.implode()和explode()方式 2.print_r()和自定义函数方式 3.s ...
- SQL Server 2008 数据库同步的两种方式 (发布、订阅)
参考转载: SQL Server 2008 数据库同步的两种方式 (发布.订阅) 使用Sqlserver事务发布实现数据同步 转载于:https://www.cnblogs.com/YangBinCh ...
- Code First02---CodeFirst配置实体与数据库映射的两种方式
Code First有两种配置数据库映射的方式,一种是使用数据属性DataAnnotation,另一种是Fluent API. 这两种方式分别是什么呢?下面进行一一解释: DataAnnotation ...
最新文章
- 遗传:细菌、真菌和动植物的泛基因组研究进展
- 斯坦福连续发了四年的AI报告,今年讲了什么?
- 实现cookie跨域
- 100行代码实现了多线程,批量写入,文件分块的日志方法
- python tab键自动补全_设置python中TAB键自动补全方法
- 个人知识管理系统思源笔记
- B站下载视频之you-get的使用
- 一文读懂图像局部特征点检测算法!
- My Sixth-Third Page - 爬楼梯 - By Nicolas
- 一款值得使用的会议室管理软件【会议预订小程序】
- Nexus5刷Firefox OS 2.0
- [跟进]_会议“诊断腾讯”
- 串口通信-电脑控制单片机点亮LED
- python 获取一年中所有工作日列表来辅助计算工作时间内的时间差
- java代理(静态代理和jdk动态代理以及cglib代理)
- 区块链学习2-合约开发
- Error creating bean with name ‘ribbonLoadBalancingHttpClient‘
- 潘多拉路由器搭建php,openwrt PandoraBox(潘多拉)如何安装使用SQM QoS
- 主流数据类型及其特点
- 51单片机学习笔记-8 DS1302实时时钟