oracle数据库迁移步骤思路
发布时间:2020-12-12 15:57:36 所属栏目:百科 来源:网络整理
导读:背景 : 做为一名DBA,oracle数据库迁移是经常要遇到的事情,正好最近我也在迁移一个业务系统,数据库就是oracle,顺便记录一下。 说明 : 为了方便说明,旧的数据库称为A,新的为B。用户和密码是IRP/IRP,B是全新的环境。 步骤思路 : 1.从 A 上导出数据文件
背景:做为一名DBA,oracle数据库迁移是经常要遇到的事情,正好最近我也在迁移一个业务系统,数据库就是oracle,顺便记录一下。 说明:为了方便说明,旧的数据库称为A,新的为B。用户和密码是IRP/IRP,B是全新的环境。 步骤思路: 1.从 A 上导出数据文件。 sqlplus/nolog conn/assysdba EXPIRP/IRPBUFFER=64000FILE=D:test.DMPlog=D:test.logOWNER=IRP 2.在A机器上查看用户默认表空间,以便导入时创建一样的表空间 SQL>selectusername,default_tablespacefromdba_userswhereusername='IRP'; USERNAMEDEFAULT_TABLESPACE ------------------------------------------------------------ IRPIRP 3.查看用户使用的表空间 SQL>selectDISTINCTowner,tablespace_namefromdba_extentswhereownerlike'IRP'; OWNERTABLESPACE_NAME ------------------------------------------------------------ IRPIRP 4.查看表空间对应的数据文件,以便在B上创建大小合适的数据文件。 SQL>selectfile_name,tablespace_namefromdba_data_fileswheretablespace_namein'IRP'; FILE_NAMETABLESPACE_NAME ---------------------------------------------------------------------- D:APPADMINISTRATORORADATAORCLIRP.DBFIRP 如果用户使用多个表空间,查询语句如下 selectfile_name,tablespace_namefromdba_data_fileswheretablespace_namein('IRP1','IRP2'); 5.检查B机器的表空间,看是否存在IRP(如果是新的服务器,不需要这一步) selectnamefromv$tablespacewherenamein'IRP' 查找不到,说明没有这个两个表空间,需要创建。 6.在B上创建表空间、用户并授权 创建大文件表空间 CREATEBIGFILETABLESPACE"IRP"DATAFILE'D:apporacleoradataorclirp.dbf'SIZE100MAUTOEXTENDONNEXT100MMAXSIZEUNLIMITEDLOGGINGEXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO; 创建默认表空间 或者CREATETABLESPACE"IRP"DATAFILE'D:apporacleoradataorclirp.dbf'SIZE100MAUTOEXTENDONNEXT100MMAXSIZE10000MLOGGINGEXTENTMANAGEMENTLOCAL; 创建用户 CREATEUSER"IRP"PROFILE"DEFAULT"IDENTIFIEDBY"IRP"DEFAULTTABLESPACE"IRP"TEMPORARYTABLESPACE"TEMP"ACCOUNTUNLOCK; 授权 GRANT"CONNECT"TO"IRP"; GRANT"RESOURCE"TO"IRP"; GRANTunlimitedtablespaceTO"IRP"; 7.如果在服务器B上已经存在该用户,怎么样删除该用户. 查看是否存在该用户SQL>selectusernamefromdba_userswhereusername='IRP'; 删除用户及其拥有的所有对象 dropuserIRPcascade; 查看这个用户下面是否有对象; selectobject_type,count(*)fromall_objectswhereowner='IRP'groupbyobject_type OBJECT_TYPECOUNT(*) ---------------------------------------------------------------------- 1SEQUENCE3 2PROCEDURE5 3LOB139 4PACKAGE3 5PACKAGEBODY2 6TRIGGER1 7TABLE384 8INDEX426 9FUNCTION6
8.最后在B上导入数据 一定注意执行imp时要退出sqlplus,直接在命令行执行。 IMPtest/testBUFFER=64000FILE=D:test.DMPlog=D:imptest.logFROMUSER=IRPTOUSER=IRP (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- xcode – 是否可以为搜索制作“按字母顺序滚动条 – 相似”
- Ajax跨域、Json跨域、Socket跨域和Canvas跨域等同源策略限制
- 一些Flex / Flash开源项目
- C++ unordered_map获取(访问)元素详解
- xStream xml转java bean,抛出CannotResolveClassException
- c# – 3层架构 – 在层之间传递数据
- 如何创建一个原生的模式视图segue与反应本机?
- ruby-on-rails – Rails rspec devise =未定义的方法`authe
- PostgreSql数据库中表字段由类型varchar改变成整型
- ajax防止表单重复提交