RAC 10.2.0.1 升级到 10.2.0.5

一、 准备:

Patch 包:p8202632_10205_LINUX.zip

 

节点数:3个节点

      RAC1    RAC2   RAC3

当前节点状态

节点1:

[root@rac1 bin]# ./crs_stat -t

Name          Type           Target    State    Host

------------------------------------------------------------

ora....B1.inst application    ONLINE   ONLINE    rac1

ora....B2.inst application    ONLINE   ONLINE    rac2

ora....B3.inst application    ONLINE   ONLINE    rac3

ora.RACDB.db  application    ONLINE    ONLINE   rac1

ora....SM1.asm application    ONLINE   ONLINE    rac1

ora....C1.lsnr application    ONLINE   ONLINE    rac1

ora.rac1.gsd  application    ONLINE    ONLINE   rac1

ora.rac1.ons  application    ONLINE    ONLINE   rac1

ora.rac1.vip  application    ONLINE    ONLINE   rac1

ora....SM2.asm application    ONLINE   ONLINE    rac2

ora....C2.lsnr application    ONLINE   ONLINE    rac2

ora.rac2.gsd  application    ONLINE    ONLINE   rac2

ora.rac2.ons  application    ONLINE    ONLINE   rac2

ora.rac2.vip  application    ONLINE    ONLINE   rac2

ora....SM3.asm application    ONLINE   ONLINE    rac3

ora....C3.lsnr application    ONLINE   ONLINE    rac3

ora.rac3.gsd  application    ONLINE    ONLINE   rac3

ora.rac3.ons  application    ONLINE    ONLINE   rac3

ora.rac3.vip  application    ONLINE    ONLINE   rac3

查看当前数据库版本号

SYS@RACDB1>select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE   10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

二、 集群软件升级

2.1 上传升级须要的 patch

[root@rac1 soft]# chown oracle:oinstall -R Disk1/

[root@rac1 soft]# ll

drwxr-xr-x 5 oracle oinstall       4096 Jul 23  2010 Disk1

2.2 切换到oracle用户下进行

[root@rac1 Disk1]# su - oracle

[oracle@rac1 ~]$ cd /soft/Disk1/

[oracle@rac1 Disk1]$ ls

install patch_note.htm  response  runInstaller stage

[oracle@rac1 Disk1]$ ll

total 184

drwxr-xr-x  4oracle oinstall   4096 Apr 20  2010 install

-rwxrwxr-x  1oracle oinstall 165290 Jul 23  2010patch_note.htm

drwxr-xr-x  2oracle oinstall   4096 Apr 20  2010 response

-rwxr-xr-x  1oracle oinstall   3927 Apr 20  2010 runInstaller

drwxr-xr-x 11 oracle oinstall   4096 Jul 19 2010 stage

2.3 用srvctl 工具关闭进程和资源

注:依次在每一个节点上运行!!

[oracle@rac1 Disk1]$ srvctl stop nodeapps -n rac1

[oracle@rac2 ]$ srvctl stop nodeapps -n rac2

[oracle@rac3 ]$ srvctl stop nodeapps -n rac3

[oracle@rac1 Disk1]$ crs_stat -t

Name          Type           Target    State    Host

------------------------------------------------------------

ora....B1.inst application    OFFLINE  OFFLINE

ora....B2.inst application    OFFLINE  OFFLINE

ora....B3.inst application    OFFLINE  OFFLINE

ora.RACDB.db  application    OFFLINE   OFFLINE

ora....SM1.asm application    OFFLINE  OFFLINE

ora....C1.lsnr application    OFFLINE  OFFLINE

ora.rac1.gsd  application    OFFLINE   OFFLINE

ora.rac1.ons  application    OFFLINE   OFFLINE

ora.rac1.vip  application    OFFLINE   OFFLINE

ora....SM2.asm application    OFFLINE  OFFLINE

ora....C2.lsnr application    OFFLINE  OFFLINE

ora.rac2.gsd  application    OFFLINE   OFFLINE

ora.rac2.ons  application    OFFLINE   OFFLINE

ora.rac2.vip  application    OFFLINE   OFFLINE

ora....SM3.asm application    OFFLINE  OFFLINE

ora....C3.lsnr application    OFFLINE  OFFLINE

ora.rac3.gsd  application    OFFLINE   OFFLINE

ora.rac3.ons  application    OFFLINE   OFFLINE

ora.rac3.vip  application    OFFLINE   OFFLINE

2.4 開始安装 patch

