當前位置:首頁 » 數據倉庫 » oracle資料庫移動
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle資料庫移動

發布時間: 2022-07-09 19:20:30

① 怎樣用最簡單的方法復制或遷移Oracle資料庫

在DBA的日常工作中,經常需要重裝或在新機器上安裝Oracle,但每次安裝所浪費的時間、精力以及失敗的挫折都在考驗著DBA的承受能力,本文著重介紹了一個簡單的復制和遷移Oracle資料庫的方法,詳細內容請參考下文。

復制遷移的步驟如下:

◆1、首先,復制原Oracle資料庫的安裝目錄到新機器或系統中的安裝目錄,注意目錄要一致,盤符也要一致。

◆2、假如Oracle的安裝目錄不在Program Files系統文件夾下,我們需要把原系統中的Program Files文件夾下的Oracle目錄也復制到新系統的Program Files文件夾中去。

◆3、導出原系統中的Oracle注冊表信息,主要注冊信息如下:
A. HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE
B. HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 下有關Oracle的所有鍵,通常包括以下9個:
/OracleMTSRecoveryService
/OracleOraHome92Agent
/OracleOraHome92ClientCache
/OracleOraHome92HTTPServer
/OracleOraHome92PagingServer
/
/
/OracleOraHome92TNSListener
/OracleServiceORA8

◆4、注意:有多少個資料庫,注冊表服務鍵下的OracleServiceXXX就會有多個。其中最主要的有監聽服務和資料庫服務,即OracleOraHome92TNSListenerXXX和OracleServiceXXX。

◆5、將導出的所有注冊表的信息在新的系統中導入(注冊)。

◆6、設置系統環境變數,打開"我的電腦"的"屬性"界面,在"高級"而點擊"環境變數"進入設置,找到[Path]系統變數項目,點"編輯",在變數值的輸入框的最後,加入";ORACLE的安裝目錄"。

◆7、最後我們需要進入 C:/Documents and Settings/All Users/Start Menu/Programs下把 Oracle - OraHome92 和 Oracle Installation Procts 兩個菜單文件夾也復制到新系統中,此時,就和新安裝的一樣了。重啟系統後,成功完成。

② oracle資料庫怎樣遷移資料庫

有很多方案。簡單的,用導入導出,即 imp,exp和impdp,expdp,如果是部分數據,可以創建資料庫鏈接,然後把數據傳過去,復雜的,可以用rman

③ oracle資料庫如何把表從一個表空間移到另一個表空間

首先,使用下面的命令移動:
alter table table_name move tablespace tablespace_name;
然後,如果有索引的話必須重建索引:
alter index index_name rebuild tablespace tablespace_name;

當然,可以使用spool來幫助實現多個表的操作.
set header off;
spool /export/home/oracle/alter_tables.sql;
select 'alter table ' || object_name || ' move tablespace users'
from dba_object
where owner = 'XXX' and object_type = 'TABLE';
spool off;
之後執行此sql腳本即可.
同樣對於index也做同樣的操作.

④ 如何將正在運行的 Oracle 資料庫遷移到另一個系統

1、安裝 Oracle Solaris 操作系統

新的 SPARC 伺服器上預先安裝了 Oracle Solaris。對於這些系統,應確保安裝了相應的 Oracle Solaris 版本,並驗證打了所需的補丁。

2、安裝 Oracle VM Server for SPARC 軟體

新的 SPARC 伺服器上也預先安裝了 Oracle VM Server for SPARC 軟體。對於這些系統,應確保安裝了相應的 Oracle VM Server for SPARC 版本,並驗證打了所有需要的補丁。

3、配置存儲陣列

Sun Storage 2540-M2 存儲陣列連接到控制域,控制域將兩個 LUN(LUN 0 和 LUN 1)作為虛擬磁碟導出到來賓域。

4、配置控制域

安裝 Oracle VM Server for SPARC 軟體之後,重新配置當前系統使其成為控制域。

5、配置來賓域

配置控制域之後,創建來賓域以用作 Oracle 資料庫節點。在作為源計算機的物理伺服器上,僅創建一個來賓域。另一台物理伺服器最終將成為目標計算機。

6、准備目標伺服器

按如下方式准備目標伺服器。

  • 執行以下各節中所述的步驟來准備目標計算機:

  • 安裝 Oracle VM Server for SPARC 軟體

  • 配置控制域

  • 確保在目標伺服器上提供了供待遷移域使用的所有虛擬 I/O 服務。

  • 確保目標伺服器有權訪問同一存儲中的 LUN 0 和 LUN 1。

  • 確保待遷移域中的每個虛擬網路設備在目標計算機上都有一個對應的虛擬網路交換機。

⑤ oracle資料庫遷移到另一個oracle資料庫

這個就簡單了,備份庫1,還原到庫2即可;或者將庫1的表結構和insert語句分別導出,放到庫2執行一次就行了,或者藉助三方工具,比如kettle

