静默安装Oracle12.2数据库
实验环境: 操作系统:Redhat 6.4 64位 数据库:Oracle 12c R2
一、安装前准备 1、 创建用户和组 [root@wjq~]# groupadd -g1000 oinstall //oinstall组:是清单目录组(Oracle Inventory group),用于管理清单目录(Inventory) [root@wjq~]# groupadd -g1001 dba //dba组:用于数据库管理 [root@wjq~]# useradd -u600 -g oinstall -G dba oracle [root@wjq~]# passwdoracle Changingpassword for user oracle. Newpassword: BADPASSWORD: it is based on a dictionary word BADPASSWORD: is too simple Retypenew password: passwd:all authentication tokens updated successfully.
2、 创建目录 [root@wjq~]# mkdir -p/u01/app/oracle/product/12.2.0/dbhome_1 [root@wjq~]# chown -Roracle:oinstall /u01 [root@wjq~]# chmod -R 775/u01/app/oracle
3、 查看物理内存、交换空间和文件系统大小 [root@wjq~]# free -m total used freeshared buffers cached Mem: 3016 358 26570 19 158 -/+buffers/cache: 180 2835 Swap: 3023 0 3023 [root@wjq ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_wjq-lv_root 26G 2.8G22G 12% / tmpfs 1.5G 72K1.5G 1% /dev/shm /dev/sda1 485M 38M423M 9% /boot /dev/mapper/vg_wjq-lv_home 4.0G 137M 3.7G 4% /home /dev/mapper/vg_wjq-lv_u01 66G 180M62G 1% /u01 4、 查看操作系统架构 [root@wjq~]# cat/proc/version Linuxversion 2.6.32-358.el6.x86_64 (mockbuild@x86-022.build.eng.bos.redhat.com) (gccversion 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jan 29 11:47:41 EST2013 [root@wjq ~]# lsb_release -a LSBVersion::base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch DistributorID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 6.4(Santiago) Release: 6.4 Codename: Santiago [root@wjq~]# uname -r 2.6.32-358.el6.x86_64
5、 安装软件包 binutils-2.20.51.0.2-5.11.el6(x86_64)
6、 禁用SELinux和防火墙 [root@wjqsofrware]# vim/etc/selinux/config # Thisfile controls the state of SELinux on the system. #SELINUX= can take one of these three values: # enforcing - SELinux security policy isenforced. # permissive - SELinux prints warningsinstead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled #SELINUXTYPE= can take one of these two values: # targeted - Targeted processes areprotected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
SELinux 的不正确配置会影响网络 (1)enforcing--- SELinux security policy is enforced.代表记录警告且阻止可疑行为
查看当前系统的安全策略 [root@wjq~]# sestatus SELinuxstatus: disabled [root@wjq~]# getenforce Disabled
[root@wjqsofrware]#service iptables stop iptables:Flushing firewall rules:[ OK ] iptables:Setting chains to policy ACCEPT: filter [OK ] iptables:Unloading modules:[ OK ] [root@wjqsofrware]# chkconfigiptables off
7、 解压安装包,设置环境变量 [root@wjqsofrware]#unziplinuxx64_12201_database.zip [oracle@wjq~]$ vim.bash_profile exportORACLE_BASE=/u01/app/oracle exportORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1 exportORACLE_SID=seiang exportORACLE_OWNER=oracle exportORACLE_TERM=vt100 exportPATH=$PATH:$ORACLE_HOME/bin:$HOME/bin exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH exportBASE_PATH=/usr/sbin:$PATH; export BASE_PATH exportPATH=$ORACLE_HOME/bin:$BASE_PATH exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib exportORACLE_HOSTNAME=wjq.comsys.com exportDB_UNIQUE_NAME=prod exportCVUQDISK_GRP=oinstall umask022 [oracle@wjq~]$ source.bash_profile
8、 设置内核参数 [root@wjqsofrware]# vim/etc/sysctl.conf fs.aio-max-nr= 1048576 fs.file-max= 6815744 kernel.shmall= 2097152 kernel.shmmax= 1349242060 kernel.shmmni= 4096 kernel.sem= 250 32000 100 128 net.ipv4.ip_local_port_range= 9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586 [root@wjqsofrware]# sysctl?Ca //让内核参数文件立即生效 shmmax=物理内存*80%*80%,单位是字节
9、 修改资源控制文件 [root@wjqsofrware]# vim/etc/security/limits.conf oraclesoft nproc 2047
资源限制是针对单个进程的限制,不是针对整个系统总的设置 nofile - 打开文件的最大数目,该值不能等于/proc/sys/fs/file-max,如果等于file-max且打开的文件句柄的数量达到file-max,用户将不能登陆操作系统。 二、安装Oracle软件 1、 相应文件模板的存放位置 [root@wjqsofrware]# find/ -name *.rsp /u01/sofrware/database/response/netca.rsp /u01/sofrware/database/response/db_install.rsp /u01/sofrware/database/response/dbca.rsp
2、 浏览响应文件内容,并编辑响应文件 [root@wjqresponse]# ll total64 drwxr-xr-x2 root root 4096 Jul 5 16:32 backup.rsp -rwxrwxr-x1 root root 25502 Jan 5 14:00 dbca.rsp -rw-rw-r--1 root root 22924 Jan 26 21:44 db_install.rsp -rwxrwxr-x1 root root 6209 Jun 20 2016 netca.rsp
浏览响应文件内容 [oracle@wjqdatabase]$ sed-n '/^[^#]/p' response/db_install.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0 oracle.install.option= UNIX_GROUP_NAME= INVENTORY_LOCATION= ORACLE_HOME= ORACLE_BASE= oracle.install.db.InstallEdition= oracle.install.db.OSDBA_GROUP= oracle.install.db.OSOPER_GROUP= oracle.install.db.OSBACKUPDBA_GROUP= oracle.install.db.OSDGDBA_GROUP= oracle.install.db.OSKMDBA_GROUP= oracle.install.db.OSRACDBA_GROUP= oracle.install.db.rac.configurationType= oracle.install.db.CLUSTER_NODES= oracle.install.db.isRACOneInstall=false oracle.install.db.racOneServiceName= oracle.install.db.rac.serverpoolName= oracle.install.db.rac.serverpoolCardinality= oracle.install.db.config.starterdb.type= oracle.install.db.config.starterdb.globalDBName= oracle.install.db.config.starterdb.SID= oracle.install.db.ConfigureAsContainerDB= oracle.install.db.config.PDBName= oracle.install.db.config.starterdb.characterSet= oracle.install.db.config.starterdb.memoryOption= oracle.install.db.config.starterdb.memoryLimit= oracle.install.db.config.starterdb.installExampleSchemas= oracle.install.db.config.starterdb.password.ALL= oracle.install.db.config.starterdb.password.SYS= oracle.install.db.config.starterdb.password.SYSTEM= oracle.install.db.config.starterdb.password.DBSNMP= oracle.install.db.config.starterdb.password.PDBADMIN= oracle.install.db.config.starterdb.managementOption= oracle.install.db.config.starterdb.omsHost= oracle.install.db.config.starterdb.omsPort= oracle.install.db.config.starterdb.emAdminUser= oracle.install.db.config.starterdb.emAdminPassword= oracle.install.db.config.starterdb.enableRecovery= oracle.install.db.config.starterdb.storageType= oracle.install.db.config.starterdb.fileSystemStorage.dataLocation= oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation= oracle.install.db.config.asm.diskGroup= oracle.install.db.config.asm.ASMSNMPPassword= MYORACLESUPPORT_USERNAME= MYORACLESUPPORT_PASSWORD= SECURITY_UPDATES_VIA_MYORACLESUPPORT= DECLINE_SECURITY_UPDATES= PROXY_HOST= PROXY_PORT= PROXY_USER= PROXY_PWD= COLLECTOR_SUPPORTHUB_URL=
编辑Oracle数据库软件响应文件db_install.rsp [root@wjqresponse]# vimdb_install.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=dba oracle.install.db.OSBACKUPDBA_GROUP=dba oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true
3、 获取帮助,启动静默安装 在静默安装Oracle软件之前,如果没有配置/etc/hosts文件,将会出现如五(1)的错误。 [oracle@wjqdatabase]$./runInstaller ?Chelp [oracle@wjqdatabase]$./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -responseFile/u01/sofrware/database/response/db_install.rsp StartingOracle Universal Installer... CheckingTemp space: must be greater than 500 MB.Actual 18788 MB Passed Checkingswap space: must be greater than 150 MB.Actual 3023 MB Passed Preparingto launch Oracle Universal Installer from /tmp/OraInstall2017-07-06_02-07-35PM.Please wait ...[oracle@wjq database]$ You can find the log of this installsession at: /u01/app/oraInventory/logs/installActions2017-07-06_02-07-35PM.log The installation of Oracle Database 12cwas successful. Pleasecheck '/u01/app/oraInventory/logs/silentInstall2017-07-06_02-07-35PM.log' formore details. As a root user,execute the followingscript(s): 1. /u01/app/oraInventory/orainstRoot.sh 2. /u01/app/oracle/product/12.2.0/dbhome_1/root.sh Successfully Setup Software. -silent 表示静默安装
4、 监控安装过程所产生的日志 [root@wjqresponse]# tail-f /u01/app/oraInventory/logs/installActions2017-07-06_02-07-35PM.log INFO:Using paramFile: /u01/sofrware/database/install/oraparam.ini INFO: INFO: CheckingTemp space: must be greater than 500 MB.Actual 18788 MB Passed INFO:Checking swap space: must be greater than 150 MB. Actual 3023 MB Passed INFO:The commandline for unzip: INFO:/u01/sofrware/database/install/unzip -qqqo ../stage/Components/oracle.jdk/1.8.0.91.0/1/DataFiles/*.jar-d /tmp/OraInstall2017-07-06_02-07-35PM INFO:Using the umask value '022' available from oraparam.ini INFO:INFO: Oracle Universal Installer Version 12.2.0.1.4 INFO:Execvp of the child jre : the cmdline is/tmp/OraInstall2017-07-06_02-07-35PM/jdk/jre/bin/java,and the arg v is INFO:/tmp/OraInstall2017-07-06_02-07-35PM/jdk/jre/bin/java INFO:-Doracle.installer.library_loc=/tmp/OraInstall2017-07-06_02-07-35PM/oui/lib/linux64 INFO:-Doracle.installer.oui_loc=/tmp/OraInstall2017-07-06_02-07-35PM/oui INFO:-Doracle.installer.bootstrap=TRUE INFO:-Doracle.installer.startup_location=/u01/sofrware/database/install INFO:-Doracle.installer.jre_loc=/tmp/OraInstall2017-07-06_02-07-35PM/jdk/jre INFO:-Doracle.installer.nlsEnabled="TRUE" INFO:-Doracle.installer.prereqConfigLoc= INFO:-Doracle.installer.unixVersion=2.6.32-358.el6.x86_64 ……… INFO:Completed executing action at state <finish> INFO:Waiting for completion of background operations INFO:Completed background operations INFO:Moved to state <finish> INFO:Validating state <finish> WARNING:Validation disabled for the state finish INFO:Completed validating state <finish> INFO:Terminating all background operations INFO:Terminated all background operations INFO:Successfully executed the flow in SILENT mode INFO:Dispose the current Session instance INFO:Dispose the install area control object INFO:Update the state machine to STATE_CLEAN INFO:Finding the most appropriate exit status for the current application INFO:Exit Status is 0 INFO:Shutdown Oracle Database 12c Release 2 Installer
5、安装过程,以root用户运行相应的脚本 [root@wjq~]# /u01/app/oraInventory/orainstRoot.sh Changingpermissions of /u01/app/oraInventory. Addingread,write permissions for group. Removingread,write,execute permissions for world. Changinggroupname of /u01/app/oraInventory to oinstall. Theexecution of the script is complete. [root@wjq~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh Check/u01/app/oracle/product/12.2.0/dbhome_1/install/root_wjq.comsys.com_2017-07-06_14-23-00-707842960.logfor the output of root script
三、配置监听器 1、 浏览Oracle监听响应文件netca.rsp [oracle@wjqdatabase]$ sed-n '/^[^#]/p' response/netca.rsp [GENERAL] RESPONSEFILE_VERSION="12.2" CREATE_TYPE="CUSTOM" [oracle.net.ca] INSTALLED_COMPONENTS={"server","net8","javavm"} INSTALL_TYPE=""typical"" LISTENER_NUMBER=1 LISTENER_NAMES={"LISTENER"} LISTENER_PROTOCOLS={"TCP;1521"} LISTENER_START=""LISTENER"" NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"} NSN_NUMBER=1 NSN_NAMES={"EXTPROC_CONNECTION_DATA"} NSN_SERVICE={"PLSExtProc"} NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
2、 编辑监听器配置响应文件netca.rsp [oracle@wjqdatabase]$ vimresponse/netca.rsp NSN_PROTOCOLS={"TCP;HOSTNAME;1521"} 3、静默安装监听器 [oracle@wjqdatabase]$ $ORACLE_HOME/bin/netca-silent -responsefile /u01/sofrware/database/response/netca.rsp Parsingcommand line arguments: Parameter "silent" = true Parameter "responsefile" =/u01/sofrware/database/response/netca.rsp Doneparsing command line arguments. OracleNet Services Configuration: Profileconfiguration complete. OracleNet Listener Startup: Running Listener Control: /u01/app/oracle/product/12.2.0/dbhome_1/bin/lsnrctl start LISTENER ListenerControl complete. Listener started successfully. Listener configuration complete. Oracle Net Services configurationsuccessful. The exit code is 0
4、查看监听状态,并启动监听器 [oracle@wjqdatabase]$ lsnrctlstatus LSNRCTLfor Linux: Version 12.2.0.1.0 - Production on 06-JUL-2017 14:46:27 Copyright(c) 1991,2016,Oracle. All rightsreserved. Connectingto (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=wjq.comsys.com)(PORT=1521))) STATUSof the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version12.2.0.1.0 - Production StartDate 06-JUL-2017 14:43:52 Uptime 0 days 0 hr. 2 min. 34 sec TraceLevel off Security ON: Local OS Authentication SNMP OFF ListenerParameter File/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora ListenerLog File/u01/app/oracle/diag/tnslsnr/wjq/listener/alert/log.xml ListeningEndpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wjq.comsys.com)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Thelistener supports no services Thecommand completed successfully
四、创建数据库 1、 浏览Oracle数据库响应文件dbca.rsp [oracle@wjqdatabase]$ sed-n '/^[^#]/p' response/dbca.rsp responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0 gdbName= sid= databaseConfigType= RACOneNodeServiceName= policyManaged= createServerPool= serverPoolName= cardinality= force= pqPoolName= pqCardinality= createAsContainerDatabase= numberOfPDBs= pdbName= useLocalUndoForPDBs= pdbAdminPassword= nodelist= templateName= sysPassword= systemPassword= oracleHomeUserPassword= emConfiguration= emExpressPort=5500 runCVUChecks= dbsnmpPassword= omsHost= omsPort= emUser= emPassword= dvConfiguration= dvUserName= dvUserPassword= dvAccountManagerName= dvAccountManagerPassword= olsConfiguration= datafileJarLocation= datafileDestination= recoveryAreaDestination= storageType= diskGroupName= asmsnmpPassword= recoveryGroupName= characterSet= nationalCharacterSet= registerWithDirService= dirServiceUserName= dirServicePassword= walletPassword= listeners= variablesFile= variables= initParams= sampleSchema= memoryPercentage= databaseType= automaticMemoryManagement= totalMemory=
2、 编辑响应文件dbca.rsp [oracle@wjqdatabase]$ vim response/dbca.rsp responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0 gdbName=prod.comsys.com sid=seiang templateName=General_Purpose.dbc sysPassword=oracle systemPassword=oracle oracleHomeUserPassword=oracle sampleSchema=true
3、静默创建数据库 [oracle@wjqtemplates]$ $ORACLE_HOME/bin/dbca-silent -createDatabase -responseFile /u01/sofrware/database/response/dbca.rsp [WARNING][DBT-06208] The 'SYS' password entered does not conform to the Oraclerecommended standards. CAUSE: a.Oracle recommends that the password entered should be at least 8 characters inlength,contain at least 1 uppercase character,1 lower case character and 1digit [0-9]. b.Thepassword entered is a keyword that Oracle does not recommend to be used aspassword ACTION: Specify a strong password. Ifrequired refer Oracle documentation for guidelines. [WARNING][DBT-06208] The 'SYSTEM' password entered does not conform to the Oraclerecommended standards. Copyingdatabase files 1%complete 2%complete 18% complete 33%complete Creatingand starting Oracle instance 35%complete 40%complete 44%complete 49%complete 53%complete 54%complete 55%complete 58%complete CompletingDatabase Creation 59%complete 60%complete 61%complete 64%complete 68%complete 69%complete ExecutingPost Configuration Actions 100%complete Look atthe log file "/u01/app/oracle/cfgtoollogs/dbca/prod/prod.log" forfurther details.
3、测试实例是否注册成功和能否登录到数据库 [oracle@wjqdatabase]$lsnrctl status LSNRCTLfor Linux: Version 12.2.0.1.0 - Production on 07-JUL-2017 15:05:17 Uptime 1 days 0 hr. 21 min. 25 sec (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wjq.comsys.com)(PORT=1521))) ServicesSummary... Service"prod.comsys.com" has 1 instance(s). Instance "seiang",status READY,has 1 handler(s) for this service... Service"seiangXDB.comsys.com" has 1 instance(s). [oracle@wjqdatabase]$ sqlplus/ as sysdba SQL*Plus:Release 12.2.0.1.0 Production on Fri Jul 7 15:06:40 2017 Copyright(c) 1982,serif;">Connectedto: OracleDatabase 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> SQL>select status from v$instance; STATUS ------------ OPEN
至此,静态安装Oracle12.2结束,其他复杂参数的配置请参考Oracle官方文档!
五、遇到的错误以及解决方法 1、安装Oracle软件时报错:PRVF-0002 : Could not retrieve local nodename. 查看日志信息 [root@wjq~]# tail -f/tmp/OraInstall2017-07-06_01-49-38PM/installActions2017-07-06_01-49-38PM.log INFO:Setting value for the property:configcmds in the bean:configcmdmappings SEVERE:[FATAL] PRVF-0002: could not retrieve local node name. Referassociated stacktrace#oracle.install.commons.util.exception.AbstractErrorAdvisor:37 INFO:Advice is ABORT SEVERE:Unconditional Exit INFO:Adding ExitStatus FAILURE to the exit status set WARNING:A log of this session is currently saved as:/tmp/OraInstall2017-07-06_01-49-38PM/installActions2017-07-06_01-49-38PM.log.Oracle recommends that if you want to keep this log,you should move it fromthe temporary location. INFO:Exit Status is -1 INFO:Shutdown Oracle Database 12c Release 2 Installer
猜测是找不到主机名的对应ip
解决办法: 修改了下/etc/hosts [root@wjq~]# vim/etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4 ::1 localhost localhost.localdomainlocalhost6 localhost6.localdomain6
2、安装Oracle软件时报错:Invalid My Oracle Supportcredentials. Specify the correct email address and password that you use to login to My Oracle Support.
查看日志信息 [root@wjq ~]# tail -f/tmp/OraInstall2017-07-06_01-57-21PM/installActions2017-07-06_01-57-21PM.log INFO: Waiting for completion of backgroundoperations INFO: Completed background operations INFO: Validating state<getOCMDetails> SEVERE: Invalid My Oracle Support credentials. Specify the correctemail address and password that you use to log in to My Oracle Support. After 2 more incorrect attempts,the product will be registeredanonymously with the specified email address. INFO: Adding ExitStatusVAR_VALIDATION_FAILURE to the exit status set WARNING: A log of this session is currentlysaved as:/tmp/OraInstall2017-07-06_01-57-21PM/installActions2017-07-06_01-57-21PM.log.Oracle recommends that if you want to keep this log,you should move it fromthe temporary location. INFO: Finding the most appropriate exitstatus for the current application INFO: Exit Status is -2 INFO: Shutdown Oracle Database 12c Release2 Installer
原因所在: 相应文件db_install.rsp文件中的参数MYORACLESUPPORT_USERNAME和MYORACLESUPPORT_PASSWORD配置的有问题
解决办法: 这两个参数不进行设置
3、静默创建数据库时报错:[DBT-10503]Invalid template file specified. 出现这个报错信息的原因是:dbcs.rsp响应文件中的参数templateName配置出现错误,下面的这个东西就是咱们在建库的时候选择的模板,general purpose还是Data warehouing还是custom。这个东西在该路径下$ORACLE_HOME/assistants/dbca/templates [oracle@wjq ~]$ cd $ORACLE_HOME/assistants/dbca/templates [oracle@wjq templates]$ ll total 411616 -rw-r----- 1 oracle oinstall 4697 Jan 26 15:38 Data_Warehouse.dbc //数据仓库的模板 -rw-r----- 1 oracle oinstall 4577 Jan 26 15:38 General_Purpose.dbc //标准的模板 -rw-r----- 1 oracle oinstall 10578 Jun 10 2016 New_Database.dbt //自定义的模板 -rw-r----- 1 oracle oinstall 121667584 Jan26 15:30 pdbseed.dfb -rw-r----- 1 oracle oinstall 6685 Jan 26 15:30 pdbseed.xml -rw-r----- 1 oracle oinstall 18726912 Jan 26 15:37 Seed_Database.ctl //这个就是恢复的种子数据库的控制文件 -rw-r----- 1 oracle oinstall 281059328 Jan26 15:37 Seed_Database.dfb //这个就是种子数据库的备份片,加上控制文件就能恢复出一个数据库来
解决方法: 将dbca.rsp响应文件中的参数按照如下的方式进行设置:templateName=General_Purpose.dbc
4、其他错误 特别要注意的是,等号两边不能有空格:
作者:SEian.G(苦练七十二变,笑对八十一难) ◇本文在ITPUB:http://blog.itpub.net/31015730/ 51CTO:http://seiang.blog.51cto.com/上有同步更新 ◇本文itpub地址:http://blog.itpub.net/31015730/viewspace-2137909/ ◇本文51CTO地址:http://seiang.blog.51cto.com/10819863/1946087 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |