oracle数据库迁移步骤思路
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,背景:做为一名DBA,oracle数据库迁移是经常要遇到的事情,正好最近我也在迁移一个业务系统,数据库就是oracle,顺便记录一下。说明:为了方便说明,旧的数据库称为A,新的为B。用户和密码是IRP
千家信息网最后更新 2025年11月11日oracle数据库迁移步骤思路
背景:做为一名DBA,oracle数据库迁移是经常要遇到的事情,正好最近我也在迁移一个业务系统,数据库就是oracle,顺便记录一下。
说明:为了方便说明,旧的数据库称为A,新的为B。用户和密码是IRP/IRP , B是全新的环境。
步骤思路:
1.从 A 上导出数据文件。
sqlplus /nologconn / as sysdbaEXP IRP/IRP BUFFER=64000 FILE=D:\test.DMP log=D:\test.log OWNER=IRP
2.在A机器上查看用户默认表空间,以便导入时创建一样的表空间
SQL> select username,default_tablespace from dba_users where username ='IRP'; USERNAME DEFAULT_TABLESPACE ------------------------------ ------------------------------ IRP IRP
3.查看用户使用的表空间
SQL> select DISTINCT owner ,tablespace_name from dba_extents where owner like 'IRP'; OWNER TABLESPACE_NAME ------------------------------ ------------------------------ IRP IRP
4.查看表空间对应的数据文件,以便在B上创建大小合适的数据文件。
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name in 'IRP'; FILE_NAME TABLESPACE_NAME ------------------------------------------------------------ ---------- D:\APP\ADMINISTRATOR\ORADATA\ORCL\IRP.DBF IRP 如果用户使用多个表空间,查询语句如下select file_name,tablespace_name from dba_data_files where tablespace_name in ('IRP1','IRP2');
5.检查B机器的表空间,看是否存在IRP(如果是新的服务器,不需要这一步)
select name from v$tablespace where name in 'IRP' 查找不到,说明没有这个两个表空间,需要创建。
6.在B上创建表空间、用户并授权
创建大文件表空间CREATE BIGFILE TABLESPACE "IRP" DATAFILE 'D:\app\oracle\oradata\orcl\irp.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 创建默认表空间或者 CREATE TABLESPACE "IRP" DATAFILE 'D:\app\oracle\oradata\orcl\irp.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 10000M LOGGING EXTENT MANAGEMENT LOCAL; 创建用户 CREATE USER "IRP" PROFILE "DEFAULT" IDENTIFIED BY "IRP" DEFAULT TABLESPACE "IRP" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; 授权 GRANT "CONNECT" TO "IRP"; GRANT "RESOURCE" TO "IRP"; GRANT unlimited tablespace TO "IRP";注: BigFile表空间只能创建一个datafile数据文件,SmallFile表空间最多可以创建1024个数据文件
7.如果在服务器B上已经存在该用户,怎么样删除该用户.
查看是否存在该用户SQL> select username from dba_users where username='IRP'; 删除用户及其拥有的所有对象drop user IRP cascade; 查看这个用户下面是否有对象;select object_type,count(*) from all_objects where owner='IRP' group by object_type OBJECT_TYPE COUNT(*)------------------------------------------------------------ ----------1 SEQUENCE 3 2 PROCEDURE 5 3 LOB 139 4 PACKAGE 3 5 PACKAGE BODY 2 6 TRIGGER 1 7 TABLE 384 8 INDEX 426 9 FUNCTION 6
此时如果这个用户在连接,drop会出错,必须先杀掉用户的session,然后再drop user
构建杀掉IRP用户session的语句并执行,SELECT 'alter system kill session '''||SID||','||SERIAL#||''' immediate;' FROM V$SESSION WHERE USERNAME='IRP';上面的语句是构建出杀掉IRP用户session的语句,再复制这些语句,粘贴到sqlplus中执行,来杀掉IRP的session。'ALTERSYSTEMKILLSESSION'''||SID||','||SERIAL#||'''IMMEDIATE;' --------------------------------------------------------------alter system kill session '9,42043' immediate; alter system kill session '10,9137' immediate; alter system kill session '72,17487' immediate; alter system kill session '84,3280' immediate; alter system kill session '91,976' immediate; alter system kill session '100,13516' immediate; alter system kill session '111,5973' immediate; alter system kill session '115,4751' immediate; alter system kill session '120,10356' immediate; alter system kill session '211,4075' immediate; alter system kill session '216,48068' immediate;
8.最后在B上导入数据
一定注意执行imp时要退出sqlplus,直接在命令行执行。
IMP test/test BUFFER=64000 FILE=D:\test.DMP log=D:\imptest.log FROMUSER=IRP TOUSER=IRP
用户
空间
数据
文件
语句
数据库
对象
服务器
机器
服务
思路
步骤
合适
业务
两个
事情
全新
命令
多个
大小
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器前期调研报告模板
怎么获得我的世界服务器的种子
常德市学软件开发培训学校
互联网科技估值
湛江网络安全宣传周
我的世界找服务器管理员
2017中国网络安全态势
安徽省公安厅网络安全李
对网络安全攻击的看法
大同什么是网络安全服务保障
数据库连接池作用
公安网络安全教育学习的目的
网络安全监督方案
中国网络安全知识达人
java数据库视频
前端查询数据库优化
上海财经大学网络安全
华为服务器维修外屏价格
数据库架构需要什么
网络技术在军事的应用论文
数据库列名描述
数据库技术思考题答案
查询数据库用户是否注册表
无锡锡山大华智能服务器施工
白链属于那哪家数据库公司的产品
不开启服务是连不上数据库么
服务器有风扇好还是没
网络安全主要特性有哪些
专辑滤镜软件开发
谈谈疫情期间对网络安全的理解