⑥ 怎麼將oracle資料庫的數據遷移

遷移的話,直接導出一個庫的dmp文件,之後導入到另外一個庫裡面就可以了(導出和導入資料庫版本必須一直,否則導入可能會報錯)。
遷移數據導出:
1 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:\chu.dmp中
exp system/manager@TEST file=d:\chu.dmp full=y
2 將資料庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)
3 將資料庫中的表table1 、table2導出
exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的數據導出

⑦ oracle資料庫怎麼從一個磁碟遷移到另一個磁碟

簡單步驟:
1、正常關閉資料庫;
2、遷移所有數據文件到新的盤;
3、啟動實例到mount階段,修改數據文件的路徑;
4、啟動實例到open階段,正常使用資料庫。
5、另外,如果想要遷移日誌文件,比較好辦,在新盤新目錄下創建新的redo,刪除原來盤上的redo。
6、如果想要遷移控制文件,那麼:
6.1、正常關閉資料庫;
6.2、遷移控制文件到新盤新目錄;
6.3、啟動實例到nomount階段;
6.4、修改實例參數control_files指向新的目錄;
6.4、alter database mount;
6.5、alter databse open;

如果要遷移資料庫軟體,那就另說了,可以先安裝一套DB軟體到新盤新目錄,然後修改環境變數指向新的環境,重要的變數包括ORACLE_BASE、ORACLE_HOME、PATH等。

⑧ 如何將ORACLE資料庫數據文件遷移到其它目錄

您好,很高興為您解答。

源資料庫數據文件位置:/u01/oradata/orcl

實驗中想把數據文件遷移到的位置:/u01/oradata/orcl_test

源資料庫數據文件位置:
sys@ORCL> select file_name from dba_data_files;
FILE_NAME
----------------------------------------
/u01/oradata/orcl/system01.dbf
/u01/oradata/orcl/undotbs01.dbf
/u01/oradata/orcl/sysaux01.dbf
/u01/oradata/orcl/users01.dbf
sys@ORCL> select file_name from dba_temp_files;
FILE_NAME
----------------------------------------
/u01/oradata/orcl/temp01.dbf

sys@ORCL> col member for a30
sys@ORCL> select member from v$logfile ;
MEMBER
------------------------------
/u01/oradata/orcl/redo01.log
/u01/oradata/orcl/redo02.log
/u01/oradata/orcl/redo03.log

需要移動所有的數據文件,採用alter database 方法
1、關閉資料庫
sys@ORCL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
2、移動數據文件到/u01/oradata/orcl_test目錄
[oracle@ora10gserv orcl]$ pwd
/u01/oradata/orcl
[oracle@ora10gserv orcl]$ mv * /u01/oradata/orcl_test/
[oracle@ora10gserv orcl]$ ls
[oracle@ora10gserv orcl]$ cd /u01/oradata/orcl_test/
[oracle@ora10gserv orcl_test]$ ls
control01.ctl control03.ctl redo02.log sysaux01.dbf temp01.dbf users01.dbf
control02.ctl redo01.log redo03.log system01.dbf undotbs01.dbf
3、修改控制文件位置
[oracle@ora10gserv /]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Proction on Tue Aug 2 00:05:27 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 465567744 bytes
Fixed Size 1220024 bytes
Variable Size 146801224 bytes
Database Buffers 314572800 bytes
Redo Buffers 2973696 bytes
SQL> create pfile='/u01/initorcl.ora' from spfile;
File created.
SQL> host vi /u01/initorcl.ora
orcl.__db_cache_size=314572800
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=138412032
orcl.__streams_pool_size=0
*.audit_file_dest='/dba/admin/orcl/amp'
*.background_mp_dest='/dba/admin/orcl/bmp'
*.compatible='10.2.0.1.0'
*.control_file_record_keep_time=14
*.control_files='/u01/oradata/orcl_test/control01.ctl','/u01/oradata/orcl_test/control02.ctl','/u01/oradata/orcl_test/control03.ctl'
*.core_mp_dest='/dba/admin/orcl/cmp'
*.db_block_size=8192
*.db_domain='lsf.com.cn'
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/dba/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='location=/u01/arch_orcl'
*.open_cursors=300
*.pga_aggregate_target=154140672
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=2000
*.sga_target=463470592
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_mp_dest='/dba/admin/orcl/ump'
SQL> shutdown immediate
ORA-01507: database not mounted

