1. 程式人生 > >oracle數據庫遷移

oracle數據庫遷移

sequence job end 導出 esp te pro 輸出 好用 bsp

一、導出

導出用戶對象:

1、plsql登錄到數據庫

技術分享圖片

2、查詢當前用戶的默認表空間(以DEMO1賬戶為例)

技術分享圖片技術分享圖片

用DEMO1用戶登陸plsql,在上圖的窗口裏的Users的分支下找到當前的用戶名DEMO1,再點view,在右邊的Default tablespace就可以查看該用戶的默認表空間(TBS_DEMO1)。

3、導出DEMO1用戶的所有用戶對象:

技術分享圖片

在DEMO1用戶下,點擊tools,Export User Objects,在右側彈出的窗口按如上設置進行設置,重點是Single file,然後在Output file選擇路徑,再點擊export導出用戶對象文件(文件為sql格式)。

註意:這個導出完成後可能沒有什麽成功或者完成一類的提示,只需要看到下條的進度條已經走完。再看一下生成出來的log文件最後有spoo off就說明導完了。

導出表數據:

技術分享圖片

在右側窗口全選所有表對象,再點擊下方的Output file選擇輸出路徑,再點擊Export生成數據文件(文件格式為dmp格式)

二、導入

在新的數據庫服務器用sys賬號登陸sql

1、新建用戶表空間(表空間的名字要和導出的一致,這裏以TBS_DEMO1為例)

create tablespace TMS_DEMO1 datafile ‘D:\ORACLE11GR2\ORADATA\PCILAB\DATA.DBF‘ size 10g 

autoextend on next 1g maxsize unlimited

EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

表空間是oracle獨有的,可以想象為一個存放數據庫的一個盒子,需要指定該大小(本例為10g),以及實體文件的路徑xx.DBF自定義(本例為D:\ORACLE11GR2\ORADATA\PCILAB\DATA.DBF),所有數據表都會放在表空間。(如果想知道當前實例裏別的表空間路徑都在哪,可以用select * from dba_data_files 查詢)

2、新建一個用戶,並指定其默認表空間(用戶名需要和之前導出時的用戶名一致,這裏以DEMO1為例。)

CREATE USER DEMO1 IDENTIFIED BY DEMO1123

DEFAULT TABLESPACE TBS_DEMO1

TEMPORARY TABLESPACE TEMP;

新建用戶DEMO1,密碼DEMO1123,默認表空間 TBS_DEMO1,默認臨時表空間TEMP.

3、授予用戶DBA權限(有時間可能上述的權限無法導入用戶對象以及用戶數據,所以最好用grant dba to DEMO1;授予它dba權限,在導完了用戶對象後,再用revoke dba from DEMO1;回收dba權限。)

授於用戶的基本權利

grant

connect,

ALTER SESSION,

CREATE ANY JOB,

CREATE ANY TABLE,

CREATE ANY VIEW,

CREATE CLUSTER,

CREATE DATABASE LINK,

CREATE INDEXTYPE,

CREATE JOB,

CREATE OPERATOR,

CREATE PROCEDURE,

CREATE SEQUENCE,

CREATE SESSION,

CREATE SYNONYM,

CREATE TABLE,

CREATE TRIGGER,

CREATE TYPE,

CREATE VIEW,

DEBUG ANY PROCEDURE,

DEBUG CONNECT SESSION,

EXECUTE ANY PROCEDURE,

INSERT ANY TABLE,

MANAGE SCHEDULER,

SELECT ANY DICTIONARY,

SELECT ANY TABLE,

UNDER ANY TABLE,

UNLIMITED TABLESPACE,

UPDATE ANY TABLE

to PBS_DEMO1;

1、導入用戶對象

登陸DEMO1賬號後,直接執行導出的sql腳本

2、導入表數據

登陸DEMO1賬號後,選擇tools 下邊的Import Tables,選擇之前導出的dmp文件後,按import後即可。

技術分享圖片

oracle數據庫遷移