Oracle数据库迁移方案
Oracle数据库迁移方案
发布时间:2016-12-28 来源:查字典编辑
摘要:1在数据迁移时,用户首先有权限修改数据库,并且进行表空间创建、删除等权利例如:select*fromdba_tab_privswheregr...

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:appxx_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;

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Oracle教程学习
热门Oracle教程学习
编程开发子分类