版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 一、前言: 網(wǎng)絡(luò)上關(guān)于dataguard的配置文章很多,但是很多打著oracle11g的文章實際都是只能在9 10 上運(yùn)行,比如FAL_CLIENT在11g中已經(jīng)廢棄,但是現(xiàn)在網(wǎng)絡(luò)上的文章都是沒有標(biāo)注這一點(diǎn)。而且對于具體含義語焉不詳對于新手只能知其然而不知其所以然。這篇文章我就想讓像我這樣的人對于dataguard配置不僅僅知道怎么配置,還要知道為什么需要這樣配置,這樣的效果才是最好的。 這篇文章不僅僅是記錄如何配置,還介紹了為什么是這樣,以及注意要點(diǎn),我希望這個文章可以作為進(jìn)行dataguard配置的一個參考手冊。二、前
2、提1.主庫是歸檔模式: 如果我們不清楚為什么是歸檔模式,那我們就應(yīng)該也不會清楚dataguard是用來做什么的。透過很多修飾的官方語言,我們需要明確DG(dataguard簡稱,后同)實際上的作用就是用來高可用。而實現(xiàn)原理就是從主庫獲取數(shù)據(jù)到從庫,在主庫發(fā)生異常的時候,從庫接管主庫,完成身份的變化??梢砸粋€主庫,最多9個從庫。同時分為邏輯standby和物理standby這里我們討論的是物理standby. 一旦創(chuàng)建并配置成 standby 后,dg 負(fù)責(zé)傳輸 primary數(shù)據(jù)庫 redo data 到 standby 數(shù)據(jù)庫,standby 數(shù)據(jù)庫通過應(yīng)
3、用接收到的 redo data 保持與 primary 數(shù)據(jù)庫的事務(wù)一致。 這下清楚了吧,需要保證主從庫一致,需要傳輸archive log和redo log到從庫,如果不是歸檔模式無法保證主從庫的數(shù)據(jù)一致。2.從庫只需要安裝數(shù)據(jù)庫軟件,數(shù)據(jù)從主庫傳輸后完成。3.很多人說11g有了active dataguard(ADG),邏輯standby 實際上已經(jīng)沒什么用處了。4.主從庫硬件最好一致。oracle數(shù)據(jù)庫版本需要一致。 (1)內(nèi)存檢查項: # grep MemTotal /proc/meminfo
4、; 交換分區(qū)檢查項:如果內(nèi)存在1-2G,swap是1.5倍;2-16G,1倍;超過16G,設(shè)置為16G即可。 # grep SwapTotal /proc/meminfo 查看共享內(nèi)存大?。?#160; # df -h /dev/shm (2)查看系統(tǒng)處理器架構(gòu),與oracle安裝包一致 # uname -m (3)空間空間 /tmp
5、必須大于1G # df -h /tmp5.配置環(huán)境數(shù)據(jù)庫用戶必須有sysdba權(quán)限6.后面的環(huán)境:主庫 01 數(shù)據(jù)庫實例名:orcl db_unique_name:orcl 從庫 02 數(shù)據(jù)庫實例名:orcl
6、160; db_unique_name:orcldg三、配置1.判斷DG是否已經(jīng)安裝: select * from v$option where parameter = 'Oracle Data Guard' 如果是true表示已經(jīng)安裝可以配置,否則需要安裝相應(yīng)組件。2.設(shè)置主庫為強(qiáng)制記錄日志。 默認(rèn)情況下數(shù)據(jù)庫操作會記錄redo log,但是在一些特定的情況下可以使用nologging來不生成redo信息 (1)表的批量INSERT(通過/*+APPEND */提示使用“直接路徑插入“?;虿捎肧QL*Loader直接
7、路徑加載)。表數(shù)據(jù)不生成redo,但是 所有索引修改會生成redo,但是所有索引修改會生成redo(盡管表不生成日志,但這個表上的索引卻會生成redo?。?#160; (2)LOB操作(對大對象的更新不必生成日志)。 (3)通過CREATE TABLE AS SELECT創(chuàng)建表 (4)各種ALTER TABLE操作,如MOVE和SPLIT (5)在一些表遷移和表空間遷移中,可以使用alter table a nologging;或者alter tablespace snk nologging;在操作完成后再修改回loggi
8、ng狀態(tài)。 這里需要多說一句,如果你使用nologging導(dǎo)入大批量數(shù)據(jù),以后對這些數(shù)據(jù)的修改會在redo或者archive log中,但是基準(zhǔn)的數(shù)據(jù)是沒有的,所以一旦介質(zhì)損壞是無法完全恢復(fù)的,必須在使用nologging完成切換回logging后,做一次全備或者0級備份。 (1)強(qiáng)制記錄日志:sql>alter database force logging; (2)檢查狀態(tài)(YEs為強(qiáng)制):sql>select name,force_logging from v$database; (3)如果需要
9、在主庫添加或者刪除數(shù)據(jù)文件時,這些文件也會在備份添加或刪除,使用如下: sql>alter system set standy_file_management='AUTO' 默認(rèn)此參數(shù)是manual手工方式 sql>show parameter standby 3.創(chuàng)建standby log files(備用日志文件) 從庫使用standby log files來保存從主庫接收到的重做日志。既然主要是從
10、庫在使用,那為什么需要在主庫上也建立 standby log files?原因主要由兩個:一是主庫可能轉(zhuǎn)換為備庫,而備庫是需要有standby log files的 二是如果主庫 建立了standby log files那備庫會自動建立。 建立standby如要注意以下幾點(diǎn): <1>standby log files的大小和redo log files一樣。 查詢redo log files文件大?。J(rèn)50M,3個)
11、:select group#,bytes/1024/1024 as M from v$log <2>一般而言, standbyredo 日志文件組數(shù)要比 primary 數(shù)據(jù)庫的 online redo 日志文件組數(shù)至少多一個。 推薦 standbyredo 日志組數(shù)量基于 primary 數(shù)據(jù)庫的線程數(shù)(這里的線程數(shù)可以理解為 rac 結(jié)構(gòu)中的 rac 節(jié)點(diǎn)數(shù))。 有一個推薦的公
12、式可以做參考:(每線程的日志組數(shù)+1)*最大線程數(shù) 假設(shè)現(xiàn)在節(jié)點(diǎn)是1個,則=(3+1)*1=4 如果是雙節(jié)點(diǎn) 則=(3+1)*2=8 這里我們創(chuàng)建4個standby logfile: 另:不建議組號group#緊挨著redo,因為后續(xù)redo有可能調(diào)整,這里我們從建立從11到14的sta
13、ndby logfile 12345678# cd $ORACLE_BASE/oradata/orcl/# mkdir dg# chown oracle:dba dgsql> alter database add standby logfile group 11 '/opt/oracle/oradata/orcl/dg/standby11.log' size 50M;sql> alter
14、database add standby logfile group 12 '/opt/oracle/oradata/orcl/dg/standby12.log' size 50M;sql> alter database add standby logfile group 13 '/opt/oracle/oradata/orcl/dg/standby13.log' size
15、50M;sql> alter database add standby logfile group 14 '/opt/oracle/oradata/orcl/dg/standby14.log' size 50M; 4.密碼文件和控制文件的創(chuàng)建傳輸 (1)一般數(shù)據(jù)庫默認(rèn)就有密碼文件,存放在$ORACLE_HOME/dbs/orapwSID 這里為orapworcl
16、160; 如果沒有sql>orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle (2)檢查REMOTE_LOGIN_PASSWORDFILE值是否為 EXCLUSIVE sql>show parameter REMOTE_LOGIN_PASSWORDFILE 如果值不是EXCLUSIVE,則:alter system set r
17、emote_login_passwordfile=exclusive scope=spfile; (3)密碼文件需要scp到從庫 # scp orapworcl oracle02:/opt/oracle/11.2/dbs 提示輸入yes (4)控制文件: 11g的控制文件一共兩
18、份,內(nèi)容一樣,一份在$ORACLE_BASE/oradata/orcl/control01.ctl 一份在/opt/oracle/flash_recovery_area/orcl/control02.ctl 生成standby控制文件:1234sql>shutdown immediatesql>startup mountsql>alter database create standby controlfile as '/tmp/standby_control01.ctl'sql>sta
19、rtup open; 然后在備庫建立對應(yīng)的目錄,并授權(quán) mkdir orcl- chown oracle:oinstall(或dba) orclscp control01.ctl oracle02:/opt/oracle/oradata/orclscp control02.ctl oracle02:/opt/oracle/flash_recovery_area/orcl/ 5.db_n
20、ame和db_unique_name 默認(rèn)db_name和db_unique_name和實例名是一致的,這里是orcl 需要注意在DG中主庫和從庫的db_unique_name是不能一致的,需要區(qū)分開的。 這里我們設(shè)置主庫的db_unique_name為orcl,從庫為orcldg sql>show parameter db_unique_name
21、160; 設(shè)置:alter system set db_unique_name=orcl scope=spfile; -注意雖然默認(rèn)db_unique_name和db_name是一致的,但是需要顯式設(shè)置,否則在spfile中沒有此參數(shù) 6.閃回數(shù)據(jù)庫: 強(qiáng)烈建議開啟數(shù)據(jù)庫閃回功能。閃回允許你將數(shù)據(jù)庫還原到以前的某一時間點(diǎn)。當(dāng)發(fā)生故障轉(zhuǎn)移時,這個功
22、能非常有用, 它能讓你將老的主庫閃回到故障前,然后將其轉(zhuǎn)換為備庫。如果沒有啟用閃回功能,你就必須重建備庫,意味著要再復(fù)制一次數(shù)據(jù)文件。 除了這個好處,閃回還能在某些情況下讓你避免從備份恢復(fù)數(shù)據(jù)。 (1)快速恢復(fù)區(qū)(Flash/Fast Recovery Area),默認(rèn)是配置的,但是需要確認(rèn)這個區(qū)域的磁盤夠大,至少300G以上(默認(rèn)3G) sql
23、>show parameter db_recovery_file_dest 可以修改位置:sql>alter system set db_recovery_file_dest='新路徑' 更改大?。簊ql>alter system set db_recovery_file_dest_size=400G; (2)查看是否啟用,默認(rèn)是不開啟的
24、; sql>select flashback_on from v$database; 開啟:sql>alter database flashback on; 如果你碰到 ORA-01153 報錯,那一定是在備庫進(jìn)行此操作。你需要先取消重做日志應(yīng)用,啟用閃回日志,然后重新啟用日志應(yīng)用。 在主庫啟用閃回日志,不會同步備庫也啟用
25、。你必須手動在主庫和備庫上均啟用閃回日志。 如果不啟用閃回日志,當(dāng)出現(xiàn)故障轉(zhuǎn)移時,你將需要完全重新開始創(chuàng)建一個備庫。 7.SQL*NET設(shè)置 (1)配置主庫的監(jiān)聽 雖然可以通過netca來進(jìn)行配置,但是除了這個默認(rèn)的外,我們還需要一個靜態(tài)注冊SID_LIST_LISTENER,如果沒有此從參數(shù)而且 datagua
26、rd啟動順序不正確,主庫會報PINGARC1:Heartbeat failed to connect to standby '*'.Error is 12514導(dǎo)致歸檔無法完成 配置如下 SID_LIST_LISTENER= (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOM
27、E = /opt/oracle/11.2) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = &
28、#160; (ADDRESS = (PROTOCOL = TCP)(HOST = primaryDB)(PORT = 1521) ) ) #vi $ORACLE_HOME/network/admin/listener.ora 加入上面的內(nèi)容 (2)配置tnsnames #vi $ORA
29、CLE_HOME/network/admin/tnsnames.oraORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 01)(PORT = 1521) ) (CONNECT_DATA =
30、 (SERVICE_NAME = orcl) ) ) ORCLDG = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =
31、02)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = orcldg) ) ) (3)傳輸?shù)絺鋷觳⑿薷膌istener.ora和tnsnames.
32、ora scp $ORACLE_HOME/network/admin/listener.ora oracle02:/opt/oracle/11.2/network/admin/scp $ORACLE_HOME/network/admin/tnsnames.ora oracle02:/opt/oracle/11.2/network/admin/ -listener.ora: SID_LIST_LISTENER (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcldg) (ORACLE_
33、HOME = /opt/oracle/11.2) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = standbyDB)(PORT = 1521) ) ) tnsnames.ora:不需要修改 8.重做日志傳輸配置
34、160;(1)配置歸檔日志位置: 查詢已經(jīng)設(shè)置的歸檔路徑sql:archive log list或者show parameter log_archive_dest_1sql> alter system set log_archive_dest_1='LOCATION=/opt/oracle/oradata/orcl/archive1 valid_for=(all_logfiles,primary_role) db_unique_name=orcl' scope=spfile;
35、60; 還可以使用快速恢復(fù)區(qū)作為歸檔目錄,如LOCATION=use_db_recovery_file_dest 官方文檔里說使用 valid_for=(online_logfiles, all_roles),這將導(dǎo)致備庫無法歸檔備用日志文件,因為它們不是在線日志。 但如果使用 all_logfiles 選項,主備庫將都能歸檔在線以及備用日志。 如果你想在備庫進(jìn)行備份,并同時備份歸檔日志的話,必須使用 all_logfiles。
36、 (2)配置重做日志到備份庫:sql>alter system set log_archive_dest_2='SERVICE=orcldg lgwr sync valid_for=(online_logfile,primary_role) d
37、b_unique_name=orcldg' (3)要注意STANDBY_ARCHIVE_DEST 參數(shù)不需要,已經(jīng)被官方棄用。設(shè)置此參數(shù)后啟動數(shù)據(jù)庫,只會報 ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance 錯。 9.配置FAL_SERVER 這個參數(shù)指定當(dāng)日志傳輸出現(xiàn)問題時,備庫到哪里去找缺少的歸檔日志。它用在備庫接收的
38、到的重做日志間有缺口的時候。 這種情況會發(fā)生在日志傳輸出現(xiàn)中斷時,比如你需要對備庫進(jìn)行維護(hù)操作。在備庫維護(hù)期間,沒有日志傳輸過來,這時缺口就出現(xiàn)了。 設(shè)置了這個參數(shù),備庫就會主動去尋找那些缺少的日志,并要求主庫進(jìn)行傳輸。 你是主庫,就填寫: fal_server=從庫 從庫上就反過來: fal_server=主庫
39、; 注意:FAL_CLIENT在11g中已經(jīng)廢棄,雖然可以配置但是已經(jīng)不起作用了。 sql>alter system set FAL_SERVER='orcldg' 10.Data Guard 配置里的另外一個庫的名字 sql> alter system set log_archive_config = 'dg_config=(orcl
40、,orcldg)' 以上的辦法是我們采用alter system的方式在線修改,還有一種比較方便的辦法(但是容易出錯,所以方便和安全什么時候都不可兼得) sql>create pfile from spfile; # 手工修改pfile sql>create spfile from pfile; 然后用pfile生成spfile 同時傳輸pfile到從庫修改后生成spfile 注意手工增加: *.log_ar
41、chive_dest_state_1=enable *.log_archive_dest_state_2=enable vi initorcl.oraorcl._db_cache_size=180355072orcl._java_pool_size=4194304orcl._large_pool_size=4194304orcl._oracle_base='/opt/oracle'#ORACLE_BASE set from environmentorcl._pga_aggregate_target=2642411
42、52orcl._sga_target=494927872orcl._shared_io_pool_size=0orcl._shared_pool_size=289406976orcl._streams_pool_size=8388608*.audit_file_dest='/opt/oracle/admin/orcl/adump'*.audit_trail='db'*.compatible='.0'*.control_files='/opt/oracle/oradata/orcl/control01.ctl',
43、39;/opt/oracle/flash_recovery_area/orcl/control02.ctl'#Restore Controlfile*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='/opt/oracle/flash_recovery_area'*.db_recovery_file_dest_size=4039114752*.diagnostic_dest='/opt/oracle'*.dispatchers
44、='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.fal_server='orcldg'*.job_queue_processes=1000*.log_archive_config='dg_config=(orcl,orcldg)'*.log_archive_dest_1='LOCATION=/opt/oracle/oradata/orcl/archive1 valid_for=(all_logfiles,primary_role) db_unique_name=orcl'*.log_archive_des
45、t_2='SERVICE=orcldg lgwr sync valid_for=(online_logfile,primary_role) db_unique_name=orcldg'*.log_archive_format='orcl_%t_%s_%r.dbf'*.memory_target=756023296*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.standby_file_management='AUTO'*.undo_
46、tablespace='UNDOTBS1' scp initorcl.ora oracle02:/opt/oracle/11.2/dbs/ 修改備庫的initorcl.ora 修改參數(shù)如下:*.db_name='orcl' *.db_unique_name='orcldg' *.fal_server='orcl' *.log_archive_config='dg_c
47、onfig=(orcldg,orcl)' *.log_archive_dest_1='LOCATION=/opt/oracle/oradata/orcl/archive1 valid_for=(all_logfiles,primary_role) db_unique_name=orcldg' *.log_archive_dest_2='SERVICE=orcl lgwr sync valid_for=(online_logfile,primary_role) db_unique_name=orcl'
48、 然后sql>create spfile from pfile; 11.傳輸主庫數(shù)據(jù)到備庫 (1)scp -l 8192 -rp /opt/oracle/oradata/orcl/ oracle02:/opt/oracle/oradata/
49、0; 注意目的地不要加orcl 會自動創(chuàng)建目錄的 -l是limit限制,這樣最大是8192/8=1M速度,是為了解決stalled問題 -rp 循環(huán)子目錄文件 (2)建立spfile中需要的目錄
50、 如/opt/oracle/admin/orcl/adump dpdump pfile 12.啟用物理備用數(shù)據(jù)庫 sql>startup nomount sql>alter database mount standby database; (1)啟動 redo 應(yīng)用 SQL> ALTER DATABASE R
51、ECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; 啟動實時應(yīng)用 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; 這個命令指示備庫開始使用備用日志文件進(jìn)行恢復(fù)。它也告訴備庫命令完成后回到命令行界面 SQL
52、> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 此時只是暫時 redo 應(yīng)用,并不是停止 Standby 數(shù)據(jù)庫,standby 仍會保持接收只不過不會再應(yīng)用 接收到的歸檔,直到你再次啟動 redo 應(yīng)用為止 (2)
53、停止standby 正常情況下,首先 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 然后再sql>shutdown immediate 當(dāng)然也可以直接shutdown immediate &
54、#160;(3)備用服務(wù)器的管理模式與只讀模式 <1>.啟動到管理模式SQL>shutdown immediate;SQL>startup nomount;SQL>alter database mount standby database;SQL>alter database recover managed standby database disconnect from session; <2>.啟動到只讀方式
55、160; SQL>shutdown immediate; SQL>startup nomount; SQL>alter database mount standby database; SQL>alter database open read only; <3>如果在管理恢復(fù)模式下到只讀模式SQL> recover managed standby database canc
56、el; SQL> alter database open read only; 這個時候,可以給數(shù)據(jù)庫增加臨時數(shù)據(jù)文件(這個在熱備份的時候是沒有備份過來的) 如alter tablespace temp add tempfile '/u02/oradata/test/temp01.dbf' size 100M; <4>.從只讀方式到管理恢復(fù)方式&
57、#160; SQL> recover managed standby database disconnect from session; (4)應(yīng)用物理備庫的幾點(diǎn)監(jiān)控 如果上面出了問題或者我們不知道成功了沒有,可以用下面的方法檢測 <1>確認(rèn)主備庫里的歸檔目的地配置都是有效的
58、; select DEST_ID, STATUS, DESTINATION, ERROR from V$ARCHIVE_DEST where DEST_ID<=2; 目的地狀態(tài)status應(yīng)該顯示為 VALID,注意如果上面沒有執(zhí)行redo應(yīng)用會有一條error信息 <2>確認(rèn)重做日志是否真的被應(yīng)用了,在主庫執(zhí)行 se
59、lect SEQUENCE#, FIRST_TIME, NEXT_TIME, APPLIED, ARCHIVED from V$ARCHIVED_LOG where name = 'JED2' order by FIRST_TIME; 如果歸檔和日志應(yīng)用均正常,APPLIED 和 ARCHIVED 列都應(yīng)該是 YES。(如果沒有應(yīng)用redo,applied應(yīng)該是NO) 很多教程里都讓這個查詢以 SEQUENCE#
60、 列排序,但我不推薦。如果以 SEQUENCE# 列排序,當(dāng)你做了一次故障轉(zhuǎn)移后,序列號會再從1開始, 這時使用這個查詢,你將不能在結(jié)果最后看到最新的記錄。我曾經(jīng)很奇怪為什么查不到新記錄,其實是因為新記錄不是出現(xiàn)在最后, 我沒看到。所以,這個查詢都是以 FIRST_TIME 列排序. <3>主庫上檢查是否有重做日志缺口 如果你發(fā)現(xiàn)日志沒有被應(yīng)用,那可能是重做日志有了缺口,這種情況下備庫無法進(jìn)行日志應(yīng)用。但如果你的 FAL_SERVER 參數(shù)設(shè)置正確,這應(yīng)該不會有問題
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年房地產(chǎn)交易風(fēng)險評估與控制合同
- 2024年房屋按揭貸款擔(dān)保合同
- 2024年工程項目施工合同中的施工組織設(shè)計編制
- 2024年房產(chǎn)購買合同標(biāo)準(zhǔn)
- 2024年文創(chuàng)產(chǎn)業(yè)投資與合作協(xié)議
- 2024年建筑項目工程招投標(biāo)代理合同
- 2024年新修訂:企業(yè)間長期貸款協(xié)議
- 2024年停車場車位租賃代理合同
- 2024年敲墻工程環(huán)保協(xié)議
- 2024年教育培訓(xùn)機(jī)構(gòu)勞動合同
- 2024-2025學(xué)年九年級上學(xué)期期中考試英語試題
- 電子發(fā)票管理系統(tǒng)開發(fā)與維護(hù)合同
- 四川新農(nóng)村建設(shè)農(nóng)房設(shè)計方案圖集川西部分
- 浙江省杭州市2024年中考英語真題(含答案)
- 安全工程導(dǎo)論課件:事故致因理論
- 山東省青島實驗中學(xué)2024-2025學(xué)年七年級上學(xué)期期中考試數(shù)學(xué)試題(無答案)
- 2024年安能物流合作加盟協(xié)議版
- 質(zhì)量管理體系過程方法和風(fēng)險思維專業(yè)解讀與應(yīng)用之7:5 領(lǐng)導(dǎo)作用-5.3組織的崗位、職責(zé)和權(quán)限(雷澤佳編制-2024B1)
- 地面找平專項施工方案
- 初三化學(xué)-水的凈化省公開課獲獎?wù)n件說課比賽一等獎?wù)n件
- 2024-2030年中國財稅服務(wù)行業(yè)市場深度調(diào)研及發(fā)展前景與投資研究報告
評論
0/150
提交評論