Oracle数据库迁移

1 在数据迁移时,用户首先有权限修改数据库,并且进行表空间创建、删除等权利

例如:

select * from dba_tab_privs where grantee=‘SCOT‘; ---查看SCOTT权限(sys用户登录)

显示结果为:

select * from dba_role_privs where grantee=‘SCOT‘; --查看SCOTT角色

显示结果为:

(1) 如果用户被锁定通过以下语句来解锁表

alter user scott account unlock; --解锁表

(2) 授予用户权限

grant connect to scott; --连接数据库权限

grant resource to scott; --授予创建表等基本权限

grant dba to scott; --授予DBA权限

2 建立表空间

严格意义上在先执行如下命令而不是直接开始建立表空间

drop tablespace 表空间名称;

然后开始创建表空间

create tablespace xx_bp;

datafile ‘F:\app\xx_bp.ora‘ --表空间的本地位置

size 50M

autoextend on next 1M;

附:datafile 为表空间对应的数据文件,后面跟随数据文件的路径及数据文件名

size 为数据文件的初始大小

autoextend on 表示数据随着数据量的增加自动扩大

一般在创建表的时候会创建多个表空间用来存放各种数据,比如我们一般会创建历史表空间(HS)、索引表空间等。另外先建立表空间,然后建立用户时指向此表空间,否则oracle会默认将用户指向sys表空间

3 创建用户

create user 用户名 indentified by 密码 tablespace xx_bp,xx_hs,xx_indx;

附: identified by 为创建用户密码的关键字,后面跟随的是用户密码

4 对数据库的用户进行授权

grant connect,resource to 用户名

将connect 和resource 角色授予用户

查看当前用户有哪些角色

select * from user_role_privs;

5 建立数据结构、存储过程、视图、序列

(1)创建表

create table XX.BP_OPER_DETAIL_TB

(

task_id VARCHAR2(50) not null,

flow_id NUMBER(19) not null,

task_no VARCHAR2(50) not null,

flow_node VARCHAR2(4) not null,

workitemid NUMBER(19) not null,

trans_id VARCHAR2(10) not null,

trans_no CHAR(6) not null,

vouch_group VARCHAR2(10) not null,

teller_no VARCHAR2(15) default ‘‘,

user_no VARCHAR2(15) not null,

organ_no VARCHAR2(10) not null,

areacode VARCHAR2(5) default ‘‘,

create_time CHAR(14) not null,

checkout_time CHAR(14) not null,

checkin_time CHAR(14) default ‘‘,

suspend_time CHAR(14) default ‘‘,

resume_time CHAR(14) default ‘‘,

trans_time INTEGER default 0,

release_time INTEGER default 0,

state INTEGER not null,

result VARCHAR2(10) default ‘‘,

reason VARCHAR2(512) default ‘‘

)

tablespace XX_BP pctfree 10 initrans 1 maxtrans 255 storage

(

initial 64K next 8K minextents 1 maxextents unlimited

);

创建索引约束调节等

alter table XX.BP_OPER_DETAIL_TB add constraint BP_OPER_DETAIL_PK primary key

(

TASK_ID, WORKITEMID, FLOW_NODE

)

using index tablespace XX_BP pctfree 10 initrans 2 maxtrans 255 storage

(

initial 64K next 1M minextents 1 maxextents unlimited

);

6 导入数据

insert into SM_FIELD_PARENT_TB (field_id, parent_field, last_modi_date)

values (‘VH0007‘, ‘VH0000‘, ‘20160420074707‘);

insert into SM_FIELD_PARENT_TB (field_id, parent_field, last_modi_date)

values (‘VH0008‘, ‘VH0000‘, ‘20160420074729‘);

insert into SM_FIELD_PARENT_TB (field_id, parent_field, last_modi_date)

values (‘VH0010‘, ‘VH0000‘, ‘20160420074818‘);

insert into SM_FIELD_PARENT_TB (field_id, parent_field, last_modi_date)

values (‘VH0012‘, ‘VH0000‘, ‘20160420074914‘);

insert into SM_FIELD_PARENT_TB (field_id, parent_field, last_modi_date)

values (‘VH0016‘, ‘VH0000‘, ‘20160420075055‘);

insert into SM_FIELD_PARENT_TB (field_id, parent_field, last_modi_date)

values (‘VH0017‘, ‘VH0000‘, ‘20160420075129‘);

insert into SM_FIELD_PARENT_TB (field_id, parent_field, last_modi_date)

values (‘VH0021‘, ‘VH0000‘, ‘20160420075305‘);

commit;

最后重新登陆数据库,验证新增的迁移数据库

时间: 2024-08-07 09:18:19

Oracle数据库迁移的相关文章

