ASE 15.7 SPxxx or ASE 16.0.x.x – Which one should I choose?
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.
Nice listing of feature.
The select with recompile in stored procedures is also available in 15.7sp130.
See http://help.sap.com/Download/Multimedia/zip-asecluster/ase_whats_new.pdf chapter 11.
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
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.
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
These are distinct bug fixes. You might want to check the buglist released with each release to verify.
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.
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
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
16.0 SP02 is targeted for release in early September. i.e. very soon.
16 SP 2 was released 2 weeks ago.
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.
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
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).
> SP02 contains a bunch of "fat" new features
What new features are there ? Is there a link ?
Thanks
Mike
http://help.sap.com/Download/Multimedia/zip-ase1602/SAP_ASE_Whats_New_en.pdf
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."
Nicolaas,
What issues are you hitting?
Andrew
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
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
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).
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?
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
SP02 is indeed out - but as Ga...
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
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