Oracle中怎么配置RAC + SingleADG
这篇文章主要介绍“Oracle中怎么配置RAC + SingleADG”,在日常操作中,相信很多人在Oracle中怎么配置RAC + SingleADG问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle中怎么配置RAC + SingleADG”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、 环境介绍主库
备库
架构
RAC
单机
操作系统
RedHat Linux 7.7 x64
RedHat Linux 7.7 x64
数据库版本
Oracle 19.3
Oracle 19.3
IP地址
192.168.84.91
192.168.84.92
SID
woo1 | woo2
woo
DB_NAME
woo
wooDB_UNIQU_NAME
woo_pri
woosty
二、 操作步骤2.1. 配置静态LISTENER.ORA监听RAC各个节点按如下配置:
[oracle@ora19crac1~]$vi$ORACLE_HOME/network/admin/listener.oraLISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=scan-ora19cracdb)(PORT=1521))(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=woo_DGMGRL)(ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1)(SID_NAME=woo)))[oracle@ora19crac2~]$cat$ORACLE_HOME/network/admin/listener.oraLISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=scan-ora19cracdb)(PORT=1521))(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=woo_DGMGRL)(ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1)(SID_NAME=woo)))
单实例节点配置:
[oracle@ora19cadg~]$cat$ORACLE_HOME/network/admin/listener.oraLISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora19cadg)(PORT=1521))(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=woo_DGMGRL)(ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1)(SID_NAME=woo)))2.2. 配置TNSNAME.ora网络连接文件
所有节点配置如下:
[oracle@ora19crac1~]$cat$ORACLE_HOME/network/admin/tnsnames.ora#tnsnames.oraNetworkConfigurationFile:/u01/app/oracle/product/19.3.0/dbhome_1/network/admin/tnsnames.ora#GeneratedbyOracleconfigurationtools.WOO=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=scan-ora19cracdb)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=woo)))WOOSTY=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.84.99)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=woosty)(UR=A)))2.3. 所有节点在hosts中添加如下解析
[root@ora19cadg~]#tail-2/etc/hosts192.168.84.95scan-ora19cracdb192.168.84.99ora19cadg2.4. 开启归档和force logging
需要关闭一个实例,在一个实例上做以下操作即可:
SQL>alterdatabaseforcelogging;Databasealtered.SQL>altersystemsetdb_recovery_file_dest='+FRA_GP01'scope=spfilesid='*';Systemaltered.SQL>altersystemsetDB_RECOVERY_FILE_DEST_SIZE=2gscope=spfilesid='*';Systemaltered.SQL>shutimmediateSQL>startupmount;ORACLEinstancestarted.TotalSystemGlobalArea805304088bytesFixedSize9139992bytesVariableSize394264576bytesDatabaseBuffers394264576bytesRedoBuffers7634944bytesDatabasemounted.SQL>alterdatabasearchivelog;Databasealtered.SQL>alterdatabaseopen;Databasealtered.SQL>alterdatabaseflashbackon;Databasealtered.SQL>colforce_loggingformata10SQL>selectname,open_mode,database_role,flashback_on,force_loggingfromv$database;NAMEOPEN_MODEDATABASE_ROLEFLASHBACK_ONFORCE_LOGG-------------------------------------------------------------------------WOOREADWRITEPRIMARYYESYES2.5. 检查初始化参数文件
SQL>showparameterdb_nameNAMETYPEVALUE-----------------------------------------------------------------------------db_namestringwooSQL>showparameteruniqNAMETYPEVALUE-----------------------------------------------------------------------------db_unique_namestringwoo2.6. 配置RAC端主库参数
ALTERSYSTEMSETLOG_ARCHIVE_CONFIG='DG_CONFIG=(woo,woosty)'sid='*';ALTERSYSTEMSETLOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DESTVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=woo'sid='*';ALTERSYSTEMSETLOG_ARCHIVE_DEST_2='SERVICE=woostyASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=woosty'sid='*';ALTERSYSTEMSETdb_file_name_convert='/DBSoft/oracle/oradata/woo/','+DATA_GP01/WOO/'scope=spfilesid='*';ALTERSYSTEMSETlog_file_name_convert='/DBSoft/oracle/oradata/woo/','+DATA_GP01/WOO/ONLINELOG/'scope=spfilesid='*';ALTERSYSTEMSETSTANDBY_FILE_MANAGEMENT=AUTOsid='*';ALTERSYSTEMSETFAL_SERVER='woosty';2.7. 开启Broker
SQL>altersystemsetdg_broker_start=true;Systemaltered.2.8. 添加standby日志组
SQL>alterdatabaseaddstandbylogfile2group5('+DATA_GP01/WOO/ONLINELOG/group_5.log')size200m;Databasealtered.SQL>alterdatabaseaddstandbylogfile2group6('+DATA_GP01/WOO/ONLINELOG/group_6.log')size200m;Databasealtered.SQL>alterdatabaseaddstandbylogfile2group7('+DATA_GP01/WOO/ONLINELOG/group_7.log')size200m;Databasealtered.SQL>alterdatabaseaddstandbylogfile2group8('+DATA_GP01/WOO/ONLINELOG/group_8.log')size200m;Databasealtered.SQL>alterdatabaseaddstandbylogfile2group9('+DATA_GP01/WOO/ONLINELOG/group_9.log')size200m;Databasealtered.SQL>selectgroup#,status,typefromv$logfile;GROUP#STATUSTYPE------------------------2ONLINE1ONLINE3ONLINE4ONLINE5STANDBY6STANDBY7STANDBY8STANDBY9STANDBY9rowsselected.2.9. 备库创建相应目录
[oracle@ora19cadg~]$mkdir-p/DBSoft/oracle/oradata/woo/pdbseed[oracle@ora19cadg~]$mkdir-p/DBSoft/oracle/fast_recovery_area/woo[oracle@ora19cadg~]$mkdir-p/DBSoft/oracle/admin/woo/adump2.10. 手工创建备库参数文件和密码文件
[oracle@ora19cadgdbs]$catinitwoo.ora*.audit_file_dest='/DBSoft/oracle/admin/woo/adump'*.audit_trail='db'*.cluster_database=false*.compatible='19.0.0'*.control_files='/DBSoft/oracle/oradata/woo/control01.ctl'*.db_block_size=8192*.db_create_file_dest='/DBSoft/oracle/oradata/woo'*.db_name='woo'*.db_recovery_file_dest='/DBSoft/oracle/fast_recovery_area/woo'*.DB_RECOVERY_FILE_DEST_SIZE=2g*.diagnostic_dest='/DBSoft/oracle'*.enable_pluggable_database=true*.DB_UNIQUE_NAME=woosty*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(woo,woosty)'*.LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DESTVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=woosty'*.LOG_ARCHIVE_DEST_2='SERVICE=wooASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=woo'*.db_file_name_convert='+DATA_GP01/WOO/','/DBSoft/oracle/oradata/woo/'*.log_file_name_convert='+DATA_GP01/WOO/ONLINELOG/','/DBSoft/oracle/oradata/woo/'*.STANDBY_FILE_MANAGEMENT=AUTO*.FAL_SERVER='woo'[oracle@ora19cadgdbs]$orapwdfile=orapwwoopassword=oracleentries=10OPW-00029:PasswordcomplexityfailedforSYSuser:Passwordmustcontainatleast8characters.[oracle@ora19cadgdbs]$orapwdfile=orapwwoopassword=oracleentries=10format=122.11. duplicate standby 数据库
[oracle@ora19cadgadmin]$rmanTARGETsys/oracle@wooAUXILIARYsys/oracle@woostyRecoveryManager:Release19.0.0.0.0-ProductiononFriMar2001:08:522020Version19.3.0.0.0Copyright(c)1982,2019,Oracleand/oritsaffiliates.Allrightsreserved.connectedtotargetdatabase:WOO(DBID=78639635)connectedtoauxiliarydatabase:WOO(notmounted)RMAN>DUPLICATETARGETDATABASE2>FORSTANDBY3>FROMACTIVEDATABASE4>DORECOVER5>NOFILENAMECHECK;StartingDuplicateDbat20-MAR-20usingtargetdatabasecontrolfileinsteadofrecoverycatalogallocatedchannel:ORA_AUX_DISK_1channelORA_AUX_DISK_1:SID=434devicetype=DISKcurrentlogarchivedcontentsofMemoryScript:{backupascopyreusepasswordfileauxiliaryformat'/DBSoft/oracle/product/19.3/dbhome_1/dbs/orapwwoo';}executingMemoryScriptStartingbackupat20-MAR-20allocatedchannel:ORA_DISK_1channelORA_DISK_1:SID=407instance=woo1devicetype=DISKFinishedbackupat20-MAR-20contentsofMemoryScript:{restoreclonefromservice'woo'standbycontrolfile;}executingMemoryScriptStartingrestoreat20-MAR-20usingchannelORA_AUX_DISK_1channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:restoringcontrolfilechannelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:01outputfilename=/DBSoft/oracle/oradata/woo/control01.ctlFinishedrestoreat20-MAR-20contentsofMemoryScript:{sqlclone'alterdatabasemountstandbydatabase';}executingMemoryScriptsqlstatement:alterdatabasemountstandbydatabasecontentsofMemoryScript:{setnewnamefortempfile1to"/DBSoft/oracle/oradata/woo/tempfile/temp.264.1034100827";setnewnamefortempfile2to"/DBSoft/oracle/oradata/woo/9ff1c0f54b74ff37e0535b54a8c0e689/tempfile/temp.268.1034101685";switchclonetempfileall;setnewnamefordatafile1to"/DBSoft/oracle/oradata/woo/datafile/system.257.1034100693";setnewnamefordatafile3to"/DBSoft/oracle/oradata/woo/datafile/sysaux.258.1034100727";setnewnamefordatafile4to"/DBSoft/oracle/oradata/woo/datafile/undotbs1.259.1034100753";setnewnamefordatafile5to"/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/system.265.1034101665";setnewnamefordatafile6to"/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/sysaux.266.1034101665";setnewnamefordatafile7to"/DBSoft/oracle/oradata/woo/datafile/users.260.1034100753";setnewnamefordatafile8to"/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/undotbs1.267.1034101665";setnewnamefordatafile9to"/DBSoft/oracle/oradata/woo/datafile/undotbs2.269.1034101939";restorefromnonsparsefromservice'woo'clonedatabase;sql'altersystemarchivelogcurrent';}executingMemoryScriptexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMErenamedtempfile1to/DBSoft/oracle/oradata/woo/tempfile/temp.264.1034100827incontrolfilerenamedtempfile2to/DBSoft/oracle/oradata/woo/9ff1c0f54b74ff37e0535b54a8c0e689/tempfile/temp.268.1034101685incontrolfileexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMEexecutingcommand:SETNEWNAMEStartingrestoreat20-MAR-20usingchannelORA_AUX_DISK_1channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00001to/DBSoft/oracle/oradata/woo/datafile/system.257.1034100693channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:15channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00003to/DBSoft/oracle/oradata/woo/datafile/sysaux.258.1034100727channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:15channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00004to/DBSoft/oracle/oradata/woo/datafile/undotbs1.259.1034100753channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:08channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00005to/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/system.265.1034101665channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:07channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00006to/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/sysaux.266.1034101665channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:07channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00007to/DBSoft/oracle/oradata/woo/datafile/users.260.1034100753channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:02channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00008to/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/undotbs1.267.1034101665channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:03channelORA_AUX_DISK_1:startingdatafilebackupsetrestorechannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_AUX_DISK_1:restoringdatafile00009to/DBSoft/oracle/oradata/woo/datafile/undotbs2.269.1034101939channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:01Finishedrestoreat20-MAR-20sqlstatement:altersystemarchivelogcurrentcurrentlogarchivedcontentsofMemoryScript:{restorecloneforcefromservice'woo'archivelogfromscn3205006;switchclonedatafileall;}executingMemoryScriptStartingrestoreat20-MAR-20usingchannelORA_AUX_DISK_1channelORA_AUX_DISK_1:startingarchivedlogrestoretodefaultdestinationchannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:restoringarchivedlogarchivedlogthread=1sequence=16channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:01channelORA_AUX_DISK_1:startingarchivedlogrestoretodefaultdestinationchannelORA_AUX_DISK_1:usingnetworkbackupsetfromservicewoochannelORA_AUX_DISK_1:restoringarchivedlogarchivedlogthread=1sequence=17channelORA_AUX_DISK_1:restorecomplete,elapsedtime:00:00:01Finishedrestoreat20-MAR-20datafile1switchedtodatafilecopyinputdatafilecopyRECID=4STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/datafile/system.257.1034100693datafile3switchedtodatafilecopyinputdatafilecopyRECID=5STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/datafile/sysaux.258.1034100727datafile4switchedtodatafilecopyinputdatafilecopyRECID=6STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/datafile/undotbs1.259.1034100753datafile5switchedtodatafilecopyinputdatafilecopyRECID=7STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/system.265.1034101665datafile6switchedtodatafilecopyinputdatafilecopyRECID=8STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/sysaux.266.1034101665datafile7switchedtodatafilecopyinputdatafilecopyRECID=9STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/datafile/users.260.1034100753datafile8switchedtodatafilecopyinputdatafilecopyRECID=10STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/86b637b62fe07a65e053f706e80a27ca/datafile/undotbs1.267.1034101665datafile9switchedtodatafilecopyinputdatafilecopyRECID=11STAMP=1035508216filename=/DBSoft/oracle/oradata/woo/datafile/undotbs2.269.1034101939contentsofMemoryScript:{setuntilscn3205256;recoverstandbyclonedatabasedeletearchivelog;}executingMemoryScriptexecutingcommand:SETuntilclauseStartingrecoverat20-MAR-20usingchannelORA_AUX_DISK_1startingmediarecoveryarchivedlogforthread1withsequence16isalreadyondiskasfile/DBSoft/oracle/fast_recovery_area/woo/WOOSTY/archivelog/2020_03_20/o1_mf_1_16_h779vphh_.arcarchivedlogforthread1withsequence17isalreadyondiskasfile/DBSoft/oracle/fast_recovery_area/woo/WOOSTY/archivelog/2020_03_20/o1_mf_1_17_h779vqp4_.arcarchivedlogfilename=/DBSoft/oracle/fast_recovery_area/woo/WOOSTY/archivelog/2020_03_20/o1_mf_1_16_h779vphh_.arcthread=1sequence=16archivedlogfilename=/DBSoft/oracle/fast_recovery_area/woo/WOOSTY/archivelog/2020_03_20/o1_mf_1_17_h779vqp4_.arcthread=1sequence=17mediarecoverycomplete,elapsedtime:00:00:00Finishedrecoverat20-MAR-20contentsofMemoryScript:{deletecloneforcearchivelogall;}executingMemoryScriptreleasedchannel:ORA_DISK_1releasedchannel:ORA_AUX_DISK_1allocatedchannel:ORA_DISK_1channelORA_DISK_1:SID=407instance=woo1devicetype=DISKdeletedarchivedlogarchivedlogfilename=/DBSoft/oracle/fast_recovery_area/woo/WOOSTY/archivelog/2020_03_20/o1_mf_1_16_h779vphh_.arcRECID=1STAMP=1035508214deletedarchivedlogarchivedlogfilename=/DBSoft/oracle/fast_recovery_area/woo/WOOSTY/archivelog/2020_03_20/o1_mf_1_17_h779vqp4_.arcRECID=2STAMP=1035508215Deleted2objectsFinishedDuplicateDbat20-MAR-20RMAN>2.12. 启动数据库到nomount状态并创建spfile
SQL>createspfilefrompfile;Filecreated.SQL>startupmountforce;ORACLEinstancestarted.TotalSystemGlobalArea306183456bytesFixedSize8895776bytesVariableSize239075328bytesDatabaseBuffers50331648bytesRedoBuffers7880704bytesDatabasemounted.2.13. 启动日志恢复
SQL>recovermanagedstandbydatabaseusingcurrentlogfiledisconnect;Mediarecoverycomplete.
三、 检查
3.1 查看角色
RAC主库端:
SQL>selectname,protection_mode,database_rolerole,switchover_statusfromv$database;NAMEPROTECTION_MODEROLESWITCHOVER_STATUS-----------------------------------------------------------------WOOMAXIMUMPERFORMANCEPRIMARYTOSTANDBY
单机备库端:
SQL>selectname,protection_mode,database_rolerole,switchover_statusfromv$database;NAMEPROTECTION_MODEROLESWITCHOVER_STATUS-----------------------------------------------------------------WOOMAXIMUMPERFORMANCEPHYSICALSTANDBYNOTALLOWEDSQL>selectTHREAD#,SEQUENCE#,ARCHIVED,APPLIED,DELETED,STATUSfromv$archived_log;THREAD#SEQUENCE#ARCAPPLIEDDELS------------------------------------116YESYESYESD117YESYESYESD27YESNONOA120YESNONOA119YESNONOA121YESNONOA122YESNONOA123YESNONOA124YESNONOA125YESNONOA126YESNONOATHREAD#SEQUENCE#ARCAPPLIEDDELS------------------------------------118YESNONOA127YESNONOA128YESNONOA14rowsselected.SQL>SELECTROLE,THREAD#,SEQUENCE#,ACTIONFROMV$DATAGUARD_PROCESS;ROLETHREAD#SEQUENCE#ACTION--------------------------------------------------------logwriter00IDLEredotransportmonitor00IDLEgapmanager00IDLEredotransporttimer00IDLEarchivelocal00IDLEarchiveredo00IDLEarchiveredo00IDLEarchiveredo00IDLERFSasync28IDLERFSasync129IDLERFSping129IDLEROLETHREAD#SEQUENCE#ACTION--------------------------------------------------------RFSping28IDLERFSarchive00IDLERFSarchive00IDLERFSarchive00IDLERFSarchive00IDLE16rowsselected.
到此,关于“Oracle中怎么配置RAC + SingleADG”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。