Skip to Content

For those considering to move up the ladders from their current ASE release (whether it is ASE 12.5.x or ASE 15.x) there are, obviously, two possible migration alternatives:  ASE 15.7 & ASE 16.   To make the decision more tricky, SAP has stamped both with the same supportability badge:  both have the same EOL dates somewhere in 2020.  Which should one choose, then, and what are the basic elements of making this decision?

Well, this depends on your upgrade methodology.

Binary overlay and its variants:

This one is the easiest to implement. Unload the binaries into the same base directory (or into a separate one if you choose a clean install – my favorite anyway). Run through pre-upgrade steps.  Run through post-upgrade steps. And voila…. Not really.  There is a fundamental difference for this method depending which target migration version you choose:

  • For ASE 15.x based migrations the selection of the target version controls whether it is minor or major upgrade.  Staying on the 15.x base means there is a possible downgrade path ONLY if you choose to upgrade to 15.7 release.  So, if you are relying on replacing ASE binaries AND you are based on 15.x right now, jumping to ASE 16 crosses the no-return point. There is no downgrade path from ASE 16 to ASE 15 (or earlier).
  • For ASE 12.x based migration the selection of the target version is of less importance from the downgrade perspective.  It is always one way.  There may be more intermediate steps, but the way back is the same.  None?

A thing to keep in mind for ASE 15.x based customers:  SP100 is a breaking point for ASE 15.x SPxxx targets.  There is no direct downgrade path from post SP100 ASEs to pre SP100 ASEs.  So if you do plan to choose ASE 15.7 for your target ASE release your downgrade will have to go through an intermediate stop:  first you will have to downgrade your new ASE to pre-SP100 release (relying on sp_downgrade_esd).  Only then you will be able to roll back all the way to your original release (relying on sp_downgrade).  This is a nuisance, but at least there is a possible downgrade path in case you hit some serious issues post-migrate (it was tested to work, so no need to worry).

Replication server:

This is my true favorite. I remember that ASE 15 migration official documents referred to replication server as one of the best methodologies to move from pre-15 to post-15 releases (if I remember right, there was a “Migration Guide” dedicated to moving away from the safety zone of 12.5.x ASEs).  Contrary to that, the installation guides for the ASE 15.7 or ASE 16 do not mentioning replication server alternative for the upgrade.  This is quite unfortunate, since now DBAs who are aware of the possibility to use replication server have to go extra steps to persuade the decision making board as to why this method is the best.  It is not hard to do it (the ASE of origin left intact, downtime is measured in seconds, rollback procedure is clean, rollback is measured in seconds, &c), but had the documentation officially stated this it might have helped DBAs to drive the point.  Actually, since ASE moves to the direction of a full-fledged Replication Server bundled into ASE package (ASE 16 SP02 will have HADR functionality packaged as a part of ASE installation – for those purchasing HADR license) I’d suggest SAP decision making board to put it back into documentation AND wrap some basic RS functionality into base ASE 16 package restricted to be used for the migration purposes only.  This might have made the migration more “trivial” as well as generated taste for the product for those unfamiliar with it.  Just a thought…

For those employing Rep Server as a part of ASE migration, selecting ASE 15.7 over ASE 16 does not have true advantage points.  The service packs for each are issued more or less at the same rate.  Conservatives might say that ASE 15.7 is more Sybase-flavored while ASE 16 is 100% SAPiant.  But ASE is already 100% SAPiant.  SAP decides where the product will go and it does it not bad at all…

For the conservatives I’d suggest to consider this in their decision making:

AES 16 has over a 1000 bug fixes atop ASE 15.7

Consider the statistics below – based on the release notes for the ASE 16 service patches (Solaris based, Windows have similar number, Linux – may have even more as there are exclusive Linux features in some of future ASE releases).

Release

Date

Bug fixes

EBF 22626: 16.0 SP0 PL1

24.04.2014

290

EBF 22668: 16.0 SP0 PL2

01.07.2014

20

EBF 23020: 16.0 SP0 PL3

04.09.2014

71

EBF 23371: 16.0 SP0 PL5

15.12.2014

94

EBF 23902: 16.0 SP01

17.03.2015

434

EBF 24357: 16.0 SP01 PL01

22.04.2015

52

EBF 24486: 16.0 SP01 PL02

30.06.2015

114

1075

ASE 16 is packed with more goodies than ASE 15.7

