背景:做為一名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機器上查看用戶默認表空間,以便導入時創建一樣的表空間
SQL> select username,default_tablespace from dba_users where username ='IRP'; USERNAME DEFAULT_TABLESPACE ------------------------------ ------------------------------ IRP IRP
3.查看用戶使用的表空間
SQL> select DISTINCT owner ,tablespace_name from dba_extents where owner like 'IRP'; OWNER TABLESPACE_NAME ------------------------------ ------------------------------ IRP IRP
4.查看表空間對應的數據文件,以便在B上創建大小合適的數據文件。
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name in 'IRP'; FILE_NAME TABLESPACE_NAME ------------------------------------------------------------ ---------- D:\APP\ADMINISTRATOR\ORADATA\ORCL\IRP.DBF IRP 如果用戶使用多個表空間,查詢語句如下 select file_name,tablespace_name from dba_data_files where tablespace_name in ('IRP1','IRP2');
5.檢查B機器的表空間,看是否存在IRP(如果是新的服務器,不需要這一步)
select name from v$tablespace where name in 'IRP' 查找不到,說明沒有這個兩個表空間,需要創建。
6.在B上創建表空間、用戶并授權
創建大文件表空間 CREATE BIGFILE TABLESPACE "IRP" DATAFILE 'D:\app\oracle\oradata\orcl\irp.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 創建默認表空間 或者 CREATE TABLESPACE "IRP" DATAFILE 'D:\app\oracle\oradata\orcl\irp.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 10000M LOGGING EXTENT MANAGEMENT LOCAL; 創建用戶 CREATE USER "IRP" PROFILE "DEFAULT" IDENTIFIED BY "IRP" DEFAULT TABLESPACE "IRP" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; 授權 GRANT "CONNECT" TO "IRP"; GRANT "RESOURCE" TO "IRP"; GRANT unlimited tablespace TO "IRP";注: BigFile表空間只能創建一個datafile數據文件,SmallFile表空間最多可以創建1024個數據文件
7.如果在服務器B上已經存在該用戶,怎么樣刪除該用戶.
查看是否存在該用戶SQL> select username from dba_users where username='IRP'; 刪除用戶及其擁有的所有對象 drop user IRP cascade; 查看這個用戶下面是否有對象; select object_type,count(*) from all_objects where owner='IRP' group by object_type OBJECT_TYPE COUNT(*) ------------------------------------------------------------ ---------- 1 SEQUENCE 3 2 PROCEDURE 5 3 LOB 139 4 PACKAGE 3 5 PACKAGE BODY 2 6 TRIGGER 1 7 TABLE 384 8 INDEX 426 9 FUNCTION 6此時如果這個用戶在連接,drop會出錯,必須先殺掉用戶的session,然后再drop user
構建殺掉IRP用戶session的語句并執行, SELECT 'alter system kill session '''||SID||','||SERIAL#||''' immediate;' FROM V$SESSION WHERE USERNAME='IRP'; 上面的語句是構建出殺掉IRP用戶session的語句,再復制這些語句,粘貼到sqlplus中執行,來殺掉IRP的session。 'ALTERSYSTEMKILLSESSION'''||SID||','||SERIAL#||'''IMMEDIATE;' -------------------------------------------------------------- alter system kill session '9,42043' immediate; alter system kill session '10,9137' immediate; alter system kill session '72,17487' immediate; alter system kill session '84,3280' immediate; alter system kill session '91,976' immediate; alter system kill session '100,13516' immediate; alter system kill session '111,5973' immediate; alter system kill session '115,4751' immediate; alter system kill session '120,10356' immediate; alter system kill session '211,4075' immediate; alter system kill session '216,48068' immediate;
8.最后在B上導入數據
一定注意執行imp時要退出sqlplus,直接在命令行執行。
IMP test/test BUFFER=64000 FILE=D:\test.DMP log=D:\imptest.log FROMUSER=IRP TOUSER=IRP另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
名稱欄目:oracle數據庫遷移步驟思路-創新互聯
地址分享:http://m.newbst.com/article18/cejigp.html
成都網站建設公司_創新互聯,為您提供用戶體驗、域名注冊、網站導航、建站公司、網站設計公司、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