程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle數據庫遷移方案

Oracle數據庫遷移方案

編輯:關於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;

最後重新登陸數據庫,驗證新增的遷移數據庫

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved