源端为备库的场景下Duplicate失败问题

环境:
Oracle 11.2.0.3 + OEL 7.9
A -> B -> C 级联ADG环境:db11g -> db11gadg -> db11gcas

之前测试提到,从一级备库duplicate到二级备库会报错:

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/14/2023 23:54:15
RMAN-05501: aborting duplication of target database
RMAN-05531: a mounted database cannot be duplicated while datafiles are fuzzy

客户确认是从一级备库duplicate到二级备库OK,查询文档:

  • RMAN Duplicate From Active Database Fails when Source Database is Standby and Patch 11715084 Applied (Doc ID 1522062.1)

原来又是一个bug,好在有已发布的补丁修复此问题。
为了避免更多杂七杂八的bug,我决定应用11.2.0.3版本最后的PSU(Patch Set Update);

根据MOS文档:

  • Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc ID 2118136.2)

定位到 11.2.0.3最后一个PSU是:p20996944_112030_Linux-x86-64.zip

这个是包含了GI和DB的补丁,我这里单实例就只需要应用其中DB的,应用每一个补丁的具体步骤都是去参见对应的readme文件:README.html。

  • Patch 20996944 - Oracle Grid Infrastructure Patch Set Update 11.2.0.3.15 (Jul2015) (Includes Database PSU)

这里想多聊下关于readme,但凡是有经验的DBA,都知道打补丁要看对应的readme,而不是直接上去就操作,虽然打补丁流程类似,但也会有个别补丁之间存在差异,按readme指引操作才是最靠谱的。

This document is accurate at the time of release. For any changes and additional information regarding PSU 11.2.0.3.15, see these related documents that are available at My Oracle Support (http://support.oracle.com/):

Document 854428.1 Patch Set Updates for Oracle Products

Document 2006070.1 Oracle Grid Infrastructure Patch Set Update 11.2.0.3.15 Known Issues

This document includes the following sections:

Section 1, "Patch Information"

Section 2, "Patch Installation and Deinstallation"

Section 3, "Known Issues"

Section 4, "References"

Section 5, "Manual Steps for Apply/Rollback Patch"

Section 6, "Bugs Fixed by This Patch"

Section 7, "Documentation Accessibility"

我们需要下载OPatch Utility,通过 6880880 搜索:

  • You must use the OPatch utility version 11.2.0.3.5 or later to apply this patch.

题外话,这里的utility啥意思?
我们知道utility software通常是指最基础的系统工具软件,而Opatch 这种软件用于打各种版本的PSU补丁,所以称之为Opatch utility就容易理解了。
另外值得一提的是,像SUV这种耳熟能详的汽车车型,其中的U也是Utility这个词哦(Sport Utility Vehicle),这样是不是一下子就记住了呢~

  • The OPatch utility will prompt for your OCM (Oracle Configuration Manager) response file when it is run.
    OCM response file is required and is not optional.

这个ocm响应文件在这个版本下是必须的,在新版本就不需要,这些注意事项实际上都需要readme来确认。

在readme中针对比如手工应用等章节是指向到具体的MOS文档进一步说明:

  • Readme - Patch Installation and Deinstallation For 11.2.0.3.x GI PSU (Doc ID 1494646.1)

说这些只是为了让大家在应用补丁时仔细去看对应的readme说明,目前我这实验环境是单实例,手工应用补丁即可,使用最简单的opatch apply。

嗯,在应用之前,再去duplicate尝试下,确定目前是有问题的。
将级联备库db11gcas对应的实例启动到nomount状态;然后执行脚本报错:

sh dup_dg.sh 
...
RMAN-05531: a mounted database cannot be duplicated while datafiles are fuzzy

在db11gadg备库先应用PSU补丁,更新OPatch Utility版本然后应用补丁:

[oracle@db11gadg media]$ $ORACLE_HOME/OPatch/opatch version
Invoking OPatch 11.2.0.1.7

OPatch Version: 11.2.0.1.7

OPatch succeeded.

需要更新OPatch Utility,下载最新的11.2.0.3.41 尝试?
记得太新的其实未必兼容,另外目前连接实验环境没有多少流量可用传输。
所以从实验环境的本地网盘上搜到,p6880880_112000_Linux-x86-64_11.2.0.3.12.zip。
也符合要求。

安装此版本更新后再次查询符合要求:

[oracle@db11gadg dbhome_1]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@db11gadg dbhome_1]$ unzip /u01/media/p6880880_112000_Linux-x86-64_11.2.0.3.12.zip
[oracle@db11gadg dbhome_1]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 11.2.0.3.12

