DM7如何使用DMASM安装DMRAC
小编给大家分享一下DM7如何使用DMASM安装DMRAC,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
一.环境准备
主机 IP地址(对外服务) IP地址(内部通信) 实例名 操作系统
dmrac1 10.18.13.161 10.10.10.161 rac0 Redhat 6.7
dmrac2 10.18.13.162 10.10.10.162 rac1 Redhat 6.7
共享存储
/dev/sdb /dev/raw/raw1 dcr disk 2G
/dev/sdc /dev/raw/raw2 voting disk 2G
/dev/sdd /dev/raw/raw3 log disk 10G
/dev/sde /dev/raw/raw4 data disk1 10G
/dev/sdf /dev/raw/raw5 data disk2 10G
二、操作系统配置
1、关闭防火墙和SELINUX
[root@cs~]#serviceiptablesstopiptables:SettingchainstopolicyACCEPT:natmanglefilter[OK]iptables:Flushingfirewallrules:[OK]iptables:Unloadingmodules:[OK][root@cs~]#chkconfigiptablesoff[root@cs~]#setenforce0[root@cs~]#sed-is:^SELINUX=.*$:SELINUX=disabled:g/etc/selinux/config[root@cs~]#serviceiptablesstopiptables:SettingchainstopolicyACCEPT:natmanglefilter[OK]iptables:Flushingfirewallrules:[OK]iptables:Unloadingmodules:[OK][root@cs~]#chkconfigiptablesoff[root@cs~]#setenforce0[root@cs~]#sed-is:^SELINUX=.*$:SELINUX=disabled:g/etc/selinux/config
2、修改主机名
[root@cs~]#hostnamedmrac1[root@cs~]#hostnamedmrac2[root@cs~]#sed-is:^HOSTNAME=.*$:HOSTNAME=dmrac1:g/etc/sysconfig/network[root@cs~]#sed-is:^HOSTNAME=.*$:HOSTNAME=dmrac2:g/etc/sysconfig/network
3、修改hosts文件
[root@cs~]#echo">10.18.13.161dmrac1>10.18.13.162dmrac2">>/etc/hosts[root@cs~]#echo">10.18.13.161dmrac1>10.18.13.162dmrac2">>/etc/hosts
三、 安装达梦软件
为了减少对操作系统的影响,用户不应该以root系统用户来安装和运行DM。用户可以在安装之前为DM创建一个专用的系统用户。具体操作详见Oracle Linux 7.1中安装达梦数据库DM7
四、绑定UDEV
[root@dmrac1rules.d]#vi99-dm-devices.rulesACTION=="add",KERNEL=="sdb",RUN+="/bin/raw/dev/raw/raw1%N"ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw/dev/raw/raw2%N"ACTION=="add",KERNEL=="sdd",RUN+="/bin/raw/dev/raw/raw3%N"ACTION=="add",KERNEL=="sde",RUN+="/bin/raw/dev/raw/raw4%N"ACTION=="add",KERNEL=="sdf",RUN+="/bin/raw/dev/raw/raw5%N"ACTION=="add",KERNEL=="raw[1-5]",OWNER="dmdba",GROUP="dinstall",MODE="660"~[root@dmrac1rules.d]#start_udevStartingudev:[OK][root@dmrac1rules.d]#ls-lrt/dev/raw/total0crw-rw----.1rootdisk162,0Apr2414:08rawctlcrw-rw----.1dmdbadinstall162,2Apr2414:08raw2crw-rw----.1dmdbadinstall162,1Apr2414:08raw1crw-rw----.1dmdbadinstall162,4Apr2414:08raw4crw-rw----.1dmdbadinstall162,3Apr2414:08raw3crw-rw----.1dmdbadinstall162,5Apr2414:08raw5[root@dmrac2rules.d]#vi99-dm-devices.rulesACTION=="add",KERNEL=="sdb",RUN+="/bin/raw/dev/raw/raw1%N"ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw/dev/raw/raw2%N"ACTION=="add",KERNEL=="sdd",RUN+="/bin/raw/dev/raw/raw3%N"ACTION=="add",KERNEL=="sde",RUN+="/bin/raw/dev/raw/raw4%N"ACTION=="add",KERNEL=="sdf",RUN+="/bin/raw/dev/raw/raw5%N"ACTION=="add",KERNEL=="raw[1-5]",OWNER="dmdba",GROUP="dinstall",MODE="660"~[root@dmrac2rules.d]#start_udevStartingudev:[OK][root@dmrac2rules.d]#ls-lrt/dev/raw/total0crw-rw----.1rootdisk162,0Apr2414:08rawctlcrw-rw----.1dmdbadinstall162,2Apr2414:08raw2crw-rw----.1dmdbadinstall162,1Apr2414:08raw1crw-rw----.1dmdbadinstall162,4Apr2414:08raw4crw-rw----.1dmdbadinstall162,3Apr2414:08raw3crw-rw----.1dmdbadinstall162,5Apr2414:08raw5
可以通过blockdev --getsize64 /dev/raw/raw1命令查看裸设备大小
[root@dmrac1rules.d]#blockdev--getsize64/dev/raw/raw12147483648[root@dmrac1rules.d]#blockdev--getsize64/dev/raw/raw22147483648[root@dmrac1rules.d]#blockdev--getsize64/dev/raw/raw310737418240[root@dmrac1rules.d]#blockdev--getsize64/dev/raw/raw410737418240[root@dmrac1rules.d]#blockdev--getsize64/dev/raw/raw510737418240[root@dmrac2rules.d]#blockdev--getsize64/dev/raw/raw12147483648[root@dmrac2rules.d]#blockdev--getsize64/dev/raw/raw22147483648[root@dmrac2rules.d]#blockdev--getsize64/dev/raw/raw310737418240[root@dmrac2rules.d]#blockdev--getsize64/dev/raw/raw410737418240[root@dmrac2rules.d]#blockdev--getsize64/dev/raw/raw510737418240
六、配置dmdcr_cfg.ini文件
在2个节点的/dm7/data目录下创建配置文件dmdcr_cfg.ini,在文件中添加如下内容:
[root@dmrac1/]#su-dmdba[dmdba@dmrac1~]$mkdir/dm7/data[dmdba@dmrac1~]$cd/dm7/data[dmdba@dmrac1data]$catdmdcr_cfg.iniDCR_N_GRP=3DCR_VTD_PATH=/dev/raw/raw2DCR_OGUID=63635[GRP]DCR_GRP_TYPE=CSSDCR_GRP_NAME=GRP_CSSDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_CSS]DCR_EP_NAME=CSS0DCR_EP_HOST=10.10.10.161DCR_EP_PORT=9541[GRP_CSS]DCR_EP_NAME=CSS1DCR_EP_HOST=10.10.10.162DCR_EP_PORT=9542[GRP]DCR_GRP_TYPE=ASMDCR_GRP_NAME=GRP_ASMDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_ASM]DCR_EP_NAME=ASM0DCR_EP_SHM_KEY=93360DCR_EP_SHM_SIZE=10DCR_EP_HOST=10.18.13.161DCR_EP_PORT=9641DCR_EP_ASM_LOAD_PATH=/dev/raw[GRP_ASM]DCR_EP_NAME=ASM1DCR_EP_SHM_KEY=93361DCR_EP_SHM_SIZE=10DCR_EP_HOST=10.18.13.162DCR_EP_PORT=9642DCR_EP_ASM_LOAD_PATH=/dev/raw[GRP]DCR_GRP_TYPE=DBDCR_GRP_NAME=GRP_RACDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_RAC]DCR_EP_NAME=RAC0DCR_EP_SEQNO=0DCR_EP_PORT=5236DCR_CHECK_PORT=9741[GRP_RAC]DCR_EP_NAME=RAC1DCR_EP_SEQNO=1DCR_EP_PORT=5236DCR_CHECK_PORT=9742[root@dmrac2/]#su-dmdba[dmdba@dmrac2~]$mkdir/dm7/data[dmdba@dmrac2~]$cd/dm7/data[dmdba@dmrac2data]$catdmdcr_cfg.iniDCR_N_GRP=3DCR_VTD_PATH=/dev/raw/raw2DCR_OGUID=63635[GRP]DCR_GRP_TYPE=CSSDCR_GRP_NAME=GRP_CSSDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_CSS]DCR_EP_NAME=CSS0DCR_EP_HOST=10.10.10.161DCR_EP_PORT=9541[GRP_CSS]DCR_EP_NAME=CSS1DCR_EP_HOST=10.10.10.162DCR_EP_PORT=9542[GRP]DCR_GRP_TYPE=ASMDCR_GRP_NAME=GRP_ASMDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_ASM]DCR_EP_NAME=ASM0DCR_EP_SHM_KEY=93360DCR_EP_SHM_SIZE=10DCR_EP_HOST=10.18.13.161DCR_EP_PORT=9641DCR_EP_ASM_LOAD_PATH=/dev/raw[GRP_ASM]DCR_EP_NAME=ASM1DCR_EP_SHM_KEY=93361DCR_EP_SHM_SIZE=10DCR_EP_HOST=10.18.13.162DCR_EP_PORT=9642DCR_EP_ASM_LOAD_PATH=/dev/raw[GRP]DCR_GRP_TYPE=DBDCR_GRP_NAME=GRP_RACDCR_GRP_N_EP=2DCR_GRP_DSKCHK_CNT=60[GRP_RAC]DCR_EP_NAME=RAC0DCR_EP_SEQNO=0DCR_EP_PORT=5236DCR_CHECK_PORT=9741[GRP_RAC]DCR_EP_NAME=RAC1DCR_EP_SEQNO=1DCR_EP_PORT=5236DCR_CHECK_PORT=9742
七、使用 DMASMCMD 工具初始化(任意一节点执行)
[dmdba@dmrac1data]$dmasmcmdDMASMCMDV7.1.6.46-Build(2018.02.08-89107)ENTASM>createdcrdisk'/dev/raw/raw1''dcr'theASMinitializedcrdisk/dev/raw/raw1tonameDMASMdcrUsedtime:9.322(ms).ASM>createvotedisk'/dev/raw/raw2''vote'theASMinitializevotedisk/dev/raw/raw2tonameDMASMvoteUsedtime:6.251(ms).ASM>createasmdisk'/dev/raw/raw3''LOG0'theASMinitializeasmdisk/dev/raw/raw3tonameDMASMLOG0Usedtime:8.825(ms).ASM>createasmdisk'/dev/raw/raw4''DATA0'theASMinitializeasmdisk/dev/raw/raw4tonameDMASMDATA0Usedtime:6.145(ms).ASM>initdcrdisk'/dev/raw/raw1'from'/dm7/data/dmdcr_cfg.ini'identifiedby'dameng123'[Trace]DG126allocate4extentsforfile0xfe000002.Checkdcrdiskfailed,pleasecheckandtryagainUsedtime:84.489(ms).提示检查dcr磁盘失败请再次执行ASM>initdcrdisk'/dev/raw/raw1'from'/dm7/data/dmdcr_cfg.ini'identifiedby'dameng123'[Trace]DG126allocate4extentsforfile0xfe000002.Usedtime:00:00:06.078.ASM>initvotedisk'/dev/raw/raw2'from'/dm7/data/dmdcr_cfg.ini'[Trace]DG125allocate4extentsforfile0xfd000002.Usedtime:36.305(ms).
八、准备DMASM 的 MAL 配置文件
在2个节点的/dm7/data目录下创建 DMASM 的 MAL 配置文件(命名为 dmasvrmal.ini),使用 DMASM 的所有节点都要配置,内容完全一样。
[dmdba@dmrac1data]$vidmasvrmal.ini[MAL_INST1]MAL_INST_NAME=ASM0MAL_HOST=10.10.10.161MAL_PORT=7236[MAL_INST2]MAL_INST_NAME=ASM1MAL_HOST=10.10.10.162MAL_PORT=7237[dmdba@dmrac2data]$vidmasvrmal.ini[MAL_INST1]MAL_INST_NAME=ASM0MAL_HOST=10.10.10.161MAL_PORT=7236[MAL_INST2]MAL_INST_NAME=ASM1MAL_HOST=10.10.10.162MAL_PORT=7237~
九、准备dmdcr.ini 配置文件
dmdcr.ini 是 dmcss、dmasmsvr、dmasmtool 工具的输入参数。记录了当前节点序列号以及 DCR 磁盘路径。
在2个节点的/dm/dmdbms/data目录下创建dmdcr.ini 配置文件,dmdcr_path 相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqo 分别为 0 和 1。
节点 1:
[dmdba@dmrac1data]$vidmdcr.iniDMDCR_PATH=/dev/raw/raw1DMDCR_MAL_PATH=/dm7/data/dmasvrmal.iniDMDCR_SEQNO=0#ASMDMDCR_ASM_RESTART_INTERVAL=0DMDCR_ASM_STARTUP_CMD=/dm7/bin/dmasmsvrdcr_ini=/dm7/data/dmdcr.ini#DBDMDCR_DB_RESTART_INTERVAL=0DMDCR_DB_STARTUP_CMD=/dm7/bin/dmserverpath=/dm7/data/rac0_config/dm.inidcr_ini=/dm7/data/dmdcr.ini
节点2:
[dmdba@dmrac2data]$vidmdcr.iniDMDCR_PATH=/dev/raw/raw1DMDCR_MAL_PATH=/dm7/data/dmasvrmal.iniDMDCR_SEQNO=1#ASMDMDCR_ASM_RESTART_INTERVAL=0DMDCR_ASM_STARTUP_CMD=/dm7/bin/dmasmsvrdcr_ini=/dm7/data/dmdcr.ini#DBDMDCR_DB_RESTART_INTERVAL=0DMDCR_DB_STARTUP_CMD=/dm7/bin/dmserverpath=/dm7/data/rac1_config/dm.inidcr_ini=/dm7/data/dmdcr.ini
十、启动DMCSS、DMASM 服务程序
1、注册 DMCSS和DMASM服务
节点一:
[root@dmrac1~]#/dm7/script/root/dm_service_installer.sh-tdmcss-i/dm7/data/dmdcr.ini-prac1Movetheservicescriptfile(/dm7/bin/DmCSSServicerac1to/etc/rc.d/init.d/DmCSSServicerac1)Finishedtocreatetheservice(DmCSSServicerac1)[root@dmrac1~]#/dm7/script/root/dm_service_installer.sh-tdmasmsvr-i/dm7/data/dmdcr.ini-prac1Movetheservicescriptfile(/dm7/bin/DmASMSvrServicerac1to/etc/rc.d/init.d/DmASMSvrServicerac1)Finishedtocreatetheservice(DmASMSvrServicerac1)[root@dmrac1~]#
节点二:
[root@dmrac2~]#/dm7/script/root/dm_service_installer.sh-tdmcss-i/dm7/data/dmdcr.ini-prac2Movetheservicescriptfile(/dm7/bin/DmCSSServicerac2to/etc/rc.d/init.d/DmCSSServicerac2)Finishedtocreatetheservice(DmCSSServicerac2)[root@dmrac2~]#/dm7/script/root/dm_service_installer.sh-tdmasmsvr-i/dm7/data/dmdcr.ini-prac2Movetheservicescriptfile(/dm7/bin/DmASMSvrServicerac2to/etc/rc.d/init.d/DmASMSvrServicerac2)Finishedtocreatetheservice(DmASMSvrServicerac2)
2、启动DMCSS和DMASM服务
节点一:
[root@dmrac1init.d]#serviceDmCSSServicerac1startStartingDmCSSServicerac1:[OK][root@dmrac1init.d]#serviceDmASMSvrServicerac1startStartingDmASMSvrServicerac1:[OK]
节点二:
[root@dmrac2init.d]#serviceDmCSSServicerac2startStartingDmCSSServicerac2:[OK][root@dmrac2init.d]#serviceDmASMSvrServicerac2startStartingDmASMSvrServicerac2:[OK]
十一、创建DMASM磁盘组
在任意节点使用 dmasmtool 工具创建 DMASM 磁盘组。
[dmdba@dmrac1~]$dmasmtoolDCR_INI=/dm7/data/dmdcr.iniDMASMTOOLV7.1.6.46-Build(2018.02.08-89107)ENTASM>creatediskgroup'DMLOG'asmdisk'/dev/raw/raw3'Usedtime:00:00:06.363.ASM>creatediskgroup'DMDATA'asmdisk'/dev/raw/raw4'Usedtime:00:00:06.504.
十二、准备dminit.ini 配置文件
在2个节点的/dm/dmdbms/data目录下创建 dminit.ini 配置文件,添加如下内容。 在2个节点都创建。
[dmdba@dmrac1data]$vidminit.inidb_name=racsystem_path=+DMDATA/datasystem=+DMDATA/data/rac/system.dbfsystem_size=128roll=+DMDATA/data/rac/roll.dbfroll_size=128main=+DMDATA/data/rac/main.dbfmain_size=128ctl_path=+DMDATA/data/rac/dm.ctlctl_size=8log_size=256dcr_path=/dev/raw/raw1#dcr磁盘路径,目前不支持asm,只能是裸设备dcr_seqno=0auto_overwrite=1[RAC0]#inst_name跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME对应config_path=/dm7/data/rac0_configport_num=5236mal_host=10.10.10.161mal_port=9340log_path=+DMLOG/log/rac0_log01.loglog_path=+DMLOG/log/rac0_log02.log[RAC1]#inst_name跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME对应config_path=/dm7/data/rac1_configport_num=5236mal_host=10.10.10.162mal_port=9341log_path=+DMLOG/log/rac1_log01.loglog_path=+DMLOG/log/rac1_log02.log[dmdba@dmrac2data]$vidminit.inidb_name=racsystem_path=+DMDATA/datasystem=+DMDATA/data/rac/system.dbfsystem_size=128roll=+DMDATA/data/rac/roll.dbfroll_size=128main=+DMDATA/data/rac/main.dbfmain_size=128ctl_path=+DMDATA/data/rac/dm.ctlctl_size=8log_size=256dcr_path=/dev/raw/raw1#dcr磁盘路径,目前不支持asm,只能是裸设备dcr_seqno=0auto_overwrite=1[RAC0]#inst_name跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME对应config_path=/dm7/data/rac0_configport_num=5236mal_host=10.10.10.161mal_port=9340log_path=+DMLOG/log/rac0_log01.loglog_path=+DMLOG/log/rac0_log02.log[RAC1]#inst_name跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME对应config_path=/dm7/data/rac1_configport_num=5236mal_host=10.10.10.162mal_port=9341log_path=+DMLOG/log/rac1_log01.loglog_path=+DMLOG/log/rac1_log02.log
十三、使用dminit初始化数据库
在任意节点启动 dminit 工具初始化数据库。dminit 执行完成后,会在 config_path 目录(/dm7/data/rac0_config 和/dm7/data/rac1_config)下生成配置文件 dm.ini 和 dmmal.ini。
[dmdba@dmrac1data]$dminitcontrol=/dm7/data/dminit.iniinitdbV7.1.6.46-Build(2018.02.08-89107)ENTdbversion:0x7000afiledm.keynotfound,usedefaultlicense!Licensewillexpireon2020-05-08logfilepath:+DMLOG/log/rac0_log01.loglogfilepath:+DMLOG/log/rac0_log02.loglogfilepath:+DMLOG/log/rac1_log01.loglogfilepath:+DMLOG/log/rac1_log02.logwritetodir[+DMDATA/data/rac].createdmdatabasesuccess.2020-04-2416:39:03
将节点一的配置文件复制到节点二:
[dmdba@dmrac1data]$scp-rrac1_config10.18.13.162:`pwd`Theauthenticityofhost'10.18.13.162(10.18.13.162)'can'tbeestablished.RSAkeyfingerprintis89:fc:3e:e3:2d:27:94:07:0e:6b:fc:c5:e8:89:44:1f.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'10.18.13.162'(RSA)tothelistofknownhosts.dmdba@10.18.13.162'spassword:sqllog.ini100%4790.5KB/s00:00dm.ini100%40KB39.8KB/s00:00dmmal.ini100%2040.2KB/s00:00[dmdba@dmrac1data]$
十四、启动数据库服务器
1、在2个节点分别注册DM 数据库服务:
节点一:
[root@dmrac1init.d]#/dm7/script/root/dm_service_installer.sh-tdmserver-i/dm7/data/rac0_config/dm.ini-d/dm7/data/dmdcr.ini-prac1Movetheservicescriptfile(/dm7/bin/DmServicerac1to/etc/rc.d/init.d/DmServicerac1)Finishedtocreatetheservice(DmServicerac1)
节点二:
[root@dmrac2~]#/dm7/script/root/dm_service_installer.sh-tdmserver-i/dm7/data/rac1_config/dm.ini-d/dm7/data/dmdcr.ini-prac2Movetheservicescriptfile(/dm7/bin/DmServicerac2to/etc/rc.d/init.d/DmServicerac2)Finishedtocreatetheservice(DmServicerac2)
2、启动数据库
[root@dmrac1init.d]#serviceDmServicerac1startStartingDmServicerac1:[OK][root@dmrac2~]#serviceDmServicerac2startStartingDmServicerac2:[OK]
手工启动命令如下,手工启动后窗口不能关闭,所以
./dmserver/dm7/data/rac0_config/dm.inidcr_ini=/dm7/data/dmdcr.ini./dmserver/dm7/data/rac1_config/dm.inidcr_ini=/dm7/data/dmdcr.ini
15 连接数据库验证
15.1 配置服务名文件
[dmdba@dmrac1~]$vi/etc/dm_svc.confTIME_ZONE=(480)rac=(10.18.13.161:5236,10.18.13.162:5236)SWITCH_TIME=(10000)SWITCH_INTERVAL=(10)TIME_ZONE=(480)LANGUAGE=(en)[dmdba@dmrac2~]$vi/etc/dm_svc.confTIME_ZONE=(480)rac=(10.18.13.161:5236,10.18.13.162:5236)SWITCH_TIME=(10000)SWITCH_INTERVAL=(10)TIME_ZONE=(480)LANGUAGE=(en)
15.2 连接RAC集群
节点一:
[dmdba@dmrac1 ~]$ disql SYSDBA/SYSDBA@rac
Server[10.18.13.161:5236]:mode is normal, state is open
login used time: 10.365(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT
Connected to: DM 7.1.6.46
SQL> select instance_name from v$instance;
LINEID INSTANCE_NAME
---------- -------------
1 RAC0
used time: 18.248(ms). Execute id is 807.
SQL> select * from v$rac_ep_info;
LINEID EP_NAME EP_SEQNO EP_GUID EP_TIMESTAMP EP_MODE EP_STATUS
---------- ------- ----------- -------------------- -------------------- ------- ---------
1 RAC0 0 2067076818 2067077298 MASTER OK
2 RAC1 1 2067098084 2067098537 SLAVE OK
used time: 2.741(ms). Execute id is 808.
节点二:
[dmdba@dmrac2~]$disqlSYSDBA/SYSDBA@racServer[10.18.13.162:5236]:modeisnormal,stateisopenloginusedtime:16.835(ms)disqlV7.1.6.46-Build(2018.02.08-89107)ENTConnectedto:DM7.1.6.46SQL>selectinstance_namefromv$instance;LINEIDINSTANCE_NAME-----------------------1RAC1usedtime:106.703(ms).Executeidis1.SQL>select*fromv$rac_ep_info;LINEIDEP_NAMEEP_SEQNOEP_GUIDEP_TIMESTAMPEP_MODEEP_STATUS------------------------------------------------------------------------------------1RAC0020670768182067077305MASTEROK2RAC1120670980842067098544SLAVEOKusedtime:7.358(ms).Executeidis2.
看完了这篇文章,相信你对“DM7如何使用DMASM安装DMRAC”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。