Post SP 100 ASE 15.7 itself is something to strive to (reorg defrag, create index … online, optimize temp table resolution to avoid SP recompiles, more metrics in monState for those messing with general ASE profiling).  ASE 16 adds even more functionality.  Some of it listed below:

1.  Dynamic Histograms:  useful for tables where out-of-range values are added frequently to the table to avoid costly table scans for new max column values.

2.  Mounting/Unmounting Encrypted Databases:  not possible before ASE 16.

3.  Compressed Indices:  use simple alter database commands to enable/disable index compression (table, index, partition, DOL & APL).

4.  Support for select into #table in multi-statement transaction:  for those who use it – yes, we can.

5.  Partition Locking:  better concurrency mechanisms with partition-level locking.

6.  Wider Query Limit: for subqueries and wild joins, in case it is really necessary.

7.  Create or Replace Semantics:  yes, now in ASE too it is possible to preserve object IDs.

8.  Improved Query Performance:  various improvements in parallelism and access to compressed values.

9.  Full DB Encryption:  a new functionality to complement already available column encryption.

10.Residual Data Removal:  for those sensitive to what may be sniffed out with low level post-DML dbcc commands.

11.Config History:  ability to record config changes in sybsecurity.

12.Wrapping various ELC TFs as config parameter:  Yep, those neat 75x TFs are now configurable.  So is ELC size.

13.ULC Queue:  new way to improve contention on log device – for the nasty “unpin” type contention which was plaguing ULC hit ratio.

14.Select-level with recompile:  ability to recompile only a single SQL statement in SP to assist optimizer.

ASE 16 SP02 will add more features to the list – some pretty heavy weight (like out-of-the box HADR solution, more cache types to keep physical IO as low as possible, dynamic partition management a-la EMC FAST, new ASE management tools – including the precious workload replay capabilities which once DBA might only dream to have – & more).  But that is (close) future.

So which release do you choose?

To put it simple:

If you can go ASE 16, do it.  It has more to offer than ASE 15.7.  If your roll-back procedure is based on Replication Server and thus your migration is instantaneous stopping half-way is not too wise.  If you are note pushed by hard schedules and do not have to commit to the migration project right now you might want to wait for the next ASE 16 release – SP02. It will have an impressive set of functionality to offer.  If the same quarterly release rate continues by SAP,ASE 16 SP02 PL01 will be available in about half a year time.  Not very far ahead. 

If you rely on an ASE binaries based rollback – you don’t really have a choice.  ASE 15.7 is your target selection.

Keep in mind, though:  although it may seem that the decision making matrix hinges on the question “do I cross the no-return point?” in fact it does not.  The no-return point will be crossed sooner or later.  Should it be crossed now?  Depends on your readiness and your risk mitigation techniques.

ATM.

To report this post you need to login first.

25 Comments

