国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle如何配置邏輯備用數(shù)據(jù)庫(kù)

瀏覽:96日期:2023-11-22 09:56:48
1.邏輯備用數(shù)據(jù)庫(kù)介紹 邏輯備用數(shù)據(jù)庫(kù)使用主數(shù)據(jù)庫(kù)的拷貝創(chuàng)建出來,但是創(chuàng)建出來以后,該備用數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)就與主數(shù)據(jù)庫(kù)不同了。邏輯備用數(shù)據(jù)庫(kù)通過應(yīng)用SQL語(yǔ)句進(jìn)行更新。這樣就答應(yīng)用戶在任何時(shí)候都可以在備用數(shù)據(jù)庫(kù)上運(yùn)行查詢和報(bào)表了。因?yàn)檫壿媯溆脭?shù)據(jù)庫(kù)使用SQL語(yǔ)句進(jìn)行與主數(shù)據(jù)庫(kù)的同步,所以邏輯備用數(shù)據(jù)庫(kù)必須打開。而且,在邏輯備用數(shù)據(jù)庫(kù)上,還可以創(chuàng)建其他的索引和物化視圖來提高效率。不過邏輯備用數(shù)據(jù)庫(kù)在數(shù)據(jù)類型、表的類型和DDL以及DML上有些限制。邏輯備用數(shù)據(jù)庫(kù)的優(yōu)點(diǎn):a、更加有效利用了備用數(shù)據(jù)庫(kù)的硬件資源b、減小了主數(shù)據(jù)庫(kù)的負(fù)載,例如將非實(shí)時(shí)性的查詢轉(zhuǎn)移到備用數(shù)據(jù)庫(kù)等c、可以作為主數(shù)據(jù)庫(kù)的備份2.創(chuàng)建邏輯備用數(shù)據(jù)庫(kù)前對(duì)主數(shù)據(jù)庫(kù)的預(yù)備 在創(chuàng)建邏輯備用數(shù)據(jù)庫(kù)的過程中,必須確保在主數(shù)據(jù)庫(kù)上做配置所用的用戶帳號(hào)具有以下數(shù)據(jù)庫(kù)角色:a、logstdby_administrator角色,用來使用邏輯備用功能b、select_catalog_role角色,能夠訪問所有數(shù)據(jù)字典視圖。下面具體說明了創(chuàng)建一個(gè)邏輯備用數(shù)據(jù)庫(kù)前,必須在主數(shù)據(jù)庫(kù)上進(jìn)行的預(yù)備工作。2.1 啟用forced logging將主數(shù)據(jù)庫(kù)設(shè)置為force logging模式:SQL>alter database force logging;2.2 啟用歸檔,并在本地定義一個(gè)歸檔路徑確保主數(shù)據(jù)庫(kù)設(shè)置成歸檔模式,啟用自動(dòng)歸檔,并且必須有一個(gè)本地的歸檔路徑。SQL> alter system set log_archive_dest_1='location=D:oradatarmantgtarchive mandatory' scope=both;2.3 確認(rèn)log_parallelism初始化參數(shù)在主數(shù)據(jù)庫(kù)上,使用show parameter的命令顯示當(dāng)前l(fā)og_parallelism初始化參數(shù)的值。邏輯備用數(shù)據(jù)庫(kù)要求你將該初始化參數(shù)設(shè)置為1,同時(shí)這也是該參數(shù)的缺省值。假如該參數(shù)已經(jīng)是1了,則跳到2.4步驟。否則,設(shè)置log_parallelism=1,如下:SQL>alter system set log_parallelism=1 scope=spfile;設(shè)置完以后,需要重啟數(shù)據(jù)庫(kù)以使設(shè)置生效。2.4 確定所能支持的數(shù)據(jù)類型和表類型在建立邏輯備用數(shù)據(jù)庫(kù)前,確保在當(dāng)前主數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型和表類型都是邏輯備用數(shù)據(jù)庫(kù)所能支持的。邏輯備用數(shù)據(jù)庫(kù)所支持的數(shù)據(jù)類型有:char、nchar、varchar2和varchar、nvarchar2、number、date、timestamp、timestamp with time zone、timestamp with local time zone、interval year to month、interval year to second、raw、clob、blob邏輯備用數(shù)據(jù)庫(kù)不支持的數(shù)據(jù)類型有:nclob、long、long raw、bfile、rowid、urowid、user-defined types、object types refs、varrays、nested tables邏輯備用數(shù)據(jù)庫(kù)不支持的表、sequences和視圖有:用戶在sys schema里定義的表和sequences、那些含有不支持的數(shù)據(jù)類型的表、使用了segment compression的表、索引組織表(index-organized tables)確定主數(shù)據(jù)庫(kù)是否含有不支持的對(duì)象,查看dba_logstdby_unsupported視圖,該視圖列出了邏輯備用數(shù)據(jù)庫(kù)所不支持的對(duì)象:SQL> select distinct owner,table_name from dba_logstdby_unsupported order by owner,table_name;假如主數(shù)據(jù)庫(kù)含有不支持的對(duì)象,則日志應(yīng)用服務(wù)在邏輯備用數(shù)據(jù)庫(kù)上運(yùn)用重做日志會(huì)自動(dòng)剔除那些不支持的對(duì)象。 假如以下SQL語(yǔ)句在主數(shù)據(jù)庫(kù)上運(yùn)行了的話,那么傳到邏輯備用數(shù)據(jù)庫(kù)以后,也不會(huì)在邏輯備用數(shù)據(jù)庫(kù)上運(yùn)行:ALTER DATABASE、ALTER SESSION、ALTER SNAPSHOT、ALTER SNAPSHOT LOG、ALTER SYSTEM SWITCH LOG、CREATE CONTROL FILE、CREATE DATABASE、CREATE DATABASE LINK、CREATE PFILE FROM SPFILE、CREATE SCHEMA AUTHORIZATION、CREATE SNAPSHOT、CREATE SNAPSHOT LOG、CREATE SPFILE FROM PFILE、CREATE TABLE AS SELECT FROM A CLUSTER TABLE、DROP DATABASE LINK、DROP SNAPSHOT、DROP SNAPSHOT LOG、EXPLAIN、LOCK TABLE、RENAME、SET CONSTRAINTS、SET ROLE、SET TRANSACTION。那些在主數(shù)據(jù)庫(kù)上修改元數(shù)據(jù)的pl/sql存儲(chǔ)過程也不會(huì)在邏輯備用數(shù)據(jù)庫(kù)上運(yùn)行。比如在主數(shù)據(jù)庫(kù)上運(yùn)行了dbms_mview_refresh,但是傳到備用數(shù)據(jù)庫(kù)后并不會(huì)被應(yīng)用。唯一的例外是dbms_job包,job元數(shù)據(jù)會(huì)應(yīng)用到邏輯備用數(shù)據(jù)庫(kù)上,但是jobs本身不會(huì)執(zhí)行。2.5 確認(rèn)主數(shù)據(jù)庫(kù)里表的行都可以唯一標(biāo)識(shí)由于在邏輯備用數(shù)據(jù)庫(kù)里rowid可能不等于主數(shù)據(jù)庫(kù)里的rowid,所以必須采取一些機(jī)制來保證在主數(shù)據(jù)庫(kù)里所更新的行能夠?qū)?yīng)到備用數(shù)據(jù)庫(kù)里相應(yīng)的行。可以采用以下對(duì)應(yīng)方法:主鍵或唯一索引。在主數(shù)據(jù)庫(kù)里,無論合適與否,每個(gè)表都添加主鍵或唯一索引。這樣就能確保應(yīng)用SQL操作時(shí)可以有效的更新邏輯備用數(shù)據(jù)庫(kù)里的數(shù)據(jù)了。采用以下的方法來確保日志應(yīng)用服務(wù)可以唯一的標(biāo)識(shí)表里的行。2.5.1 在主數(shù)據(jù)庫(kù)里找到那些沒有唯一標(biāo)識(shí)的表查詢dba_logstdbby_not_unique視圖,來確定主數(shù)據(jù)庫(kù)里那些還沒有主鍵或唯一索引的表。SQL> select owner,table_name,bad_column from dba_logstdby_not_unique where table_name not in(select table_name from dba_logstdby_unsupported);該語(yǔ)句找出的表仍然能夠支持,因?yàn)閟upplemental logging在重做日志里添加了唯一標(biāo)識(shí)行的信息。主鍵或唯一索引的存在與否,能夠影響追加的日志(supplemental logging):a、假如表有主鍵或唯一索引,則在supplemental logging的時(shí)候,向重做日志添加的信息是最少的。 b、假如表沒有主鍵或唯一索引,supplemental logging會(huì)自動(dòng)在重做日志里記錄所有字段的值。2.5.2 添加一個(gè)disabled的主鍵類型的rely的限制(disabled primary key rely constraint)假如應(yīng)用程序確保表里的行是唯一標(biāo)識(shí)的,你可以在表上創(chuàng)建一個(gè)disabled主鍵類型的rely的限制:SQL>alter table mytab add primary key(id,name) rely disable;rely constraint告訴系統(tǒng)確保了所有的行都是唯一的。假如rely constraint所指定的列沒有唯一,則在邏輯備用數(shù)據(jù)庫(kù)應(yīng)用SQL時(shí)將會(huì)失敗。最好添加主鍵或唯一索引,這樣在邏輯備用數(shù)據(jù)庫(kù)應(yīng)用SQL語(yǔ)句時(shí)也會(huì)速度快些。2.6 確保啟用追加的日志(supplemental logging)在創(chuàng)建邏輯備用數(shù)據(jù)庫(kù)前,在主數(shù)據(jù)庫(kù)上,必須啟用supplemental logging。因?yàn)镺racle只會(huì)對(duì)那些修改的列生成日志,這對(duì)唯一標(biāo)識(shí)那些被修改的行時(shí)并不總是足夠的,額外的信息(supplemental)必須被加到重做日志里。這些被加到聯(lián)機(jī)日志里的supplemental信息能夠幫助日志應(yīng)用服務(wù)正確的標(biāo)識(shí)邏輯備用數(shù)據(jù)庫(kù)里的表和表里的行。確定在主數(shù)據(jù)庫(kù)上,supplemental logging是否被啟用,可以查詢v$database,如下:SQL> select supplemental_log_data_pk,supplemental_log_data_ui from v$database;假如為NO,則說明supplemental logging沒有被啟用。假如被啟用,則轉(zhuǎn)到2.7,否則假如沒有被啟用,則采用下面的方法來啟用。2.6.1 啟用supplemental logging在主數(shù)據(jù)庫(kù)上,執(zhí)行下面語(yǔ)句以便將主鍵和唯一索引信息添加到歸檔日志里:SQL> alter database add supplemental log data(primary key,unique index) columns;該語(yǔ)句在主數(shù)據(jù)庫(kù)中向重做日志添加了唯一標(biāo)識(shí)行的信息,從而日志應(yīng)用服務(wù)可以在備用數(shù)據(jù)庫(kù)里正確的標(biāo)識(shí)相同的行了。2.6.2 切換到一個(gè)新的重做日志在主數(shù)據(jù)庫(kù)上,執(zhí)行以下語(yǔ)句:SQL> alter system archive log current;通過切換到一個(gè)新的日志文件,這樣,你就可以保證當(dāng)前重做日志既不含有supplemental日志數(shù)據(jù)也不含有nonsupplemental日志數(shù)據(jù)。邏輯備用數(shù)據(jù)庫(kù)不能使用那些既含有supplemental日志數(shù)據(jù)又含有nonsupplemental日志數(shù)據(jù)的重做日志。2.6.3 確保啟用supplemental loggingSQL> select supplemental_log_data_pk as primaryKey,supplemental_log_data_ui as uniqueIndex from v$database;假如都為yes則說明啟動(dòng)了。假如在一個(gè)已經(jīng)含有物理備用數(shù)據(jù)庫(kù)的data guard配置中啟用了supplemental logging的話,那么必須在每個(gè)物理備用數(shù)據(jù)庫(kù)中分別執(zhí)行alter database add supplemental log data,以便將來在switchover的時(shí)候能夠正常工作。2.7 創(chuàng)建一個(gè)可替代的表空間假如希望在主數(shù)據(jù)庫(kù)和邏輯備用數(shù)據(jù)庫(kù)之間進(jìn)行switchover,你必須在主數(shù)據(jù)庫(kù)上創(chuàng)建一個(gè)替代表空間,并且將邏輯備用數(shù)據(jù)庫(kù)里system表轉(zhuǎn)移到這個(gè)替代表空間里。邏輯備用數(shù)據(jù)庫(kù)使用一組在sys和system schema下的表。這些表缺省創(chuàng)建在system表空間下。這些表可能會(huì)增長(zhǎng)非常快。通過預(yù)先預(yù)備一個(gè)單獨(dú)的表空間,然后將這些邏輯備用系統(tǒng)表轉(zhuǎn)移到這個(gè)單獨(dú)的表空間下,從而避免了這些表將整個(gè)system表空間都填滿的情況出現(xiàn)。在邏輯備用數(shù)據(jù)庫(kù)創(chuàng)建時(shí),會(huì)向這些邏輯備用系統(tǒng)表填數(shù)據(jù)。這樣,應(yīng)該在創(chuàng)建邏輯備用數(shù)據(jù)庫(kù)前,就將這些表轉(zhuǎn)移到獨(dú)立的表空間里去。創(chuàng)建表空間:SQL> create tablespace logmnrts datafile 'D:oradatarmantgtlogmnrts.dbf' size 25m autoextend on maxsize unlimited;轉(zhuǎn)移表:SQL> execute dbms_logmnr_d.set_tablespace('logmnrts');假如在備用數(shù)據(jù)庫(kù)里的初始化參數(shù)standby_file_management設(shè)置為true,則前面創(chuàng)建表空間的命令會(huì)自動(dòng)應(yīng)用到備用數(shù)據(jù)庫(kù)上。否則假如沒有設(shè)置為true,則需要手工在備用數(shù)據(jù)庫(kù)上執(zhí)行。3.創(chuàng)建邏輯備用數(shù)據(jù)庫(kù) 3.1 確認(rèn)主數(shù)據(jù)庫(kù)的數(shù)據(jù)文件和聯(lián)機(jī)日志文件在主數(shù)據(jù)庫(kù)上,查詢v$datafile列出所有的邏輯備用數(shù)據(jù)庫(kù)所需要的數(shù)據(jù)文件:SQL> select name from v$datafile;NAME------------------------------------------------D:ORADATARMANTGTSYSTEM01.DBFD:ORADATARMANTGTUSERS02.DBFD:ORADATARMANTGTUSERS01.DBFD:ORADATARMANTGTUNDO02.DBF在主數(shù)據(jù)庫(kù)上,查詢v$logfile列出所有的邏輯備用數(shù)據(jù)庫(kù)所需要的日志文件:SQL> select group#,type,member from v$logfile;GROUP# TYPEMEMBER---------- ------- ------------------------------;1 ONLINE; D:ORADATARMANTGTREDO01.LOG;;;;;2 ONLINE; D:ORADATARMANTGTREDO02.LOG;;;;;3 ONLINE; D:ORADATARMANTGTREDO03.LOG3.2 對(duì)主數(shù)據(jù)庫(kù)生成一份拷貝 在主數(shù)據(jù)庫(kù)上,進(jìn)行以下步驟,以生成一份主數(shù)據(jù)庫(kù)文件的冷拷貝備份。第一步 關(guān)閉主數(shù)據(jù)庫(kù)SQL> shutdown;第二步 拷貝數(shù)據(jù)文件到臨時(shí)目錄使用操作系統(tǒng)命令將3.1所找出來的數(shù)據(jù)文件拷貝到一個(gè)臨時(shí)目錄。拷貝到臨時(shí)目錄是因?yàn)橹鲾?shù)據(jù)庫(kù)后面還會(huì)再次被關(guān)閉。第三步 重啟主數(shù)據(jù)庫(kù)SQL> startup第四步 為備用數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)控制文件的備份拷貝在主數(shù)據(jù)庫(kù)上,為備用數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)控制文件的備份:SQL> alter database backup controlfile to'D:oradatadataguard_logic_tmplogicdg.ctl';第五步 在主數(shù)據(jù)庫(kù)上啟用限制登錄(restrict session)模式在主數(shù)據(jù)庫(kù)上,啟用限制登錄模式,這樣就不答應(yīng)其他用戶登錄進(jìn)行DDL或DML操作。SQL> alter system enable restricted session;第六步 創(chuàng)建logminer目錄為了創(chuàng)建邏輯備用數(shù)據(jù)庫(kù),你必須為邏輯備用數(shù)據(jù)庫(kù)手工創(chuàng)建目錄結(jié)構(gòu)。在主數(shù)據(jù)庫(kù)上,采用以下命令創(chuàng)建logminer目錄:SQL> execute dbms_logstdby.build;第七步 在主數(shù)據(jù)庫(kù)上禁用限制登錄(restrict session)模式SQL> alter system disable restricted session;第八步 確定最后歸檔的日志文件為了獲得創(chuàng)建邏輯備用數(shù)據(jù)庫(kù)的起點(diǎn),查詢v$archived_log視圖,確定最后的歸檔日志,并且在后面創(chuàng)建的過程中,輸入該歸檔日志的名字。SQL> alter system archive log current;SQL> select name from v$archived_log where (sequence#=(select max(sequence#) from v$archived_log where dictionary_begin='YES' and standby_dest='NO'));NAME----------------------------------------------------------------------------D:ORADATARMANTGTARCHIVEARC00315.0013.3 為備用數(shù)據(jù)庫(kù)預(yù)備一個(gè)初始化參數(shù)文件在主數(shù)據(jù)庫(kù)上通過spfile創(chuàng)建一個(gè)傳統(tǒng)的文本格式的初始化參數(shù)文件。該文本格式的初始化參數(shù)文件可以拷貝到備用數(shù)據(jù)庫(kù)所在的系統(tǒng)并且可以被手工修改。SQL> create pfile='D:oradatadataguard_logic_tmpinitLogic.ora' from spfile;在后面的3.11的時(shí)候,還需要修改該文件的參數(shù)以對(duì)應(yīng)備用數(shù)據(jù)庫(kù),然后還要將其轉(zhuǎn)換為spfile。3.4 從主數(shù)據(jù)庫(kù)所在系統(tǒng)向備用數(shù)據(jù)庫(kù)所在系統(tǒng)拷貝文件在主數(shù)據(jù)庫(kù)所在的系統(tǒng)上,使用操作系統(tǒng)命令拷貝以下二進(jìn)制文件到備用數(shù)據(jù)庫(kù)所在的系統(tǒng)。 a、備份的數(shù)據(jù)文件(在4.2.2處創(chuàng)建)b、備份的日志文件(在4.2.2處創(chuàng)建)c、初始化參數(shù)文件(在4.2.3處創(chuàng)建)3.5 為備用數(shù)據(jù)庫(kù)設(shè)置初始化參數(shù)盡管從主數(shù)據(jù)庫(kù)處拷貝的初始化參數(shù)文件里的參數(shù)設(shè)置大部分都適用于邏輯備用數(shù)據(jù)庫(kù),但是有些還是需要修改。下面的例子顯示了為邏輯備用數(shù)據(jù)庫(kù)所作的初始化參數(shù)修改。被修改的部分用黑體表示。;1*.aq_tm_processes=1 2*.background_dump_dest='C:oracle92ora92adminlogicdgbdump' 3*.compatible='9.2.0.0.0' 4*.control_files='D:oradatalogicdgLOGICDG.CTL' 5*.core_dump_dest='C:oracle92ora92adminlogicdgcdump' 6*.standby_archive_dest='D:oradatalogicdgstandby' 7*.parallel_max_servers=9 8*.db_block_size=8192 9*.db_cache_size=2516582410*.db_domain=''11*.db_file_multiblock_read_count=1612*.db_name='rmantgt'13*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora920XDB)'14*.fast_start_mttr_target=30015*.global_names=TRUE16*.hash_join_enabled=TRUE17*.instance_name='logicdg'18*.Java_pool_size=3355443219*.job_queue_processes=1020*.large_pool_size=838860821*.log_archive_dest=''22*.log_archive_dest_1='location=D:oradatalogicdgarchive mandatory'23*.log_archive_start=TRUE24*.log_parallelism=125*.open_cursors=30026*.pga_aggregate_target=2516582427*.processes=15028*.query_rewrite_enabled='FALSE'29*.remote_login_passWordfile='EXCLUSIVE'30*.shared_pool_size=5033164831*.sort_area_size=52428832*.star_transformation_enabled='FALSE'33*.timed_statistics=TRUE34*.undo_management='AUTO'35*.undo_retention=1080036*.undo_tablespace='UNDOTBS2'37*.user_dump_dest='C:oracle92ora92adminlogicdgudump'38#假如主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)在同一臺(tái)機(jī)器上,就需要做以下參數(shù)配置39*.lock_name_space=logicdg這里,對(duì)上面的設(shè)置做一個(gè)簡(jiǎn)單解釋:a、db_name:不需要修改,與主數(shù)據(jù)庫(kù)保持一致。b、compatible:不需要修改,與主數(shù)據(jù)庫(kù)保持一致。c、control_files:說明了備用數(shù)據(jù)庫(kù)的控制文件所在的路徑。d、log_archive_start:不需要修改,與主數(shù)據(jù)庫(kù)保持一致。e、standby_archive_dest:說明了主數(shù)據(jù)庫(kù)向備用數(shù)據(jù)庫(kù)傳遞歸檔日志的路徑。需要主數(shù)據(jù)庫(kù)上配置歸檔路徑為備用數(shù)據(jù)庫(kù),這樣,主數(shù)據(jù)庫(kù)在歸檔時(shí),會(huì)將歸檔日志文件發(fā)送到備用數(shù)據(jù)庫(kù)上該參數(shù)指定的位置。f、log_archive_dest_1:說明備用數(shù)據(jù)庫(kù)的歸檔日志所存放的路徑。一旦出現(xiàn)switchover,那么該備用數(shù)據(jù)庫(kù)成為主數(shù)據(jù)庫(kù),則該參數(shù)指定了聯(lián)機(jī)日志文件的歸檔路徑。g、log_parallelism:不需要修改,與主數(shù)據(jù)庫(kù)保持一致。h、instance_name:假如主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)在同一臺(tái)機(jī)器上的話,就需要定義該參數(shù)并且與主數(shù)據(jù)庫(kù)不同。i、lock_name_space:指定備用數(shù)據(jù)庫(kù)所在的實(shí)例名稱。該參數(shù)與instance_name相同。記住,可能還需要修改一些參數(shù),比如background_dump_dest、user_dump_dest等。3.6 創(chuàng)建一個(gè)windows服務(wù)假如備用數(shù)據(jù)庫(kù)所在機(jī)器為windows系統(tǒng),則需要使用oradim創(chuàng)建windows服務(wù)。C:>oradim -new -sid logicdg -startmode manual3.7 為主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)配置監(jiān)聽在主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)上,分別為彼此配置監(jiān)聽器。假如使用了data guard broker,則必須使用TCP/IP協(xié)議配置監(jiān)聽器。假如數(shù)據(jù)庫(kù)在安裝oracle介質(zhì)的時(shí)候就自動(dòng)創(chuàng)建了數(shù)據(jù)庫(kù)的話,則不用配置。3.8 在備用數(shù)據(jù)庫(kù)所在系統(tǒng)啟用死亡連接檢測(cè)通過在sqlnet.ora文件里設(shè)置sqlnet.expire_time參數(shù)來檢測(cè)死亡連接。比如sqlnet.expire_time=23.9 創(chuàng)建Oracle Net連接名在主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)里,分別創(chuàng)建連接到主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)的tnsnames名稱。3.10 啟動(dòng)并mount備用數(shù)據(jù)庫(kù)在備用數(shù)據(jù)庫(kù)上,啟動(dòng)并mount備用數(shù)據(jù)庫(kù)。注重,假如是windows系統(tǒng),則還需要?jiǎng)?chuàng)建密碼文件。C:>orapwd file=C:oracle92ora92DATABASEPWDlogicdg.ORA password=hanson entries=5SQL>startup mount pfile=C:oracle92ora92adminlogicdgpfileinitLogic.ora3.11 在邏輯備用數(shù)據(jù)庫(kù)上重命名數(shù)據(jù)文件在邏輯備用數(shù)據(jù)庫(kù)上,需要將從主數(shù)據(jù)庫(kù)拷貝來的數(shù)據(jù)文件所在的路徑重新命名,因?yàn)橐嬖V控制文件,現(xiàn)在的數(shù)據(jù)文件所在的路徑已經(jīng)與主數(shù)據(jù)庫(kù)中的路徑不一致了,需要更改為當(dāng)前最新的路徑。C:>orapwd file=C:oracle92ora92DATABASEPWDlogicdg.ORA password=hanson entries=5SQL>startup mount pfile=C:oracle92ora92adminlogicdgpfileinitLogic.ora3.12 在邏輯備用數(shù)據(jù)庫(kù)上重命名聯(lián)機(jī)日志文件SQL> select member from v$logfile;MEMBER----------------------------------------------------------------------------D:ORADATARMANTGTREDO01.LOGD:ORADATARMANTGTREDO02.LOGD:ORADATARMANTGTREDO03.LOGSQL> alter database rename file 'D:ORADATARMANTGTREDO01.LOG'to 'D:oradatalogicdgredo01.log';Database altered.SQL> alter database rename file 'D:ORADATARMANTGTREDO02.LOG'to 'D:oradatalogicdgredo02.log';Database altered.SQL> alter database rename file 'D:ORADATARMANTGTREDO03.LOG'to 'D:oradatalogicdgredo03.log';Database altered.SQL> select member from v$logfile;MEMBER----------------------------------------------------------------------------D:ORADATALOGICDGREDO01.LOGD:ORADATALOGICDGREDO02.LOGD:ORADATALOGICDGREDO03.LOG3.13 打開database guard 為了防止其他用戶在邏輯備用數(shù)據(jù)庫(kù)上進(jìn)行DML操作,在邏輯備用數(shù)據(jù)庫(kù)上打開database guard。 SQL>alter database guard all;由于使用的控制文件比數(shù)據(jù)文件要新,所以直接open時(shí)會(huì)報(bào)錯(cuò),需要進(jìn)行恢復(fù)。SQL>recover database using backup controlfile until cancel;然后,直接輸入cancel結(jié)束恢復(fù)。SQL>alter database open resetlogs;3.14 重新設(shè)置邏輯備用數(shù)據(jù)庫(kù)名通過運(yùn)行oracle的DBNEWID(nid)實(shí)用程序,來改變邏輯備用數(shù)據(jù)庫(kù)的名稱。改變邏輯備用數(shù)據(jù)庫(kù)的名稱可以防止該邏輯備用數(shù)據(jù)庫(kù)與主數(shù)據(jù)庫(kù)之間進(jìn)行交互作用。在運(yùn)行nid的時(shí)候,必須關(guān)閉數(shù)據(jù)庫(kù),并啟動(dòng)到mount狀態(tài):然后,現(xiàn)在可以運(yùn)行nid來改變數(shù)據(jù)庫(kù)名了:C:>nid target=sys/hanson@dataguard dbname=logicdgDBNEWID: Release 9.2.0.1.0 - ProdUCtionCopyright (c) 1995, 2002, Oracle Corporation.; All rights reserved.Connected to database RMANTGT (DBID=2455129425)Control Files in database:D:ORADATALOGICDGLOGICDG.CTLChange database ID and database name RMANTGT to LOGICDG? (Y/[N]) => yProceeding with operationChanging database ID from 2455129425 to 2205596403Changing database name from RMANTGT to LOGICDGControl File D:ORADATALOGICDGLOGICDG.CTL - modifiedDatafile D:ORADATALOGICDGSYSTEM01.DBF - dbid changed, wrote new nameDatafile D:ORADATALOGICDGLOGMNRTS.DBF - dbid changed, wrote new nameDatafile D:ORADATALOGICDGUSERS01.DBF - dbid changed, wrote new nameDatafile D:ORADATALOGICDGUNDO02.DBF - dbid changed, wrote new nameControl File D:ORADATALOGICDGLOGICDG.CTL - dbid changed, wrote new nameDatabase name changed to LOGICDG.Modify parameter file and generate a new password file before restarting.Database ID for database LOGICDG changed to 2205596403.All previous backups and archived redo logs for this database are unusable.Shut down database and open with RESETLOGS option.Succesfully changed database name and ID.DBNEWID - Completed succesfully.3.15 在初始化參數(shù)文件中修改數(shù)據(jù)庫(kù)名第一步 修改初始化參數(shù)文件中的db_name為logicdg。第二步 關(guān)閉邏輯備用數(shù)據(jù)庫(kù)SQL>shutdown immediate;第三步 根據(jù)pfile創(chuàng)建spfileSQL> create spfile from pfile='C:oracle92ora92adminlogicdgpfileinitLogic.ora';第四步 重啟邏輯備用數(shù)據(jù)庫(kù)SQL>startup mount;SQL>alter database open resetlogs;3.16 為邏輯備用數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)新的臨時(shí)表空間臨時(shí)數(shù)據(jù)文件不需要從主數(shù)據(jù)庫(kù)拷貝到邏輯備用數(shù)據(jù)庫(kù)上。第一步 確定當(dāng)前臨時(shí)數(shù)據(jù)文件在邏輯備用數(shù)據(jù)庫(kù)上,執(zhí)行如下SQL:SQL>select * from v$tempfile;假如沒有記錄,則跳到第三步。第二步 在邏輯備用數(shù)據(jù)庫(kù)上刪除臨時(shí)數(shù)據(jù)文件SQL>alter database tempfile 'tempfilename' drop;第三步 在邏輯備用數(shù)據(jù)庫(kù)上,添加一個(gè)新的臨時(shí)數(shù)據(jù)文件1、確定臨時(shí)表空間SQL>select tablespace_name from dba_tablespaces where contents='TEMPORARY';2、添加一個(gè)臨時(shí)文件SQL>alter tablespace temp add tempfile 'D:ORADATALOGICDGtemp01.dbf' size 50m reuse;注重,這里的temp表空間空間必須足夠,否則邏輯備用數(shù)據(jù)庫(kù)在運(yùn)用主數(shù)據(jù)庫(kù)傳來的歸檔日志時(shí)會(huì)出錯(cuò)。3.17 注冊(cè)歸檔的日志,并啟動(dòng)SQL應(yīng)用操作注冊(cè)最新的歸檔日志文件,并應(yīng)用重做日志里的數(shù)據(jù)。第一步 注冊(cè)最新的歸檔日志文件將3.2的第八步查到的歸檔日志文件注冊(cè)到邏輯備用數(shù)據(jù)庫(kù)。SQL> alter database register logical logfile 'D:oradatalogicdgARC00290.001';第二步 在邏輯備用數(shù)據(jù)庫(kù)里開始應(yīng)用重做日志SQL> alter database start logical standby apply initial;只有在邏輯備用數(shù)據(jù)庫(kù)第一次啟動(dòng)應(yīng)用重做日志時(shí),指定initial選項(xiàng)。以后啟動(dòng)SQL應(yīng)用按照以下方法:SQL>alter database stop logical standby apply;SQL>alter database start logical standby apply;3.18 使主數(shù)據(jù)庫(kù)向備用數(shù)據(jù)庫(kù)進(jìn)行歸檔 必須在主數(shù)據(jù)庫(kù)上設(shè)置,以使得主數(shù)據(jù)庫(kù)能夠向備用數(shù)據(jù)庫(kù)歸檔。第一步 設(shè)置定義歸檔的初始化參數(shù)在主數(shù)據(jù)庫(kù)的log_archive_dest_n和log_archive_dest_state_n參數(shù)重設(shè)置主數(shù)據(jù)庫(kù)向備用數(shù)據(jù)庫(kù)的歸檔。下面的例子顯示了如何設(shè)置這些參數(shù):第一步 設(shè)置遠(yuǎn)程歸檔參數(shù)SQL> alter system set log_archive_dest_2='service=dataguard mandatory' scope=both;SQL> alter system set log_archive_dest_state_2=enable scope=both;第二步 啟動(dòng)遠(yuǎn)程歸檔SQL> alter system archive log current;4.確認(rèn)邏輯備用數(shù)據(jù)庫(kù)正常工作;一旦你創(chuàng)建了邏輯備用數(shù)據(jù)庫(kù),并啟動(dòng)了日志轉(zhuǎn)移服務(wù),可能你需要確定一下主數(shù)據(jù)庫(kù)的修改已經(jīng)成功轉(zhuǎn)移到備用數(shù)據(jù)庫(kù)上了。為了查看歸檔的日志文件已經(jīng)被備用數(shù)據(jù)庫(kù)所接收,首先,需要確定在備用數(shù)據(jù)庫(kù)下存在歸檔的日志文件。在主數(shù)據(jù)庫(kù)上歸檔少量的日志文件,然后檢查備用數(shù)據(jù)庫(kù)。第一步 確定歸檔日志文件在備用數(shù)據(jù)庫(kù)上已經(jīng)注冊(cè)了SQL>select sequence#,first_time,next_time,dict_begin,dict_end from dba_logstdby_log order by sequence#;第二步 在主數(shù)據(jù)庫(kù)上歸檔一些日志SQL>alter system archive log current;第三步 再次查詢dba_logstdby_log視圖SQL>select sequence#,first_time,next_time,dict_begin,dict_end from dba_logstdby_log order by sequence#;查看是否有新的歸檔日志記錄。假如有,就說明成功注冊(cè)到備用數(shù)據(jù)庫(kù)了。這些日志現(xiàn)在可以開始被應(yīng)用了。第四步 確定重做日志的已經(jīng)被正確應(yīng)用了在邏輯備用數(shù)據(jù)庫(kù)上,查詢dba_logstdby_status視圖確定重做數(shù)據(jù)已經(jīng)被正確應(yīng)用了。SQL>select name,value from v$logstdby_stats where name='coordinator state';假如結(jié)果是initializing,則說明日志應(yīng)用服務(wù)已經(jīng)預(yù)備好應(yīng)用SQL操作了,但是從重做日志來的數(shù)據(jù)還沒有應(yīng)用到邏輯備用數(shù)據(jù)庫(kù)上。邏輯備用數(shù)據(jù)庫(kù)假如有很多表,那么初始化的過程會(huì)需要幾個(gè)小時(shí),但是,一旦初始化結(jié)束,后面的應(yīng)用重做日志會(huì)快很多。第五步 查詢v$logstdby視圖,確定當(dāng)前SQL應(yīng)用活動(dòng)SQL>select type,high_scn,status from v$logstdby;一旦在邏輯備用數(shù)據(jù)庫(kù)上,coordinator進(jìn)程開始應(yīng)用重做日志,v$logstdby視圖通過在status顯示applying狀態(tài)表明正在應(yīng)用重做日志。high_scn會(huì)不斷增加。第六步 檢查日志應(yīng)用服務(wù)的進(jìn)行到的程度SQL>select applied_scn,newest_scn from dba_logstdby_progress; 假如applied_scn與newest_scn相同,這就意味著所有重做日志里的可用數(shù)據(jù)都被應(yīng)用了。這些值可以與dba_logstdby_log視圖里的first_change#的值做比較,來得知有多少日志信息已經(jīng)被應(yīng)用了以及有多少?zèng)]應(yīng)用。
主站蜘蛛池模板: 黑色丝袜美美女被躁视频 | 精品国产欧美一区二区 | 亚洲视频在线观看免费视频 | 欧美6699在线视频免费 | 禁止18周岁进入免费网站观看 | 日本污污网站 | 国产三片高清在线观看 | 黄 色 三 片 | 在线国产一区 | 国产精品一区高清在线观看 | 成年人在线视频 | 精品欧美一区二区在线观看欧美熟 | 美女扒开双腿让男人桶 | 日韩欧美毛片免费观看视频 | 成人一级网站 | 国产精品大全国产精品 | 精品国产午夜久久久久九九 | 亚洲日本视频在线观看 | 欧美国产日韩在线播放 | 老司机一级片 | 国产特黄1级毛片 | 黄页网站18以下禁止观看 | 91日韩精品天海翼在线观看 | 久热中文字幕在线精品免费 | aaa级大片 | 一级特色黄大片 | 国产在线精品福利91香蕉 | 国产亚洲欧美日韩在线看片 | 一极毛片| 久草福利社 | 特级毛片aaaa级毛片免费 | 特别福利视频在线观看 | 亚洲精品久久精品h成人 | 亚洲精品高清国产麻豆专区 | 女人张开腿给男人捅 | 欧美国一级毛片片aa | 色内内免费视频播放 | 男女视频在线观看免费高清观看 | 国产v在线播放 | 亚洲精品综合久久中文字幕 | 特黄特色大片免费播放路01 |