[root@rac1 Disk1]# xhost +

access control disabled, clients can connect fromany host

[root@rac1 Disk1]# su - oracle

[oracle@rac1 ~]$ cd /soft/Disk1/

[oracle@rac1 Disk1]$ ./runInstaller

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2h1aTU3NjcyNjA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

   选择安装CRS补丁位置,必须和曾经位置一样。!!

 

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2h1aTU3NjcyNjA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

有warning  说 swap空间不足  选中 下一步

整体配置预览   開始安装

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2h1aTU3NjcyNjA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

此处特别注意!!

。看一下是否须要运行脚本

      刚好没截上图  
一定依照顺序运行!

。!

节点1 :

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/bin/crsctl stop crs

Stopping resources.

Successfully stopped CRS resources

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/install/root102.sh

Creating pre-patch directory for saving pre-patchclusterware files

Completed patching clusterware files to/u01/app/oracle/product/10.2.0/db_1

Relinking some shared libraries.

Relinking of patched files is complete.

WARNING: directory '/u01/app/oracle/product/10.2.0'is not owned by root

WARNING: directory '/u01/app/oracle/product' is notowned by root

WARNING: directory '/u01/app/oracle' is not ownedby root

WARNING: directory '/u01/app' is not owned by root

WARNING: directory '/u01' is not owned by root

Preparing to recopy patched init and RC scripts.

Recopying init and RC scripts.

Startup will be queued to init within 30 seconds.

Starting up the CRS daemons.

Waiting for the patched CRS daemons to start.

This maytake a while on some systems.

.

10205 patch successfully applied.

clscfg: EXISTING configuration version 3 detected.

clscfg: version 3 is 10G Release 2.

Successfully deleted 1 values from OCR.

Successfully deleted 1 keys from OCR.

Successfully accumulated necessary OCR keys.

Using ports: CSS=49895 CRS=49896 EVMC=49898 andEVMR=49897.

node <nodenumber>: <nodename><private interconnect name> <hostname>

node 1: rac1 rac1-priv rac1

Creating OCR keys for user 'root', privgrp 'root'..

Operation successful.

clscfg -upgrade completed successfully

Creating'/u01/app/oracle/product/10.2.0/db_1/install/paramfile.crs' with data used forCRS configuration

Setting CRS configuration values in/u01/app/oracle/product/10.2.0/db_1/install/paramfile.crs

节点2 :

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/bin/crsctl stop crs

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/install/root102.sh

节点3:

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/bin/crsctl stop crs

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/install/root102.sh

2.5 查看状态

[oracle@rac1 Disk1]$ crs_stat -t

Name          Type           Target    State    Host

------------------------------------------------------------

ora....B1.inst application    ONLINE   ONLINE    rac1

ora....B2.inst application    ONLINE   ONLINE    rac2

ora....B3.inst application    ONLINE   ONLINE    rac3

ora.RACDB.db  application    ONLINE    ONLINE   rac1

ora....SM1.asm application    ONLINE   ONLINE    rac1

ora....C1.lsnr application    ONLINE   ONLINE    rac1

ora.rac1.gsd  application    ONLINE    ONLINE   rac1

ora.rac1.ons  application    ONLINE    ONLINE   rac1

ora.rac1.vip  application    ONLINE    ONLINE   rac1

ora....SM2.asm application    ONLINE   ONLINE    rac2

ora....C2.lsnr application    ONLINE   ONLINE    rac2

ora.rac2.gsd  application    ONLINE    ONLINE   rac2

ora.rac2.ons  application    ONLINE    ONLINE   rac2

ora.rac2.vip  application    ONLINE    ONLINE   rac2

ora....SM3.asm application    ONLINE   ONLINE    rac3

ora....C3.lsnr application    ONLINE   ONLINE    rac3

ora.rac3.gsd  application    ONLINE    ONLINE   rac3

ora.rac3.ons  application    ONLINE    ONLINE   rac3

ora.rac3.vip  application    ONLINE    ONLINE   rac3

三、 数据库软件升级

最好在建库之前进行数据库的升级,我这里是建库之后进行的

3.1 停止 em  和 isqlplus

[oracle@rac1 Disk1]$ export ORACLE_SID=RACDB1

[oracle@rac1 Disk1]$ emctl stop dbconsole

TZ set to PRC

Oracle Enterprise Manager 10g Database ControlRelease 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

http://rac1:1158/em/console/aboutApplication

Stopping Oracle Enterprise Manager 10g DatabaseControl ...

...  Stopped.