OPatch succeeded.

解压补丁,应用DB补丁:
建立一个空文件夹,解压:

[oracle@db11gadg media]$ mkdir tmp
[oracle@db11gadg media]$ unzip p20996944_112030_Linux-x86-64.zip -d ./tmp/

[oracle@db11gadg tmp]$ pwd
/u01/media/tmp
[oracle@db11gadg tmp]$ ls -lrth
total 220K
-rw-r--r--  1 oracle oinstall   21 Jan  9  2014 README.txt
-rw-r--r--  1 oracle oinstall    0 Jan  9  2014 atp_lfp
drwxr-xr-x  5 oracle oinstall   44 Jan  9  2014 17592127
drwxrwxr-x 17 oracle oinstall 4.0K Jun  9  2015 20760997
-rw-r--r--  1 oracle oinstall  450 Jun  9  2015 bundle.xml
-rw-rw-r--  1 oracle oinstall  63K Jul 14  2015 README.html
-rw-rw-r--  1 oracle oinstall 143K Jul 14  2015 PatchSearch.xml

关闭数据库,监听,应用补丁;

SQL> shutdown immediate
[oracle@db11gadg 20760997]$ lsnrctl stop

[oracle@db11gadg 20760997]$ $ORACLE_HOME/OPatch/opatch apply

Email address/User Name: <--- 直接回车!
You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y <--- Y表示 希望不了解安全问题,不然就一直让你输入邮箱..

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/11.2.0/dbhome_1')


Is the local system ready for patching? [y|n]
y  <--- y表示本地环境已经准备好应用补丁了!

...
Composite patch 20760997 successfully applied.
OPatch Session completed with warnings.
Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2023-05-22_15-17-55PM_1.log

OPatch completed with warnings.

应用完补丁查询:

[oracle@db11gadg 20760997]$ $ORACLE_HOME/OPatch/opatch lsinventory
...
OPatch succeeded.

启动监听和数据库:

$ lsnrctl start
SQL> startup

然后级联备库再次发起duplicate操作,不再报错了哈~

为了统一,接下来计划在主库、级联备库都应用11.2.0.3的PSU补丁。
这里先应用一个备库,就是为了验证这个问题是否能修复。

AlfredZhao©版权所有「从Oracle起航,领略精彩的IT技术。」
本文转载于网络 如有侵权请联系删除