ORACLE instance shut down.
SQL> create spfile from pfile='/u01/initorcl.ora';
File created.
4、啟動資料庫到mount狀態,更改數據文件位置
idle> startup mount
ORACLE instance started.
Total System Global Area 465567744 bytes
Fixed Size 1220024 bytes
Variable Size 146801224 bytes
Database Buffers 314572800 bytes
Redo Buffers 2973696 bytes
Database mounted.
idle> alter database rename file '/u01/oradata/orcl/system01.dbf' to '/u01/oradata/orcl_test/system01.dbf';
Database altered.
idle> alter database rename file '/u01/oradata/orcl/undotbs01.dbf' to '/u01/oradata/orcl_test/undotbs01.dbf';
Database altered.
idle> alter database rename file '/u01/oradata/orcl/sysaux01.dbf' to '/u01/oradata/orcl_test/sysaux01.dbf';
Database altered.
idle> alter database rename file '/u01/oradata/orcl/users01.dbf' to '/u01/oradata/orcl_test/users01.dbf';
Database altered.

5、繼續接著第4步,更改聯機日誌文件位置
idle> alter database rename file '/u01/oradata/orcl/redo01.log' to '/u01/oradata/orcl_test/redo01.log';
Database altered.
idle> alter database rename file '/u01/oradata/orcl/redo02.log' to '/u01/oradata/orcl_test/redo02.log';
Database altered.
idle> alter database rename file '/u01/oradata/orcl/redo03.log' to '/u01/oradata/orcl_test/redo03.log';
Database altered.

6、打開資料庫
idle> alter database open;
Database altered.
idle> conn /as sysdba
Connected.
sys@ORCL> select file_name from dba_data_files;
FILE_NAME
----------------------------------------
/u01/oradata/orcl_test/system01.dbf
/u01/oradata/orcl_test/undotbs01.dbf
/u01/oradata/orcl_test/sysaux01.dbf
/u01/oradata/orcl_test/users01.dbf
sys@ORCL> select file_name from dba_temp_files;
FILE_NAME
----------------------------------------
/u01/oradata/orcl/temp01.dbf
sys@ORCL> col member for a40
sys@ORCL> select member from v$logfile;
MEMBER
----------------------------------------
/u01/oradata/orcl_test/redo01.log
/u01/oradata/orcl_test/redo02.log
/u01/oradata/orcl_test/redo03.log

sys@ORCL> col name for a50
sys@ORCL> select name from v$controlfile;
NAME
--------------------------------------------------
/u01/oradata/orcl_test/control01.ctl
/u01/oradata/orcl_test/control02.ctl
/u01/oradata/orcl_test/control03.ctl
7、臨時文件的處理
由於控制文件不記錄臨時文件的信息,所以不能使用alter database rename file 命令完成,只能刪除掉原來的再創建一個
sys@ORCL> create temporary tablespace temp02 tempfile '/u01/oradata/orcl_test/temp02.dbf' size 200m autoextend on extent management local uniform size 1m;
Tablespace created.
sys@ORCL> alter database default temporary tablespace temp02;
Database altered.
sys@ORCL> drop tablespace temp including contents and datafiles;
Tablespace dropped.
sys@ORCL> select file_name from dba_temp_files;
FILE_NAME
----------------------------------------
/u01/oradata/orcl_test/temp02.dbf

[oracle@ora10gserv orcl_test]$ ls -l
total 1427572
-rw-r----- 1 oracle oinstall 7061504 Aug 2 00:20 control01.ctl
-rw-r----- 1 oracle oinstall 7061504 Aug 2 00:20 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 Aug 2 00:20 control03.ctl
-rw-r----- 1 oracle oinstall 52429312 Aug 2 00:20 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Aug 2 00:15 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Aug 2 00:15 redo03.log
-rw-r----- 1 oracle oinstall 251666432 Aug 2 00:20 sysaux01.dbf
-rw-r----- 1 oracle oinstall 503324672 Aug 2 00:20 system01.dbf
-rw-r----- 1 oracle oinstall 209723392 Jul 21 22:00 temp01.dbf
-rw-r----- 1 oracle oinstall 209723392 Aug 2 00:20 temp02.dbf
-rw-r----- 1 oracle oinstall 419438592 Aug 2 00:20 undotbs01.dbf
-rw-r----- 1 oracle oinstall 104865792 Aug 2 00:15 users01.dbf
[oracle@ora10gserv orcl_test]$ rm -rf temp01.dbf
sys@ORCL> select username,temporary_tablespace from dba_users;
USERNAME TEMPORARY_TABLESPACE
------------------------------ ------------------------------
MGMT_VIEW TEMP02
SYS TEMP02
SYSTEM TEMP02
DBSNMP TEMP02
SYSMAN TEMP02
OUTLN TEMP02
MDSYS TEMP02
ORDSYS TEMP02
CTXSYS TEMP02
ANONYMOUS TEMP02
EXFSYS TEMP02
DMSYS TEMP02
WMSYS TEMP02
XDB TEMP02
ORDPLUGINS TEMP02
SI_INFORMTN_SCHEMA TEMP02
OLAPSYS TEMP02
MDDATA TEMP02
DIP TEMP02
TSMSYS TEMP02
20 rows selected.

如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】

希望我的回答對您有所幫助,望採納!

~ O(∩_∩)O~