[oracle@rac1 Disk1]$ isqlplusctl stop

iSQL*Plus 10.2.0.1.0

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

iSQL*Plus instance on port 5560 is not running ...

3.2 关闭服务和实例

   各个节点都运行!

!!

[oracle@rac1 ~]$ srvctl stop nodeapps -n rac1

[oracle@rac2 ~]$ srvctl stop nodeapps -n rac2

[oracle@rac3~ ]$ srvctl stop nodeapps -n rac3

[oracle@rac1 Disk1]$ crs_stat -t

Name          Type           Target    State    Host

------------------------------------------------------------

ora....B1.inst application    OFFLINE  OFFLINE

ora....B2.inst application    OFFLINE  OFFLINE

ora....B3.inst application    OFFLINE  OFFLINE

ora.RACDB.db  application    OFFLINE   OFFLINE

ora....SM1.asm application    OFFLINE  OFFLINE

ora....C1.lsnr application    OFFLINE  OFFLINE

ora.rac1.gsd  application    OFFLINE   OFFLINE

ora.rac1.ons  application    OFFLINE   OFFLINE

ora.rac1.vip  application    OFFLINE   OFFLINE

ora....SM2.asm application    OFFLINE  OFFLINE

ora....C2.lsnr application    OFFLINE  OFFLINE

ora.rac2.gsd  application    OFFLINE   OFFLINE

ora.rac2.ons  application    OFFLINE   OFFLINE

ora.rac2.vip  application    OFFLINE   OFFLINE

ora....SM3.asm application    OFFLINE  OFFLINE

ora....C3.lsnr application    OFFLINE  OFFLINE

ora.rac3.gsd  application    OFFLINE   OFFLINE

ora.rac3.ons  application    OFFLINE   OFFLINE

ora.rac3.vip  application    OFFLINE   OFFLINE

注:假设虚拟机老重新启动的话  直接两个节点 crs 都关了

./crsctl stop crs

选择数据库安装的文件夹:

Not execute 和 warning的都勾选了  下一步

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2h1aTU3NjcyNjA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

開始安装

按顺序运行脚本

   运行完以下的脚本再点击OK

最好别用ssh
怕某些权限情况!

节点1 :

[root@rac1 bin]# /u01/app/oracle/product/10.2.0/db_2/root.sh

Running Oracle 10g root.sh script...

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_2

Enter the full pathname of the local bin directory:[/usr/local/bin]:

The file "dbhome" already exists in/usr/local/bin.  Overwrite it?

(y/n)

[n]:

The file "oraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "coraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

Entries will be added to the /etc/oratab file asneeded by

Database Configuration Assistant when a database iscreated

Finished running generic part of root.sh script.

Now product-specific root actions will beperformed.

节点2:

[root@rac2 cssd]#/u01/app/oracle/product/10.2.0/db_2/root.sh

Running Oracle 10g root.sh script...

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_2

Enter the full pathname of the local bin directory:[/usr/local/bin]:

The file "dbhome" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "oraenv" already exists in/usr/local/bin.  Overwrite it?

(y/n)

[n]:

The file "coraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

Entries will be added to the /etc/oratab file asneeded by

Database Configuration Assistant when a database iscreated

Finished running generic part of root.sh script.

Now product-specific root actions will beperformed.

节点3

[root@rac3 cssd]#/u01/app/oracle/product/10.2.0/db_2/root.sh

Running Oracle 10g root.sh script...

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_2

Enter the full pathname of the local bin directory:[/usr/local/bin]:

The file "dbhome" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "oraenv" already exists in/usr/local/bin.  Overwrite it?

(y/n)

[n]:

The file "coraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

Entries will be added to the /etc/oratab file asneeded by

Database Configuration Assistant when a database iscreated

Finished running generic part of root.sh script.

Now product-specific root actions will beperformed.

四、 数据库升级

4.1 当前crs的状态      --看着就感觉非常和谐。!

[root@rac1 bin]# ./crs_stat -t

Name          Type           Target    State    Host

------------------------------------------------------------

ora....B1.inst application    ONLINE   OFFLINE

ora....B2.inst application    ONLINE   OFFLINE

ora....B3.inst application    ONLINE   OFFLINE

ora.RACDB.db  application    ONLINE    OFFLINE

ora....SM1.asm application    ONLINE   ONLINE    rac1

ora....C1.lsnr application    ONLINE   ONLINE    rac1

ora.rac1.gsd  application    ONLINE    ONLINE   rac1

