oracle數據庫的遷移(包括創建表空間、用戶以及賦予用戶功能、導出數據庫、導入數據庫)

一、導出被遷移數據庫的dmp文件

  1. 導出數據庫
    打開cmd,輸出下列命令(此處以導出本地數據庫爲例,如果需要導出公司數據庫,可以掛vpn,修改ip即可)
    exp 賬戶/密碼@localhost/orcl file=F:/oracle/data.dmp owner=(賬戶)
  2. 注意點
    有的時候我們導出數據庫的話會存在無法導出空表的情況,這時候我們需要先對數據庫空表進行處理。
    2.1搜索存在哪空表
    select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where num_rows=0 or num_rows is null;
    2.2對這些空表進行處理
    alter table R_WORK_ORDER allocate extent;

二、創建表空間和用戶,賦予功能(與被遷移數據庫保持一致)

  1. 創建表空間
    create tablespace 表空間
    ----如果命名錯了可以修改表空間,修改命令如下:
    alter tablespace 原空間名 rename to 新空間名

  2. 表空間存放位置
    logging
    ----根據select * from dba_data_files查詢其他表空間存放位置
    datafile ‘/data1/oracle/oradata/orcl/表空間.dbf’
    size 100m
    autoextend on
    next 50m
    extent management local;

  3. 創建用戶
    create user 賬戶 identified by 密碼 default tablespace 表空間
    ----創建完用select * from dba_users;查看用戶是否創建成功

  4. 賦予功能
    grant connect,resource,dba to 用戶

三、導入數據庫
打開新數據庫所在的電腦的cmd,直接輸入:
imp 賬戶/密碼@localhost/orcl file=“F:\oracle\data.dmp” full=y
(如果想在本電腦上爲公司服務器導入數據庫,同理掛vpn,修改ip即可)

四、刪除本地數據庫對應的數據
一個項目在數據庫對應的東西基本是就是“用戶”和“表空間”。

  1. 搜索和刪除表空間
    select * from dba_data_files
    drop tablespace 表空間
  2. 刪除用戶
    drop user 用戶 cascade;
    有的時候可能會提示用戶還在連接,這時候應該要先殺死session纔行,操作如下:
    select username,sid,serial# from v$session where username = ‘HYDROPOWER_JIANGXI’;
    alter system kill session ‘5,966’;

有不足的歡迎大家來討論!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章