oracle数据库迁移步骤思路
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,背景:做为一名DBA,oracle数据库迁移是经常要遇到的事情,正好最近我也在迁移一个业务系统,数据库就是oracle,顺便记录一下。说明:为了方便说明,旧的数据库称为A,新的为B。用户和密码是IRP
千家信息网最后更新 2025年02月08日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安全错误
数据库的锁怎样保障安全
城市猎人青瓦台服务器
我的世界服务器的矿洞
张店进销存库存软件开发
服务器自带3个硬盘
云帆为什么连接到服务器
网站管理系统软件开发
进口网络技术诚信合作
大数据服务器是什么
社交软件开发哪些好办
讯博软件开发有限公司
锦程网络技术有限公司
软件开发部署流程
串口服务器是自动转换的吗
云南网络技术服务推广
网络安全和图像处理就业
服务器怎么做磁盘阵列
负责网络安全工作的部门
我的世界在服务器当管理员
科技互联网风云榜
明源软件开发部
游戏营销个性化软件开发支持
数据库表格自动增量
吃鸡游戏服务器上的二维码在哪
把服务器放美国
以网络安全为题目的问卷
昆明酒店软件开发价格
realm服务器怎么联机
网络安全的研究领域
串口服务器是自动转换的吗
双鸭山市网络安全事件