相关文章

  • linux安装nodejs

    安装记录 安装nodejs1.访问网站https://nodejs.org/dist/latest-v7.x/下载node-v6.10.2-linux-x64.tar.xz QQ截图20170416090604.png2.解压tar-xJfnode-v6.10.2-linux-x64.tar.xzQQ截图20170416091729.png3.移到通用的软件安装目录/opt/sudomvnode-v6.10.2-linux-x64//opt/4.安装npm和node命令到系统命令sudoln-s/opt/node-v4.4.4-linux-x64/bin/node/usr/local/bin/node sudoln-s/opt/node-v4.4.4-linux-x64/bin/npm/usr/local/bin/npmQQ截图20170416092337.pngQQ截图20170416092242.png

  • .NET 基金会项目介绍-ML.NET

    ML.NET是属于.Net基金会的一个项目,本文将简要介绍该项目相关的信息。中文介绍中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。ML.NETML.NET是一个跨平台的开源机器学习框架,其使得.Net开发人员也能够使用.Net开发机器学习。ML.NET使得.Net开发人员能够开发自己的机器学习模型,并将这些模型应用于他们的应用程序,尽管先前开发者在之前没有机器学习经验以及训练模型的经验。所有这些都可以采用.Net来实现。项目详情官方网站项目源码项目文档:Concepts,APIs许可证类型:MITlicense相关链接参与贡献开发文档参与讨论笔者简评TensorFlow无疑是影响力最大机器学习框架之一。而为了弥补空白,微软开源的ML.NET框架为.Net开发人员也带来了非常方便的机器学习框架。ML.NET目前已经支持有二进制分类、多种类分类、推荐、异常检测、评分和计算机视觉方面的应用。开发者可以通过这里连接这些例子。正如官网给出了例子一样,简单五步就可以让.Net开发者迈入机器学习的大门。不过实际上各位也都知道,微软的框架向来以低入门的易用性著称。真正要体系

  • Spark性能优化指南——基础篇

    原文:https://tech.meituan.com/spark-tuning-basic.htmlSpark性能优化指南——基础篇前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的调优,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作为一种快速大数据计算引擎的优势来。因此,想要用好Spark,就必须对其进行合理的性能优化。Spark的性能调优实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。我们需要根据不同的业务场景以及数据情况,对Spark作业进行综合性的分析,然后进行多个方面的调节和优

  • 从一个穷屌丝到近十亿市值 解析今目标蜕变密码?

    十多年前SaaS厂商一股脑跳海觅食,十多年后死的死残的残,能够上岸的厂商零星点点,阿里,用友等巨头也早早败下阵来,而Xtool,八百客,今目标成为为数不多的幸存者,可是十年过去了,这些厂商目前生存状况又如何? 今天我们来逐一解读下今目标的传奇十年。 为什么我们选中今目标,他是一个时代的代表,当今目标,Xtools,八百客同属一个SaaS领域中存活时间最长的公司,当Xtools和八百客都在赚钱的时候,他在免费,当他们都活得很滋润的时候,今目标却生活在水深火热之中。当Xtools和八百客遇到发展瓶颈的时候,今目标却备受资本市场的青睐,A轮1000万美元的融资,让业内人士大呼劫后余生的SaaS再现王者归来。 群里也有很多人问T哥,为什么资本市场仅相中今目标,而其余几家却不受待见原因何在呢? 百万企业栖息未来空间无限想象 一百多万企业在一个平台栖息工作,也是资本市场不得不投的原因,为了让T哥相信今目标是否真有百万企业,今目标副总裁崔健特意打开今目标的后台显然在册企业129万,对于数据增长情况今目标也给出了自已的解释,用户数据爆炸式增长有两个结点,一个是2010年今目标宣布免费的时候开始,

  • 学习笔记:delphi之TStringGrid

    1、说明最近加入了一个项目组,使用的开发工具是delphi6,想想又要开始搞这个工具有点小忧伤,但没办法谁让咱就是个打杂的尼。。。的需求是显示一个类似于Word/excel的那种表格,可以合并列等。。本来想用DBGridEh去解决,只是试了半天发现不能合并列,我了个去。。然后想到了网页来处理,但是尝试了一下马上就放弃,最后各种搜索后没得办法哦。。想了想就用TStringGrid来试试,毕竟也是个表格,可定制性也大的多,好吧。就用它试试。2、技术点最核心的功能还是由TStringGrid提供,一方面它已经具备了显示一个二维表格的能力,另一方面提供了灵活的设定来开启各种自定义的功能,比如是否显示网格线,行、列是否可以改变大小等。作了基本的设置,加载上数据就能显示出来。接下来要做的就是让表格内容显示的和我预期的一样。因为表格需要类似于word中那种表格,主要是合并单元格之类的,样式方面可以按要求画就是了。所以主要的技术点:1、自绘方法,直接就用OnDrawCell事件处理2、表头,可以使用FixCol和FixRow的属性3、文本换行3、开发3.1、属性设置DefaultDrawing:设置为

  • selenium WebDriver 八种定位方式源码

    /* *多种元素定位方式 */ packagecom.sfwork; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.chrome.ChromeDriver; publicclassPageObjectModel{ publicstaticvoidmain(String[]args)throwsInterruptedException{ //TODOAuto-generatedmethodstub //设置webdriver路径 System.setProperty("webdriver.chrome.drvier", "C:\\ProgramFiles(x86)\\Google\\Chrome\\Application\\" +"chromedriver.exe"); //创建webdriver对象,控制浏览器 WebDri

  • CTF题记—ctfshow&amp;&amp;BUU

    简单记录 是ctfshow里的web入门的题,记几个知识点。 web19 题目描述:密钥什么的,就不要放在前端了打开题目是登录框,第一想法是去尝试了万能密码。但是没有成功。然后才回过头看题目描述是前端有密钥。所以就看源代码。上面是加密方法,百度发现是前端AES加密。它会将用户输入的密码字符串进行加密。两种可行方法,第一种是解密,先百度,然后这样这样,再那样那样就解出来了。(没有使用这种)。第二种是抓包修改,绕过前端验证。将密钥修改为$p的字符串。发包得到flag web7、8 题目描述:版本控制很重要,但不要部署到生产环境更重要。版本信息部署到生产环境,两道题分别考察git泄露和svn泄露。这是简单的题,不用工具。CTFHUB的技能树也有几个这样的题,是需要用到工具的,用时参考—https://blog.csdn.net/qq_45836474/article/details/107767955#t3 web9 vim编辑器使用的扩展知识。当我们在使用vim编辑的时候,vim会在被编辑文件同一目录下,创建一个名为filename.swp的文件,记录我们的动作。编辑文件时,非正常退

  • 获取各环境下的页面尺寸信息

    js代码 //获取各环境下的页面尺寸信息 functionGetPageSize(){ varscrW,scrH; if(window.innerHeight&&window.scrollMaxY){ //Mozilla scrW=window.innerWidth+window.scrollMaxX; scrH=window.innerHeight+window.scrollMaxY; }elseif(document.body.scrollHeight>document.body.offsetHeight){ //allbutIEMac scrW=document.body.scrollWidth; scrH=document.body.scrollHeight; }elseif(document.body){//IEMac scrW=document.body.offsetWidth; scrH=document.body.offsetHeight; } varwinW,winH; if(window.innerHeight){//allexceptIE

  • 软件的概念和特点?软件复用的含义?构件包括哪些?

    特点:软件是计算机系统中与硬件相互依存的另一部分,与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。 复用性:软件复用(SoftWareReuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。 可以被复用的软件成分一般称作可复用构件

  • PostgreSQL新手入门

    PostgreSQL新手入门 2017-06-08来源:PostgreSQL新手入门 分类:Ruby阅读(82) 评论(0) 自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用。 一、安装 首先,安装PostgreSQL客户端。 sudoapt-getinstallpostgresql-client 然后,安装PostgreSQL服务器。 sudoapt-getinstallpostgresql 正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。 如果还想安装图形管理界面,可以运行下面命令,但是本文不涉及这方面内容。 sudoapt-getinstallpgadmin3 二、添加新用户和新数据库 初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linu

  • class2

    人生穷富的关键1.凡是涉及到跟钱有关的安排,都是理财。2.资产的内涵是现金流。3.根据资产产生现金流的不同,分以下3种资产:(1)生钱资产:能给你持续带来净现金流入的东西。有了生钱资产,你就可以躺着数钱了。这就是所谓的睡后收入。生钱资产养人。(2)耗钱资产:能给你持续带来净现金流出的东西。有了耗钱资产,你躺着的时候还在付钱。这就是所谓的睡后支出。耗钱资产需要被人养,耗钱资产耗人。(3)其他资产:产生的净现金流为0的东西。有了其他资产,你躺着的时候就是在躺着。4.处于穷人状态的人群,怎么做?(1)如果你的收入偏低,没有结余,一是要分清必要开支和不必要开支。(2)第二就是要开源,好好提高工资收入。5.工资收入和非工资收入:工资收入就是自己付出时间、精力、汗水挣来的钱。非工资收入就是你不需要去劳动,也能有收入,比如投资、出版的书税等。6.一般来说10年(或更短或更长)一个经济周期。7.富人的收入主要来自生钱资产,生钱资产产生的现金流入完全能够覆盖各种支出。8.富人的第一个秘密:生钱资产占总资产80%以上。9.富人的第二个秘密:好支出占总支出的80%以上。(好支出是可以带来更多收入的支出,坏支

  • 【python】 编码转换

    #转码 defutf2gbk(string): #returnstring s=string.decode('utf-8','ignore').encode('gb18030','ignore') ifs!=None: returns else: returnstring 复制    转载请注明出处:http://www.cnblogs.com/liyuxia713/

  • canvas绘制以及控制游戏中移动的小人的行为

    <!DOCTYPEhtml> <html> <head> <title></title> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <style> *{ margin:0; padding:0; } .main{ background-image:url(./img/back.jpg); width:100vw; height:100vh; background-size:100%; position:relative; } .group{ position:absolute; right:10px; top:10px; } .groupbutton{padding:6px10px} </style> </head> <body> <divclass="main"> <canvasid="myCanvas"> 您的浏览器不支持canvas。 </ca

  • OAuth 2.0系列(五)--- OAuth 2.0中的许可类型

    前面的四篇文章都是介绍OAuth2.0中最常用、最安全的授权码许可类型,其实相比于OAuth1.0,OAuth2.0最关键的一个变化就是授权许可,即授权流程,且不止授权码一种类型,还有隐式许可类型、客户端凭据许可类型、资源拥有者凭据许可类型(即密码类型)以及断言许可类型,本文将详细介绍除了授权码之外的其他四种许可类型以及应用场景。 一、OAuth2.0中的许可类型 其实只要掌握了授权码许可类型,再学习其他几种许可类型的时候,就会发现它们都是授权码许可类型在不同应用场景下的简化版本! 1.1授权码许可类型 不再赘述,详情见:https://www.cnblogs.com/hellowhy/p/15481745.html 1.2隐式许可类型  如上图所示,隐式许可类型中的客户端和资源拥有者都在同一个服务上,比如完全运行在浏览器中的JavaScript应用就属于这种情况。客户端无法对浏览器隐藏任何秘密,因此当完成身份认证之后,授权服务器直接返回访问令牌,然后由客户端(浏览器)请求受保护的资源! 使用隐式许可类型需要注意: 使用这种许可流程的客户端无法持有客户端密钥。因为都是用

  • Hbase配置项粗解

    继之前写的设计和使用tip,这里补充一下hbase所有的配置项。之前涉及的一个项目在hbase设计上存在缺陷,当进入时已经存在着很多rowkey设计和读写问题,现在重读hbase文档,把所有的配置项整理一遍。 hbase.tmp.dir:本地文件系统的临时目录,默认是${java.io.tmpdir}/hbase-${user.name}; hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbase类似,带全限定名; hbase.cluster.distributed:hbase集群模式运作与否的标志,默认是false,开启需要设置为true,false时启动hbase会在一个jvm中运行hbase和zk; hbase.zookeeper.quorum:重要的也是必须设置的,启动zk的服务器列表,逗号分隔,cluster模式下必须设置,默认是localhost,hbase客户端也需要设置这个值去访问zk; hbase.lo

  • mysql常用配置语句

    在java开发中经常需要配置的mysql语句: spring:datasource:url:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCusername:rootpassword:rootdriver-class-name:com.mysql.cj.jdbc.Driver尤其是url,复制 jdbc:mysql://localhost:3306-----------本地mysql,端口号3306test------------数据库名复制 useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC----设置字符集和时区复制 复制

  • 转 最小生成树(kruskal 算法 和prim算法)

    链接:http://blog.csdn.net/weinierbian/article/details/8059129/ 给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树. 求最小生成树的算法(1) 克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数组中排列次序可以是任意的.该方法对于边相对比较多的不是很实用,浪费时间.(2) 普里姆算法图的存贮结构采用邻接矩阵.此方法是按各个顶点连通的步骤进行,需要用一个顶点集合,开始为空集,以后将以连通的顶点陆续加入到集合中,全部顶点加入集合后就得到所需的最小生成树. 下面来具体讲下:克鲁斯卡尔算法方法:将图中边按其权值由小到大的次序顺序选取,若选边后不形成回路,则保留作为一条边,若形成回路则除去.依次选够(n-1)条边,即得最小生成树.(n为顶点数)第一步:由边集数组选第一条边第二步:选第二条边,即权值为2的边第三步:选第三条边,即权值为3的边第四步:选第四条边,即权值为4的边第五步:选第五条边   普里姆算法方法:从指定顶点开始将它加入集合中,然后将集合内的顶点

  • 作业6随笔

     体会。 知识点: 1函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数。例如:scanf(),printf()为库函数,cylinder(),fact()为自定义函 2.函数的功能: 主函数就像一个控制板,子函数就像控制面板上的按钮 每个子函数可以实现一定的功能 子函数可以减少重复编写程序段的工作量 同一个子函数可以被一个或多个函数多次调用 3.函数使用说明: C程序是由一个或多个函数组成C程序总是从main函数开始执行而不管将其写在前面、中间或最后。在调用完其它函数后返回到main函数。子函数相互独立,可以互相调用,但是子函数不可调用主函数。     实验过程中遇到的问题及解决方法: (1)对于问题想法不够明澈,比如求素数那道题我错误的认为m~n之间所选出来的数要从1开始除一直除到本身,其实只用除到他的根号下就可以了。 实验证明:探讨是个好东西。。。别人脑子里面总是会有自己所需要的。 (2)…….. ……….. 实验心得体会 不会就问。。。。

  • 小旋风蜘蛛池模板做搜狗收录设置sitemap泛域名

    最近很多人拿小旋风蜘蛛池企业模板http://sg1.testhot.top/去养搜狗收录的时候,想设置sitemap地图里面泛域名格式,用自带的中文标签实现不了。只能自己去sitemap.html里面修改,现在提供小旋风蜘蛛池两个sitemap标签。 我们要找到sitemap地图模板~ 在template/sitemap.html,只需要把地址标签{$vo.url}换成泛域名的标签即可。 可以2种变化格式。 第一种是当前域名的泛域名,调用标签为:http://{functionname="get_rand_prefix"/}.{functionname="get_host"/}/ 第二种是随机泛域名,调用标签为:http://{functionname="get_rand_prefix"/}.{getonename="domain"cacheid="rand"/}/     一个自己的Test玩站网

  • selenium-java,selenium安装配置

    准备材料 1.javajdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.开发工具 https://www.eclipse.org/downloads/ 3.seleniumjar包 http://selenium-release.storage.googleapis.com/index.html(内容多,自己找到自己要的版本,附上截图正常需要的东西) 4.浏览器驱动 火狐驱动:https://github.com/mozilla/geckodriver/releases(selenium3以上版本) 谷歌驱动:http://npm.taobao.org/mirrors/chromedriver(没有win64版泪奔) 5.浏览器 6.版本对应要求 参考:http://www.cnblogs.com/yanzhe/p/7839604.html   顺序 1.安装配置Java环境(jdk,不会就百度吧) 2.下载开发工具,写个helloword(不会就百度吧) 3.配置userlib

  • vue动态路由

    定义:我们经常需要把某种模式匹配到的所有路由,全部映射到同个组件,例如,我们一个User组件,对于所有id个不同的用户,都需要这个组件来渲染 //动态路由设置 {path:'/user/:id/:name/:age',component:User}        <router-linkto="/user/1/tom/18">usermenu &nbsp&nbsp&nbsp</router-link>    <router-linkto="/user/2/bob/20">usermenu &nbsp&nbsp&nbsp</router-link>    <router-linkto="/user/3/may/22">usermenu &nbsp&nbsp&nb

相关推荐

推荐阅读