You must be Logged on to comment or reply to a post.

  1. Mark A Parsons

    re: AES 16 has over a 1000 bug fixes atop ASE 15.7

    Is that 1000 bugs leftover from 15.7, or a handful of bugs leftover from 15.7 and a large number of bugs introduced in 16 (due to the new binary and/or new features)?

    If I’ve got a relatively tight window in which to perform an upgrade (to include the time it takes to perform regression testing of the application code base; to include the time it takes to move from DEV to TESTING to QA to PROD) then I’m also going to be looking at the relative stability of the ASE software (eg, is 15.7 more stable than 16 at this point in time?).

    By itself ‘1000 bug fixes’ sounds like a stability issue to me.

    (0) 
    1. Andrew Melkonyan Post author

      To answer your 1000 bug fixes question – I believe it is a mixture of both.  It is definitely true that introducing a new feature sneaks in some hidden pests.  It has been true for any release of ASE.  How many years it took to make statement cache into a usable feature?  There are some new features introduced in 15.7 and removed later in the same release.  Nothing is bug-free.

      At the same time I would not attribute the number of bug fixes to the instability of the release.  ASE 16 SP01 has very little of new features on the list and yet has a whooping 400+ bug fix list.  If anything, I’d feel that there has been a serious code cleanup done which makes next releases more stable.  15.7 may turn out to be not-so-stable too – depending on how well you plan and test your migration project.  I’m sure you know it based on personal experience as well.

      By the way of comparison and in order to complement the bug fixes statistics above here is the bug fixes statistics for 15.7 (Solaris).

      Ebf

      Date

      Bug Fixes

      EBF 21147: 15.7 SP100 

      31.05.2013

      236

      EBF 21336: 15.7 SP101 

      13.06.2013

      24

      EBF 21516: 15.7 SP102 

      27.07.2013

      17

      EBF 21703: 15.7 SP110 

      23.11.2013

      215

      EBF 21770: 15.7 SP103 

      22.01.2014

      0

      EBF 22229: 15.7 SP121 

      09.04.2014

      190

      EBF 22841: 15.7 SP104 

      14.05.2014

      0

      EBF 22854: 15.7 SP111 

      12.05.2014

      0

      EBF 22774: 15.7 SP122 

      06.05.2014

      18

      EBF 23007: 15.7 SP130 

      05.09.2014

      210

      EBF 23462: 15.7 SP131

      20.11.2014

      63

      EBF 23814: 15.7 SP132

      05.02.2015

      84

      EBF 24639: 15.7 SP134

      12.05.2015

      1

      EBF 24747: 15.7 SP135

      30.06.2015

      6

      1064

      There have been quite a few bug fixes in 15.7 binaries as well (some look like out-of-order fixes).   New feature-wise, SP100 came out with some big ones (like shrink database, Physical DB Rearrangement on Load, Defrag), SP130 added more (some identical to the parallel ASE 16 releases).  The rest is probably cleanup.

      To me ASE 16 looks like more advanced and tighter maintained rather than less stable.

      Anyway, good luck with the migration project.  It is always an enlightening event with a lot of testing and preparation leading to it.

      (0) 
      1. Mark A Parsons

        OK, so 15.7 has about the same number of bug fixes when we go back an additional 11 months.

        Since I’m going to make upgrade decisions based on newer/recent versions …

        If we look at the last year (from Sep 2014): 364 fixes in 15.7, 786 fixes in 16.0

        If we look at 2015 (so far): 91 fixes in 15.7, 600 fixes in 16.0

        Sure, there are lots of ways to slice-n-dice the numbers, but until both versions start to show comparable numbers of fixes in newer/recent versions, I’ll stick with 15.7 when there’s no requirement for the (b)leading edge features of 16.0.


        I was waiting for quite a few fixes with SP130, and with the drop off in the number of bug fixes since 130 I’m hoping it’s (relatively) smooth sailing with 15.7 for the foreseeable future … >>crossing fingers<<

        (0) 
        1. Andrew Melkonyan Post author

          I prefer to climb up knowing there is another code branch to fall to in case anything compromises my confidence in the product during the stability/performance testing phase rather than cutting myself off the improvements in ASE scalability for the foreseeable future based on “more bug fixes = buggier release” attitude.  More bug fixed means more effort put into code cleanup. 

          But I do not ignore your point – it is strong and valid.

          (0) 
      2. Jeroen Rijnbergen

        Counting 1064 bugfixes in 15.7 is a bit dubious with the different code paths.

        I’d rather count per code path, because the same bug will be fixed in multiple versions

        I guess a lot of these fixes are actually the same in all 4 code paths

        SP100     236 fixes

        SP110     215 fixes

        SP121     190 fixes

        SP130     210 fixes

        (0) 
  2. Nicolaas Johannes Van Zyl

    Hi Andrew,

    We are 2 months away from golive which was extended recently. Any case we have some serious bugs where for instance our DB sessions run full and we need to restart daily. We are running 16.0.00.01 16.0 SP0 PL1 I can now go to 16.0 SP01 PL02.

    Release

    Date

    Bug fixes

    EBF 22626: 16.0 SP0 PL1

    24.04.2014

    290

    EBF 22668: 16.0 SP0 PL2

    01.07.2014

    20

    EBF 23020: 16.0 SP0 PL3

    04.09.2014

    71

    EBF 23371: 16.0 SP0 PL5

    15.12.2014

    94

    EBF 23902: 16.0 SP01

    17.03.2015

    434

    EBF 24357: 16.0 SP01 PL01

    22.04.2015

    52

    EBF 24486: 16.0 SP01 PL02

    30.06.2015

    114

    1075

    I see however there is already a target list for 16.0 SP02 PL00 i.e. KBA 2210654 – Targeted CR List for ASE 16.0 SP02 do you know when this SP02 will be released?

    Kind Regards,

    Johan

    (0) 
      1. Nicolaas Johannes Van Zyl

        Hi Bret,

        Thanks the guys pointed me to http://wiki.scn.sap.com/wiki/x/OA1iGQ the wiki.

        I am aware the beta is out but as of this morning on the download page only ASEBS16001P_2-10013281.SAR ASE BS 16.0 SP01 Patch Level 02 was available so I am testing the database patch procedure with this variant but will patch the actual systems with SP02 as soon as available thanks for your time to respond.

        (0) 
        1. Maria-Cristina NORMAND

          Hello Johan,

          SP02 certified for Business Suite is still not available, but (normally) it shouldn’t take much more time as SP02 for custom applications was already published.

          Regards,

          Cris

          (0) 
    1. Andrew Melkonyan Post author

      I think the SP02 will be released in October at TechED (like ASE15.7 has been once).  I would not jump to that release straight ahead, though.  SP02 contains a bunch of “fat” new features and looks more like a major release rather than a minor release with more of bug fixed than its earlier predecessors.  SP02 will have to be tested thoroughly – not in a rush.

      ASE 16.0.1.2 behaves pretty stable in the test I’ve been performing for the last couple of months.  What are the bugs you hit?  Can you share that (either here on in private –andrew.me.ph@gmail.com).

      (0) 
          1. Mike Willett

            Thanks for the link.

            Table Variables !!! Excellent.

            Do you know if they can be passed as parameters to stored procedures.

            The only restriction listed is “Table variables cannot be parameters to table user-defined functions.”

            (0) 
      1. Nicolaas Johannes Van Zyl

        Hi,

        I am patching currently to 16.0.01.02 no issues but have only done a couple of development systems.

        We have decided to wait till december or january for SP2 we have a bit of a time crunch issue, plus it would be a better idea stability wise although we would like all the new features we will patch to that at a later stage.

        Johan

        (0) 
      2. Nicolaas Johannes Van Zyl

        Hi Andrew,

        After having now patched several systems. I see I have to rerun the sp_thresholdaction stored procedure script.Even though the query lists it as still implemented, I do not think it is a bug but just a noteworthy comment.

        use master

        go

        select name

        from master..sysdatabases

        where object_id(name+’..sp_thresholdaction_logfreespace’) is not NULL

        order by name

        go

        isql -SSID -Usa -DSID -X -e -i sp_thresholdaction_logfreespace.sql

        Regards,

        Johan

        (0) 
  3. Andrew Melkonyan Post author

    I think the SP02 will be released in October at TechED (like ASE15.7 has been once).  I would not jump to that release straight ahead, though.  SP02 contains a bunch of “fat” new features and looks more like a major release rather than a minor release with more of bug fixed than its earlier predecessors.  SP02 will have to be tested thoroughly – not in a rush. 

    ASE 16.0.1.2 behaves pretty stable in the test I’ve been performing for the last couple of months.  What are the bugs you hit?  Can you share that (either here on in private – andrew.me.ph@gmail.com).

    (0) 
  4. Euclides Melo

    Glad to see those “fat” new features, ASE needed to stay in line in comparation to other RDBMS.

    One BIG feature I still miss is pagination. ASE only supports top, but no offset (like postgresql limit offset clauses) to only return a subset of the rows selected. It is used a lot in web applications. I know there is some workarounds, but they are not JPA (hibernate) friendly. Are there plans to add this feature in a next “fat” release?

    (0) 
  5. Mike Willett

    I’m trying to confirm it Sybase 16 SP02 has included all fixes that are included in 15.7 upto SP134. I assume this would be the case but can’t see if written down.

    Mike

    (0) 
  6. Nicolaas Johannes Van Zyl

    Hi,

    If any of you have been receiving this error in earlier version of 16.0.0.01 for example patching to 16.0.01.00 should have resolved the issue. We have patched beyond actually to  16.0.01.02 and the bug is still not fixed.

    00:0006:00000:00015:2015/09/23 13:20:01.00 server  Error: 1601, Severity: 17, State: 3

    00:0006:00000:00015:2015/09/23 13:20:01.00 server  There are not enough ‘user connections’ available to start a new process. Retry when there are fewer active users, or ask your System Administrator to reconfigure ASE with more user connections.

    This is still a bug!!

    Kind Regards,

    Johan

    (1) 
  7. Hector Bautista

    Hello Andrew

    Definitely I agree that using Replication Server is the best method for ASE Migration or version upgrade. Just now I am exploring to upgrade an ASE from 15.0.3 to 16.0 with minimal impact to operation.

    Do you have some documents that you can share with me, for example the Migration Guide you mentioned.

    Regards

    Hector

     

    (0) 

Leave a Reply