oracle数据库迁移步骤思路

背景:做为一名DBA,oracle数据库迁移是经常要遇到的事情,正好最近我也在迁移一个业务系统,数据库就是oracle,顺便记录一下. 说明:为了方便说明,旧的数据库称为A,新的为B.用户和密码是IRP/IRP ,  B是全新的环境. 步骤思路: 1.从 A 上导出数据文件. sqlplus /nolog conn / as sysdba EXP IRP/IRP BUFFER=64000 FILE=D:\test.DMP log=D:\test.log OWNER=IRP 2.在A机器上查看用户

Oracle数据库迁移-基础

Oracle数据库迁移-基础 作为一个开发人员,数据库知识肯定是需要我们掌握的.但是目前公司的数据库都是有专门的DBA维护的,一般都是给我们一个环境地址,然后我们书写CRUD SQL.而且公司产品要求是可以跨数据源的,这样平时基本上都不太关心特定数据库平台的操作.结果导致自己的DB知识严重不足.今天因为一些原因,需要在外网服务器上搭建演示环境,结果需要"悲剧"的自己操作数据库. 任务:在外网服务器上搭建演示环境,包括服务器.代码.数据库.     解决方案: (1)找一个新的产品安装程

Oracle数据库迁移的几种方式

面试: 一.exp/imp逻辑备份与恢复: 二.Storage存储迁移: 将数据文件.控制文件.日志文件.spfile挂到新机器上,然后在新机器上启动数据库. 三.利用data guard迁移: 四.用rman做迁移: 我们常常需要对数据进行迁移,迁移到更性能配置更高级的主机OS上.迁移到远程的机房.迁移到不同的平台下,以下介绍ORACLE的几种数据库迁移方案: 一.exp/imp逻辑备份与恢复:  它是最常用最简单的方法,一般是基于应用的owner级做导出导入.  操作方法为: 在新库建立好o

Oracle数据库迁移问题(备份、还原、数据导入导出、PLSQL)IMP - 0009 错误

最近在做Oracle数据迁移,从一个服务器迁移到另外一台服务器上去,遇到各种问题,比如 导入DMP文件的时候,遇到 IMP - 0009 错误,折腾了半天,发现原来是我 连接到服务器导出DMP文件时,用的Oracle客户端版本与服务器上Oracle版本不一致,导致导出来的DMP文件实际上有损坏,所以怎么都不能导入到新服务器的Oracle数据库中去. 总结:最好严格保证Oracle版本及环境一致性,免得遇到各种问题.

Linux平台下使用rman进行oracle数据库迁移

    实验目的:将oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),设置为不同的路径,不同的实例名 源端: ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 ORACLE_SID=test 数据文件位置:/oradata/test 目标端: ORACLE_BASE=/u02/app/oracle ORACLE_HOME=/u02/app/oracle/product/10

使用Microsoft SQL Server Migration Assistant for Oracle将Oracle数据库迁移到SQL Server 2008 R2

必须要安装SSMAforOracleExtensionPack_7.10.0或者SSMA for Oracle.6.0.0.ExtPack! 必须要安装SSMAforOracleExtensionPack_7.10.0或者SSMA for Oracle.6.0.0.ExtPack! 必须要安装SSMAforOracleExtensionPack_7.10.0或者SSMA for Oracle.6.0.0.ExtPack! 这个Microsoft SQL Server Migration Assi

oracle数据库迁移的步骤

目的:将192.168.9.102上GGWSXT/[email protected]:1521/ORACLE部署到104上 1.查看原用户表空间 select tablespace_name,count(0) from dba_segments where owner=upper('GGWSXT') group by tablespace_name; 2.查看原用户创建表空间的目录 select * from dba_data_files: 3.为原用户创建表空间 create tablespa

Oracle数据库迁移方式一:impdp+dblink

实验环境: 源库:  192.168.2.200  SID=testdb 目标库:192.168.2.100  SID=testdb 实验目的: 使用impdp+dblink的方式 将192.168.2.200数据库上的jtrms用户的所有数据导入到目标数据库192.168.2.100 注意:使用impdp+dblink 的方式,这样就节省了数据导出(expdp),然后再导入的过程. 实施步骤: 一.源库操作: 1.首先检查源库要迁移的用户信息: SQL> select USERNAME,DEF

oracle 数据库迁移

PL/SQL Release 11.2.0.4.0 - Production导出版本,数据库地址10.36.40.53 PL/SQL Release 11.2.0.4.0 - Production导入版本,数据库地址10.36.40.74 10.36.40.53   需要迁移的数据库地址 1. [[email protected] ~]# 创建目录 --创建目录 create or replace directory dumpdir as '/home/oracle/bak20170511';