ora.rac1.ons  application    ONLINE    ONLINE   rac1

ora.rac1.vip  application    ONLINE    ONLINE   rac1

ora....SM2.asm application    ONLINE   ONLINE    rac2

ora....C2.lsnr application    ONLINE   ONLINE    rac2

ora.rac2.gsd  application    ONLINE    ONLINE   rac2

ora.rac2.ons  application    ONLINE    ONLINE   rac2

ora.rac2.vip  application    ONLINE    ONLINE   rac2

ora....SM3.asm application    ONLINE   ONLINE    rac3

ora....C3.lsnr application    ONLINE   ONLINE    rac3

ora.rac3.gsd  application    ONLINE    ONLINE   rac3

ora.rac3.ons  application    ONLINE    ONLINE   rac3

ora.rac3.vip  application    ONLINE    ONLINE   rac3

升级数据库比較简单,dbua的方式更简单,这里介绍手动升级方式

4.2 在当中随意一个节点运行:

本次在rac1上运行

[oracle@rac1 ~]$ export ORACLE_SID=RACDB1

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on ThuAug 28 13:37:32 2014

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup nomount;

ORACLE instance started.

Total System Global Area  285212672 bytes

Fixed Size                  1273276 bytes

Variable Size             109052484 bytes

Database Buffers          171966464 bytes

Redo Buffers                2920448 bytes

SQL> alter system set sga_max_size=400Mscope=spfile;

System altered.

SQL> alter system set sga_target=400Mscope=spfile;

System altered.

SQL> show parameter shared

NAME                                 TYPE        VALUE

------------------------------------ -----------------------------------------

hi_shared_memory_address             integer     0

max_shared_servers                   integer

shared_memory_address                integer     0

shared_pool_reserved_size            big integer 5033164

shared_pool_size                     big integer 0

shared_server_sessions               integer

shared_servers                       integer     1

SQL> alter system set shared_pool_size='150M'scope=spfile;

System altered.

SQL> alter system set java_pool_size='150M'scope=spfile;

System altered.

SQL> show parameter cluster

NAME                                 TYPE        VALUE

------------------------------------ -----------------------------------------

cluster_database                     boolean     TRUE

cluster_database_instances           integer     2

cluster_interconnects                string

SQL> alter system set cluster_database=falsescope=spfile;

System altered.

注:保证shared_pool_size
和 java_pool_size 不小于150m。由于数据文件是共享的,所以升级的时候仅仅须要在一个节点升级即可,所以要把CLUSTER_DATABASE设置成FALSE

4.3 运行更新脚本

SQL> shutdown immediate

SQL> startup upgrade

SQL> spool /tmp/patch.log

SQL> @?

/rdbms/admin/catupgrd.sql

SQL> spool off

检查日志中有没有错误,假设没有则启动数据库:  --文件数量非常多

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area  419430400 bytes

Fixed Size                  1274068 bytes

Variable Size             331353900 bytes

Database Buffers           83886080 bytes

Redo Buffers                2916352 bytes

Database mounted.

Database opened.

4.4 编译无效对象

SQL> @?

/rdbms/admin/utlrp.sql

4.5 改參数

SQL> show parameter cluster

NAME                                 TYPE        VALUE

------------------------------------ -----------------------------------------

cluster_database                     boolean     FALSE

cluster_database_instances           integer     1

cluster_interconnects                string

SQL> alter system set cluster_database=truescope=spfile;

System altered.

4.6 重新启动数据库,升级完毕

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area  419430400 bytes

Fixed Size                  1274068 bytes

Variable Size             331353900 bytes

Database Buffers           83886080 bytes

Redo Buffers                2916352 bytes

Database mounted.

Database opened.

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release10.2.0.5.0 - Prod

PL/SQL Release 10.2.0.5.0 - Production

CORE    10.2.0.5.0     Production

TNS for Linux: Version 10.2.0.5.0 - Production

NLSRTL Version 10.2.0.5.0 - Production

