oracle数据库迁移步骤思路
发表于:2024-09-24 作者:千家信息网编辑
千家信息网最后更新 2024年09月24日,背景:做为一名DBA,oracle数据库迁移是经常要遇到的事情,正好最近我也在迁移一个业务系统,数据库就是oracle,顺便记录一下。说明:为了方便说明,旧的数据库称为A,新的为B。用户和密码是IRP
千家信息网最后更新 2024年09月24日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安全错误
数据库的锁怎样保障安全
能挣钱的软件开发
收费站开展双十一网络安全
网络技术人员等级
全新的眼镜行业软件开发
绍兴赛服网络技术公司
讲述税务身边网络安全故事
艾泽服务器
数据库字符串模糊检索
江苏调度服务器批发云主机
网络技术公司通用章程
厦门游戏软件开发实习
网络安全公约表格
阿里邮箱pop服务器
财务软件开发服务商
软件开发Qc小组案例
数据库原理与应用陈甲华
县城里的网络安全防护
查数据库一条字段怎么查询
网络安全属于理科还是
国产操作系统下软件开发
临床样本数据库都有哪些
怪物猎人世界一个服务器能玩吗
软件开发进银行工作
绍兴图灵网络技术有限公司
java软件开发学前端还是后端
花旗银行软件开发英文面试
阿里邮箱pop服务器
数据库约束默认怎么打
需求分析不属于软件开发
依托网络技术的日语怎么说