rac 10g 10.2.0.1升级到10.2.0.5具体解释的更多相关文章

  1. Oracle数据库版本10.2.0.1升级到10.2.0.3(转)

    Oracle数据库版本10.2.0.1升级到10.2.0.3 1.停止OEM/isqlplus/监听/DB实例 $ emctl stop dbconsole $ isqlplusctl stop $ ...

  2. Oracle11.2.0.1升级到11.2.0.3

    Oracle数据库升级也并非简单的事,这篇博客,博主对Oracle那点事做了较详细的介绍: http://blog.itpub.net/9599/viewspace-473003/ 我还属于Oracl ...

  3. CENTOS 6.4 安装oracle 10g,手工建库及升级到10.2.0.5

    一. 数据库软件安装 参照官方手册 1.安装rpm包 注这里的yum直接用163的yum yum -y install binutils compat-libstdc++-33 compat-libs ...

  4. Linux下Oracle 10.2.0.1升级到10.2.0.4总结

    最近部署测试环境时,将测试环境ORACLE数据库从10.2.0.1升级到了10.2.0.4,顺便整理记录一下升级过程. 实验环境: 操作系统:Oracle Linux Server release 5 ...

  5. 【Oracle】10.2.0.1升级到10.2.0.5

    升级数据库到10.2.0.5   因是测试环境,不需要备份:如是生产系统,建议进行全备份后再进行升级操作,预防数据丢失造成不必要的影响.   步骤: 上传并解压补丁,安装前准备,安装补丁,预升级检查, ...

  6. oracle--10.2.0.3升级到11.2.0.4

    一,环境 01,待升级的系统 升级仅支持10.2.0.2版本之后的系统,如果不是,请把10G升级至高版本! 本次实验环境10.2.0.3 02,挂载11G系统 03,升级须知 1) 做好备份 二,DB ...

  7. hadoop2.3.0cdh5.0.2 升级到cdh5.7.0

    后儿就放假了,上班这心真心收不住,为了能充实的度过这难熬的两天,我决定搞个大工程.....ps:我为啥这么期待放假呢,在沙发上像死人一样躺一天真的有意义嘛....... 当然版本:hadoop2.3. ...

  8. CDH 版本 6.0.1 升级到 6.2.0 当前最新版本(CentOS 7.x)

    前文「CDH CM版本 6.0.1 升级到 CM 6.2.0 当前最新版本(CentOS 7.x)」 承接上文,当我们完成 CM 6.2.0 的升级之后,我们已经相当于完成了80% minor 的升级 ...

  9. LINUX中ORACLE 11.2.0.1 升级到11.2.0.4

    11.2.0.4补丁号13390677,共7个文件,分别是 其中1&2是db,3是grid,4是client,5是gateways,6是example,7是deinstall 上传安装介质并解 ...

随机推荐

  1. 写在用Mac进行Java开发之前

    在用Mac进行开发之前,建议浏览以下几个概念. 1. 几个基础概念 - 计算机 计算机(computer)俗称电脑,发明者是约翰·冯·诺依曼,计算机是现代一种用于高速计算的电子计算机器,可以进行数值计 ...

  2. 用户说体验 | 关于阿里百川HotFix你需要了解的一些细节

    最近很火的热修复技术,无意中了解到阿里百川也在做,而且Android.iOS两端都支持,所以决定试一试.试用一段时间后,感觉还不错,主要是他们有一个团队在不断维护更新这个产品,可以看到他们的版本更新记 ...

  3. jenkins Error performing command: git ls-remote -h

    Jenkins新建项目中源码管理使用Git时遇到如下问题: Failed to connect to repository : Error performing command: git ls-rem ...

  4. linux c获取本地时间

    在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下: #ifndef _TM_DEFINED struct tm { int tm_sec; /* 秒–取值区间 ...

  5. PHP array_key_exists() 函数(判断某个数组中是否存在指定的 key)

    定义和用法 array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false. 语法 array_key_exists(ke ...

  6. codis+redis 集群搭建管理

    Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使 ...

  7. 反向投影(BackProjection)

    如果一幅图像的区域中显示的是一种结构纹理或者一个独特的物体,那么这个区域的直方图可以看作一个概率函数,他给的是某个像素属于该纹理或物体的概率. 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模 ...

  8. 【LOJ】#2059. 「TJOI / HEOI2016」字符串

    题解 我们冷静一下,先画一棵后缀树 然后发现我们要给c和d这一段区间在[a,b]这一段开头的串里找lcp 而lcp呢,就是c点的祖先的到根的一段,假如这个祖先的子树里有[a,b - dis[u] + ...

  9. spring调用方法(接口和多个实现类的情况)

    以spring框架注入bean说明接口TestService 有2个实现类 TestServiceImp1 @Service("TestService1") ,TestServic ...

  10. Ruby windows7安装配置(最新版本)

    1.下载最新版本的rubyinstaller并安装http://rubyinstaller.org/downloads/ 如下图所示设置路径,我安装时将所有选项都打够了,免除了后面需要什么配置麻烦. ...