Quantcast
Channel: SCN : Blog List - SAP Adaptive Server Enterprise (SAP ASE) for Custom Applications
Viewing all 173 articles
Browse latest View live

SAP HANA Cloud Platform (HCP) – SAP Adaptive Server Enterprise Persistence Instance (Part 1)

$
0
0

About SAP Adaptive Server Enterprise (ASE)

 

SAP ASE is market leading database management system for Online Transaction Processing - it is a major part of the SAP Data Management Portfolio for end-to-end, real-time data management (as shown in Figure 1 below).

 

datamanagement.jpg

                                                                              Figure 1

 

SAP ASE is a leader (Figure 2) in Gartner’s Magic Quadrant for Operational Database Management System. SAP ASE has established a performance standard in the Sales and Distribution (SD) benchmark (http://news.sap.com/sap-sybase-adaptive-server-enterprise-scores-top-two-processor-and-four-processor-linux-performance-results/) with a #1 ranking on Linux. SAP ASE is a patented technology with multiple grants.


Traditionally SAP ASE has been powering mission critical environments across the industries and has been a mainstay in the Financial Services Industry. With version 15.7, SAP ASE has expanded its capabilities to the cloud – now business organizations have the flexibility of deploying SAP ASE workloads across on-premise and cloud environments to better manage their Total Cost of Owership (TCO).

 

 

aseleader.JPG

                                                                            Figure 2

 

What is the Cloud?


Gartner describes Cloud as (http://www.gartner.com/newsroom/id/1035013) a style of computing that is Service Based, Scalable and Elastic, Shared, Metered, Internet Technology Enabled, for External Customers.

 

There are multiple Cloud Reference Architectures (we reference the one from the National Institute of Standards and Technology - http://www.nist.gov/customcf/get_pdf.cfm?pub_id=909505  for our discussion) and from them the common theme is a set layered services abstractions such as IaaS (Infrastructure as a service which abstracts network, compute and storage resources), PaaS (Platform as a service which abstracts application scalability and elasticity), and SaaS (Software as a Service which abstracts Business Services), providing a framework for business on-demand.


In this article we will focus on the SAP ASE Persistence Instance (DBaaS, Database as a Service) offering on the SAP HANA Cloud PaaS Platform (as shown in Figure 3 below).

 

 

 

SAPHCPCloudFit.JPG

 

                                                                                                                Figure 3

 

 

SAP ASE Persistence Instance (DBaaS) Service Summary


Table 1 below provides a summary of this offering. As stated below the trial version (online self-serve is planned) and a production version is available today. The SAP ASE Persistence Instance is a Database as a Service (DbaaS) offering in the SAP HANA Cloud Platform PaaS Service.

 

 

Criteria
HANA Cloud Platform
Type           SAP ASE Persistence Instance Service (DBaaS, Database as a Service)
License ModelTrial (Available today, On-line self-serve planned), Productive use monthly subscription (Available today)
Version15.7 SP132
AccessOnline
Operating SystemSuse Linux Enterprise Server 11 SP3
Cloud Service(s)HCP Persistence Service (Database as a Service - DBaaS)

                                                                           Table 1

 

Getting the Production Use SAP ASE Persistence Instance (DBaaS) Version Today


The Account Executive (AE) is the interface to the successful provisioning of SAP ASE DBaaS Persistence Service on SAP HANA Cloud Platform. Figure 4 below describes this process.

 

getasedbaasprocess.JPG

 

                                                                                    Figure 4

 

NOTE The same process (Figure 4) will apply for a Trial version as well. A self-help trial access is planned from the SAP ASE Persistence Instance website (URL given below).

 


Resources

 

SAP ASE Persistence Instance (DBaaS) on SAP HANA Cloud Platform:

http://hcp.sap.com/capabilities/data-storage/ase-dbaas.html

 

SAP HANA Cloud Platform Documentation:

https://help.hana.ondemand.com/help/frameset.htm?533384eda57e428f98a43815e6a11119.html


Using SAP Adaptive Server Enterprise (ASE) on Amazon Web Services Cloud Platform (Part 1)

$
0
0

About SAP Adaptive Server Enterprise (ASE)

 

SAP ASE is market leading database management system for Online Transaction Processing - it is a major part of the SAP Data Management Portfolio for end-to-end, real-time data management (as shown in Figure 1 below).

 

datamanagement.jpg

                                                                              Figure 1

 

SAP ASE is a leader (Figure 2) in Gartner’s Magic Quadrant for Operational Database Management System. SAP ASE has established a performance standard in the Sales and Distribution (SD) benchmark (http://news.sap.com/sap-sybase-adaptive-server-enterprise-scores-top-two-processor-and-four-processor-linux-performance-results/) with a #1 ranking on Linux. SAP ASE is a patented technology with multiple grants.


Traditionally SAP ASE has been powering mission critical environments across the industries and has been a mainstay in the Financial Services Industry. With version 15.7, SAP ASE has expanded its capabilities to the cloud – now business organizations have the flexibility of deploying SAP ASE workloads across on-premise and cloud environments to better manage their Total Cost of Owership (TCO).

 

 

aseleader.JPG

                                                                            Figure 2

 

What is the Cloud?


Gartner describes Cloud as (http://www.gartner.com/newsroom/id/1035013) a style of computing that is Service Based, Scalable and Elastic, Shared, Metered, Internet Technology Enabled, for External Customers.

 

There are multiple Cloud Reference Architectures (we reference the one from the National Institute of Standards and Technology - http://www.nist.gov/customcf/get_pdf.cfm?pub_id=909505  for our discussion) and from them the common theme is a set layered services abstractions such as IaaS (Infrastructure as a service which abstracts network, compute and storage resources), PaaS (Platform as a service which abstracts application scalability and elasticity), and SaaS (Software as a Service which abstracts Business Services), providing a framework for business on-demand.


In this article we will focus on the SAP ASE offering on the Amazon AWS Infrastructure as a Service (IaaS) Platform (as shown in Figure 3 below).

 

SAPAWS-CloudFit.JPG

                                                                                                             Figure 3

 



Amazon Web Services (AWS)


As per Amazon.com, Amazon Web Services, is a collection of remote computing services, also called web services, that make up a cloud-computing platform offered by Amazon.com.These services operate from 11 geographical regions across the world.Wikipedia




SAP Adaptive Server Enterprise Amazon Web Services Summary


Table 1 below provides a summary of this offering. The SAP ASE Amazon Machine Image (AMI) Market Place offering in the Amazon Web Services (IaaS) Platform.

 

 

Amazon Web Services (AWS) Cloud Platform
TypeInfrastructure as a Service (IaaS)
License Model
BYOL (Available today)
Version15.7 SP122, 16.0 SP02PL01
AccessMarket Place as an Amazon Machine Image (AMI)
Operating Systems

15.7 SP122: RHEL 6, Windows 2008 2008R2 X64

16.0 SP02PL01: RHEL 7.1, Windows Server 2012 2012R2 X64

Cloud ServicesPublic Cloud, Virtual Private Cloud

 

                                                                                                                            Table 1



Getting the Trial or Production Use SAP ASE AMI Today


The SAP ASE Amazon Machine Image (AMI) is available in the market place today for trial and productive use. To gain access, visit the following Market Place Web Links for either Linux (RHEL) or Windows imahes:

  1. Linux Image: https://aws.amazon.com/marketplace/pp/B00PG7GZJM
  2. Windows Image: https://aws.amazon.com/marketplace/pp/B00PG79OWM/ref=sp_mpg_product_title?ie=UTF8&sr=0-3

 

NOTE: To be able to launch either of these image users will require a valid Amazon Web Services Account. This account can be created via https://aws.amazon.com/account/. The SAP ASE AMI has a default trial period of 30 days on Amazon.

 

Resources

 

SAP Database and Mobile Solutions on AWS:

https://aws.amazon.com/sap/solutions/database/

 

SAP Adaptive Server Enterprise on Amazon AWS:

http://scn.sap.com/community/ase-custom-applications/blog/2015/01/13/sap-adaptive-server-enterprise-ase-on-amazon-web-services-aws

Always On? Sybase? You must be kidding...

$
0
0

Well, [SAP] Sybase has always been well known (and coveted) for its replication technology.  Sybase Replication Server is a well established, rock-solidly stable product allowing homo- or heterogeneous replication solutions or different types and topologies across most platforms.  But as opposed to other DBMS vendors (say Microsoft?) the solution was always kept separate from ASE server.

 

It looks like SAP has decided to change this at last.  ASE 16 SP02 has finally bundled replication server into the core installation package - that is if you purchase the HADR ASE option...

 

What's in the package?  Let's have a closer look.  The last ISUG issue has a brief description of the solution, but since I have not found an open reference to this document and since the only other option is to read official product documentation I decided to summarize it here for those who do not have access to it.

 

ASE 16 SP02 came out with quite a few enhancements - Always On falls under the "Availability Enhancement" hood.  As the option name suggests Always On has both HA & DR capabilities to choose from.  It promises:

 

  • Zero data loss (HA)
  • Transparent Client fail-over
  • Planned/Unplanned fail-over support
  • Soft DB quiesce for planned fail-over without interrupting applications
  • Zero downtime upgrades for minor & major DB releases
  • Automated fault detection and handling
  • Ability to leverage replicate DB in enforced read-only mode with zero user administration

 

Replication server has most of these capabilities in the past and indeed it is the infrastructure for the Always On option.  Yet, having them all bundled together is indeed a huge step forward.  I love in particular the transparent fail-over and automated fault detection - forced read only sounds nice too.

 

As said - the option comes in two configurations:  HA & DR. 

 

HA configuration encompasses two database servers tied in synchronous data replication mode (apparently relying on RS 157 SP300 capabilities of synchronous replication) - a pair of ASEs with a pair of dedicated RS applying transaction directly to the companion side with only one node being active at a time:

 

HA.JPG

DR configuration replication mode is a-synchronous (although ISUG specifies otherwise - a typo?..).  This is a familiar topology we have been used with Sybase Replication Server for years - a pair of ASEs each with a dedicated RS connected through a direct route to speed up message delivery to the companion side:

 

DR.JPG

I am very curious how simple the management of HADR option is and how scalable is the topology behind it.  I've been busy testing replication server for the last couple of months (replicating from an old ASE 15.x release to a new ASE 16 SP01PL2 in either direction).  Although the setup part is pretty easy, one of the hurdles I have been stumbling on was the volume of data transferred between various RS components.  In particular the pressure on the inbound queue.  In the HA configuration above the RS responsible for applying transaction to the companion ASE seems to be sitting close to the companion ASE rather than the primary ASE. 

 

As of today when replication agent follows transactions from the primary log to the inbound queue it translates each update/delete command into a command listing all of the primary table columns.  For wide tables this impacts the volume of data moved across network pretty badly (we've lodged CR to deal with this - CR791846).  As minimal column support kicks in only for the outbound queue I am very curious to see what the out-of-the-box HA implementation is able to achieve (unless it is based on stream replication rather than transaction replication).  In the testing I have been performing any latency introduced to the chain RA - inQ was threatening to blow the primary ASE transaction log - the nightmare for any DBA messing up with replication server.  And I have not been testing synchronous replication even!  I also wonder if HADR option includes various ASO enhancements introduced into RS for the past couple of years.

 

In short, HADR is our there - love it or leave it.

 

I hope we will go with the former but only time will tell...

 

Have fun,

 

ATM.

 

ps. I wonder what are the pricing differences between HADR option vs. RS CORE (+ASO).

Import from Sybase Adaptive Server Ver 16 to Adaptive Server Ver 15.7

$
0
0

I'm currently in the process of upgrading server OS's from WIN2003 to WIN2008 and need to purchase a version of sybase that is supported on WIN2008 R2 64bit.  I want to ensure I can import a Sybase Export file from a Sybase Version 16 DBMS into a Sybase 15 version.  My customers are on Sybase Version 15.  Would Sybase Version 16 support a version of Sybase 15 as a target delivery format?

SAP HANA Cloud Platform (HCP) – SAP Adaptive Server Enterprise Persistence Instance (Part 2)

$
0
0

While Part 1 of this sequence provided an introduction to the SAP ASE Persistence (DBaaS) Service this post will provide an introduction to the HCP Cockpit experience in the form of a walk-through.

 

On-line Access to the SAP ASE Persistence (DBaaS) Service


The SAP ASE Persistence (DBaaS) Service home can be accessed via a Web Brower. This home link will take the user to the following page as shown in Figure 1 below.

hcp_2_1.jpg

 

                                                                    Figure 1

 

In Figure 1 there are two circled (red) clickable buttons. The Trial SAP ASE (green) button will provide a trial registration form to gain access to the SAP ASE Persistence (DbaaS) Service. Once this is submitted the registrar will provide the access credentials for the Trial Account. The Launch HCP (blue) button will log the user into the HCP cockpit for trial or production Administration and Monitoring. NOTE: This self-serve is planned effort. As noted in Part 1 the access to the HCP for the SAP ASE Persistence Service (DBaaS) is via the Account Executive.

 

A Quick Start walk-through


Upon a successful login the HANA Cloud Platform (HCP) user experience will be driven be a HCP Cockpit console as seen in Figure 2 below. This Dashboard landing view will display a summary of all user deployed applications and account summaries.

hcp_2_2.jpg

 

                                                                                      Figure 2

 

The HCP Navigation Options in Figure 2 are explained in Table 1 below.

 

Navigation

Description

Dashboard

Dashboard home

HANA InstancesRunning or configured HANA instances
HANA XS ApplicationsUser HANA Extended Services Applications
Java ApplicationsUser Java Applications
Databases & SchemasUser Databases and Schemas
HTML5 ApplicationsUser HTML5 Applications
DestinationsExternal Applications Connectivity
ConnectivityOn-premise secure connectivity
SubscriptionsSubscription to Available Applications
ServicesHCP Cloud Services
MembersAccount Membership
TrustIdentity Federation
AuthorizationsClient Access Authorizations
OAuthOAuth Based Client Access
Document RepositoriesStorage for Documents
Git RepositoriesAccess to Git Storage
ResourcesNetwork, Compute, Storage
AccountAccount Management

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                

 

 

 

 

 

 

 

                                  

 

 

                              

 

 

                               

 

 

                                      

 

                                         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                  Table 1

 

The Account navigation button will take the user to the Account Management screen as shown below in Figure 3, where the user (with the appropriate privileges) can administer or manage groups and membership, including access control privileges.

hcp_2_3.jpg

 

                                                                                 Figure 3

 

The Databases & Schemas button will take the user to the Database Administration page as shown below in Figure 4, where the user (with appropriate privileges) can create and administer Databases and Schemas.

hcp_2_4.jpg

 

                                                                                    Figure 4

 

A User (with appropriate privileges) can click the New tab to create a new database. On clicking the New tab the Cockpit interface will display a form as shown in Figure 5 below, for the creation of a new SAP ASE Persistence Service (DBaaS).

hcp_2_5.jpg

 

                                                                                        Figure 5

 

The User can fill in the information and then click the Save button to create the instance or Cancel button to cancel the operation. Once filled in and Saved, HCP will create the instance, as shown in Figure 6 below, the "testinstance" has been created.

hcp_2_6.jpg

 

                                                                                      Figure 6

 

The View Requests button in Figure 6 lists out a trail of operations, as shown in Figure 7 below.

 

hcp_2_7.jpg

 

                                                                                 Figure 7

 

The HANA Cloud Platform (HCP) provides a rich set of tools to work with the platform and user deployed databases and applications, as shown in Table 2 below.

 

Tool

Description

Cockpit

This is the central point for managing all activities associated with your account and for accessing key information about your applications.

SAP Web IDE

This is a cloud-based meeting space where multiple application developers can work together from a common Web interface — connecting to the same shared repository with virtually no setup required. SAP Web IDE allows you to prototype, develop, package, deploy, and extend SAPUI5 applications.

Maven Plugin

It supports you in using Maven to develop Java applications for SAP HANA Cloud Platform. It allows you to conveniently call the console client and its commands from the Maven environment.

SAP HANA Cloud Connector

It serves as the link between on-demand applications in SAP HANA Cloud Platform and existing on-premise systems. You can control the resources available for the cloud applications in those systems.

SDK

It contains everything you need to work with SAP HANA Cloud Platform, including a local server runtime and a set of command line tools.

Eclipse Tools

This is a Java-based toolkit for Eclipse IDE. It enables you to develop and deploy applications as well as perform operations such as logging, managing user roles, creating connectivity destinations, and so on.

Console Client

It enables development, deployment and configuration of an application outside the Eclipse IDE as well as continuous integration and automation tasks.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                  Table 2


Resources

 

Tools and Documents:

https://help.hana.ondemand.com/help/frameset.htm?abcae5b568c94e5391a74d15f5db9213.html

 

Other HCP Links:

http://hcp.sap.com/capabilities/data-storage/ase-dbaas.html

https://help.hana.ondemand.com/

Endless loop in ase16sp02 install (stuck on Installing character set 'cp850')

$
0
0

Hi,

 

The install is running almost 3 hours and I copy the log as for the moment, at the end of this post.

 

I am trying to install SAP-ASE 16 SP2 on an Acer laptop Aspire V 15 Nitro with OS Microsoft Windows 10.

Intel Core i7-5500U 2.4GHz / 8GB DDR3 L / 1TB hard drive.

 

It is for evaluating and eventually developing a system (free install).

 

I left almost everything as default including 4k page size and only raised the device size of master and sybsystemprocs, rising the size of the corresponding databases too.

Did the same with tempdb, but I think I am stuck in an endless loop with almost 95 character set installations.

The previous attempt where I also changed the language and the character set, ended up in the same problem and I aborted it (yesterday).

 

I searched the posts with "install", "character" and "ASE16sp02" tags not finding anything similar. I skeemed the first 6 pages of posts not finding anything related, but obviously not all the pages.

 

Regards,

 

Thomas Magdahl

 

********************** LOG *************************************************************************************************

 

The log file for this session is 'D:\Thomas\Data\Megalux\Sistemas\DataBase\ASE-16_0\init\logs\log1125.001'.

Warning: You have selected '4k' as the logical page size for the SAP Adaptive Server Enterprise. If you plan to load dump from another database, make sure this logical page size matches the size of the source database. The default logical page size in previous SAP Adaptive Server Enterprise versions was 2KB.

Running task: update SAP Server entry in interfaces file.

Task succeeded: update SAP Server entry in interfaces file.

Running task: create the master device.

Building the master device

..Done

Task succeeded: create the master device.

Running task: update SAP Server entry in registry.

Task succeeded: update SAP Server entry in registry.

Running task: start the SAP Server.

waiting for server 'MGLX_ASE_01' to boot...

Task succeeded: start the SAP Server.

Running task: set System Administrator's password.

Task succeeded: set System Administrator's password.

Running task: create the sybsystemprocs database.

sybsystemprocs database created.

Task succeeded: create the sybsystemprocs database.

Running task: install system stored procedures.

Installing system stored procedures : 10% complete...

Installing system stored procedures : 20% complete...

Installing system stored procedures : 30% complete...

Installing system stored procedures : 40% complete...

Installing system stored procedures : 50% complete...

Installing system stored procedures : 60% complete...

Installing system stored procedures : 70% complete...

Installing system stored procedures : 80% complete...

Installing system stored procedures : 90% complete...

Installing system stored procedures : 100% complete...

Task succeeded: install system stored procedures.

Running task: set permissions for the 'model' database.

Task succeeded: set permissions for the 'model' database.

Running task: set local SAP Adaptive Server Enterprise name.

Task succeeded: set local SAP Adaptive Server Enterprise name.

Running task: set the XP Server for the SAP Adaptive Server Enterprise.

Task succeeded: set the XP Server for the SAP Adaptive Server Enterprise.

Running task: update XP Server entry in registry.

Task succeeded: update XP Server entry in registry.

Running task: create temporary database.

Task succeeded: create temporary database.

Running task: set optimization goal.

Task succeeded: set optimization goal.

Running task: install a character set(s).

Installing character set 'cp850'

Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

Using SAP Adaptive Server Enterprise (ASE) on Amazon Web Services Cloud Platform (Part 2)

$
0
0

While Part 1 of this sequence provided an introduction to the SAP ASE on Amazon Web Services Market Place, this post will provide an introduction to deployment experience in the form of a walkthrough.

 

Amazon Market Place Access to the SAP ASE (Amazon Machine Image – AMI)

The SAP ASE AMI image can be accessed via a Web Brower. ASE supports multiple platforms in the market place, including Linux and Windows. In Figure 1 we show an example of the ASE Market Place page for the Linux AMI.

aws_2_1.png

 

Figure 1

 

In Figure 1 please note the different regions that support ASE AMI (the image shows US East in N. Virginia). Also note the hourly utilization rates in the table, these rates might change based on the region selection. So while a customer brings their own license (BYOL), resource (compute, storage, and network) utilization rates will be metered based on these rates, by Amazon, separately.

 

A Quick Start walkthrough

Prior to the deployment users will require a valid Amazon Web Services Account. Users can log in or create a new account from this link as shown in Figure 2.

 

aws_2_2.png

Figure 2

 

There are two ways to get to the desired ASE AMI for deployment. Either via a web search for the desired AMI leading to the page as shown in Figure 1 or after a log into the Amazon Web Services Management Console page as shown in Figure 3.

 

aws_2_3.png

Figure 3

 

For this walk-through we shall use the Linux AMI, discovered from the Amazon AWS account (after a successful log in).

 

Amazon Deployment Walk-through

Log into the Amazon AWS Management Console as shown in Figure 4. If a user does not have an account then a new account (free) can be created by selecting the “I am a new user.” Radio button.

 

aws_2_4.png

Figure 4

 

Once a user logs in, user will see the AWS Market Place link to the right as shown in Figure 3 (above). On clicking that link the user will see the page in Figure 5.

 

aws_2_5.png

Figure 5

 

On this page the user can discover the AMI images for SAP Adaptive Server Enterprise using the “Search AWS Marketplace” text field. The search will yield the page shown in Figure 6.

 

aws_2_6.png

Figure 6

 

On selecting the SAP Adaptive Server Enterprise link for version 16.0 SP02PL01, the user will see the page in Figure 1 (above). On clicking the Continue button the user will see the page in Figure 7.

 

aws_2_7.png

Figure 7

 

Please note the available unique images in each region. On selecting the “Launch with EC2 Console” corresponding to the desired region of interest, the user will see the page in Figure 8 (a start of a EC2 workflow).

 

aws_2_8.png

Figure 8

 

The user can select the image type based on the desired Compute, Storage, and Network capacities. The user can get more information about the mappings between virtual capacities to real capacities on Amazon Web Services site. In this example we choose the m4.2xlarge type, comprising 8 vCPUs (virtual CPUs), 32GB of memory and a pre-configured Elastic Block Storage (EBS). On selecting the “Next: Configure Instance Details” the user will see the page in Figure 9.

 

aws_2_9.png

Figure 9

 

In Figure 9 please note that users can configure auto scaling group to automatically scale the capacity. Although this example has chosen to select the default Virtual Private Cloud (VPC) and Subnet, users can create their own VPC and/or Subnet. Users can allow the workflow to choose a public IP for this (default, note this will be disassociated on the instance stopping or terminating) or opt to associate an Elastic IP address (EIP, which is a separate service and cost). Placement group provides a logical grouping of nodes into a cluster (we have chosen the default for this example). IAM role is for secure access (we have chosen the default for this example), users can create a role to manage application access. Shutdown behavior is stop (the alternative is terminate, which means the instance and data will be garbage collected). Enable Termination Protection will insure prevention of accidental termination from the Amazon EC2 management console (we have chosen the default for this example). With Monitoring enabled, users can monitor the ASE instance with Amazon Web Service monitoring framework “CloudWatch”. ASE instance is by default EBS-optimized, for better disk throughput and performance. With respect to tenancy (we have chosen the default for this example), the alternatives are to run this instance on dedicated hardware or dedicated host. With respect to network interfaces settings the defaults apply (except association of an IP such as an EIP), although users can add additional Ethernet interfaces (devices). On selecting “Next: Add Storage” button the user will see the page as in Figure 10.

 

aws_2_10.png

Figure 10

 

The default root file system is provisioned as 10GB (we have chosen the default in this example), this can be altered by the user. The default media is SSD (we have chosen the default in this example), the user can choose Provisioned IOPs (higher performing SSD) or Magnetic from the drop down. Optionally the user can add additional volumes (now or later). Once the user clicks the “Next: Tag Instance” button the workflow will lead to the page as shown in Figure 11.

 

aws_2_11.png

Figure 11

 

Tagging allows a user to easily identify an asset for a specific use. In the example in Figure 11 we have tagged this instance as part of the ASE Product Engineering department and for use in Quality Assurance. Users can create additional tags (we have chosen to create only one for this example). When user clicks the “Next: Configure Security Group” button the workflow will move to the page as seen in Figure 12.

 

aws_2_12.png

Figure 12

 

Security groups defines the network access policies for the instance, similar to IP tables in Linux or Firewall policies in a router. This example shows the policy for a secure shell (SSH). Users can add additional rules for other types of access. Although this example is creating a new security group, users can select an existing security (which they would have created via the EC2 management console). When the user clicks the “Review and Launch” button the workflow moves to the Review and Launch Page as shown in Figure 13, where the user can finalize edits before launching the ASE instance.

 

aws_2_13.png

Figure 13

 

When user clicks the “Launch” button the workflow will prompt the user to provide a security key pair name, as shown in Figure 14. The user has a choice of selecting an existing key pair or associating a new one. Amazon Web Services uses a public key cryptography model to govern secure access to the running instances. The key pair name is a reference to the generated the public key (maintained on the server) and the associated private key for secure access.

 

aws_2_14.png

Figure 14

 

In this example we create a new key pair for the security key generation as shown in Figure 15.

 

aws_2_15.png

Figure 15

 

When the user clicks the “Download Key Pair” button, the user is prompted to save the file safely for secure access to the instance (for example using putty for SSH access), as shown in Figure 16. Please note the caution in Figure 15.

 

aws_2_16.png

Figure 16

 

Upon completing this procedure the instance is deployed and launched as shown in Figure 17.

 

aws_2_17.png

Figure 17

 

Once the private key file is saved (.pem file), then that file can be used to access the instance in multiple ways as shown in Figure 18. Users can connect to the instance from the Amazon Web Services EC2 management console. On selecting the instance of interest and clicking the “Connect” button the user us provided with multiple options to connect to the instance.

 

aws_2_18.png

Figure 18

 

For more information please read the links in the Resources section below. The Amazon Web Services version of the SAP Adaptive Server Enterprise support all features as in the on premise version.

 

Resources


SAP Database and Mobile Solutions on AWS:

https://aws.amazon.com/sap/solutions/database/


SAP Adaptive Server Enterprise (ASE) on Amazon Web Services (AWS):

http://scn.sap.com/community/ase-custom-applications/blog/2015/01/13/sap-adaptive-server-enterprise-ase-on-amazon-web-services-aws

 

Connect to your Amazon Web Services instance:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html

 

Associate an Elastic Network Interface to an Amazon Web Services instance:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

 

Associate an Elastic IP address to an Amazon Web Services instance:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html

HADR: A Glimpse at ASE HADR Instance & beyond...

$
0
0

Now that SAP ASE comes with it own brand-new Always On option it is worth having a closer look at it.

 

Below is a peep-view at Sybase HADR Option.

 

HADR has three basic components:  ASE, RS and Fault Manager.  I skip the Fault Manager for the moment (although it reduces all of self-management to nil) and concentrate on the ASE|RS components. ASE setup with HADR enabled requires super user (sudo) credentials - for those who wishes to install the whole bundle at once.  It is also essential to remember that HADR is notdesigned to run on a single host.

 


Setup Phase:

 

Setup phase is pretty straightforward.  ASE 16 SP02 installation comes with a sample resource file for hadr in addition to the sample resource files it traditionally had for other ASE components ($SYBASE/$SYBASE_ASE/init/sample_resource_files/setup_hadr.rs).  You may need to make two copies of it - one for the primary side and another for the replicate - to make life easier.   The sample resource file is commented throughout - you just need to make sure that the resource file for each side is modified correctly following the guidelines in the template script.  Otherwise things may go wrong...

With the resource file fixed - the HADR setup consists of calling the setuphadr utility twice - once for the primary side and once for the replicate side.  DB synchronization is performed by the script itself (through calls to the RMA component - which has to be started on each host before calling setuphadr).

All in all it takes 2 simple steps to set things up (again, not counting FM installation).

 

When done, you may verify installation by connecting to RMA through its rma_tds_port - or you may connect to RS through its srs_port - both defined in the resource file.  To understand if all is good or not - beyond the success message setuphadr prints out - you will need to read documentation first.  RMA command line options are brand new set of sap_... commands.  RS has a lot of new components - some in suspended|down state even when the system is operating well.   There is also RS log file (to be found in $SYBASE/DM/{CID} directory.  And there is an RMA log file (to be found in $SYBASE/DM/RMA-15_5/instances/AgentContainer/logs).

 

Yet another option is ... ASE Cockpit (you will have to start it first from $SYBASE/COCKPIT-4/bin/cockpit.sh - default port is 4283 for https connection - but connectivity information is printed out so you don't need to worry remembering the right path)...

 


Monitoring Phase:

 

ASE 16 Sp02+ is now managed through ASE Cockpit - a new kid on the block.  The system that has HADR enabled will look like this:

 

 

You will find that under the system status there is another status:  site mode status.  This one indicates which side of the HADR system it is (primary|standby) and what is its health status (active|stopped|unknown).

 

HADR has its own screen in the Monitor section as well.  This will look like:

 

 

Here too one will see the state of the system (active|stopped|unknown) and in addition what the system components are with their corresponding states:

The "path" here is replicating from ASESRV1 to ASESRV2 for asedb, master and DA1 databases (master and DA1 are "default" databases to be replicated, with DA1 is the name of the cluster you choose in the hadr resource file).  one may see the direction of replication, state and health - across various parameters (components state, primary ASE log state, replication throughput, replication backlog and latency).

 

When the system will be up enough time to collect metrics ASE Cockpit will be able to show various handy statistics on the HADR.


Backlog:

 


RS Latency:

 

HADR_LATENCY


Primary ASE Log Status:

 

HADR_LOG_RECORDS


Replication Throughput:

 

HADR_THROUGHPUT

 

This is a pretty nice way to visualize your HADR health status - including a neat breakdown of latency into RS components - once visible through manual

rs_ticket interface.  STP state is also visible through primary log status.

 

In addition to this it is possible to see other HADR performance statistics through the ASE Cockpit "Statistics Chart" interface across various RS related metrics:

 

HADR_STATISTICS

 

I must confess that for those used to run manual commands to see what's going on with the replicated environment this is a massive step forward.  Looks neat.  Still things to be polished but hey, this is just a start!  It already provides a decent way to monitor replicated environment "out-of-the-box".



Operation Phase:

 

ASE Cockpit allows to manage the system as well as to monitor it.  This is done from the EXPLORE tab of the ASE Cockpit.

The management interface looks like this:

 

HADR_MANAGE_1

 

ASE Cockpit covers:

  • Manual fail over
  • Re-materialization
  • Forcing the server to become primary if HADR state is unknown
  • Stopping|starting basic RMA|RS components

 

For the fail over ASE Cockpit will also display the fail over status (log) during the operation:

 

 

For those attentive to detail... there is a blue-yellow motive adhered to....

 

Round Up:

 

HADR option looks like a valuable addition to ASE environment.   Although setting up replication server has never been a big issue for ASE DBAs  - an easily scripted task - having it all done for you is nice.  On the other hand, managing & monitoring the environment has been a thorny thing.  With HADR option this task has been addressed and elevated to a new level.  Everything ASE Cockpit displays may be still done manually (either using the new RMA interface or using the old good RS commands).  At the same time having the things in front of one's eyes easily accessible has a great value.

 

There are still things to be improved - like having embedded RS to work on auto-expanding partition rather than a fixed size one, having the cluster id database auto-expanding rather than fixed size, having more technicaldocumentation on how various components work and how the new system shall be troubleshooted in case things go wrong, having an ability to interact with ASE cockpit better, having more elastic licensing model, having more than one replicated nodes in the same configuration - but as a starting point this feature is definitely worth a try.  Big thumps to ASE & RS engineers  (I've heard rumors that the throughput is much faster for HADR than what we are used to and it looks like there are several ASO|HVAR options turned on by default).

 

I look forward to ASE 16 SP03...

 

ATM.


granular permissions

$
0
0

Whenever a new version of SAP Sybase ASE is released, I'm always looking forward to try new functionality.

One thing that got my attention is granular permissions

 

The idea of granular permissions is to only grant the permissions required for the job at hand (least privilege principle)

Sybooks says: grantable system privileges allow you to enforce "separation of duties"

 

Is it really that simple?

 

System roles can be restricted by revoking specific permissions, alternatively it's possible to create user defined roles and grant only specific permissions. The downside of using user defined roles is that user defined roles can't be audited, so if you rely on auditing sa_role you might want to restrict sa_role instead of creating a user defined my_sa_role. If you do change system roles, you can always get the original permissions back with procedure sp_restore_system_role, which requires permission manage server permissions.

 

Granular permissions can be granted on several levels, from server roles to object permissions. Permissions which would otherwise require object owner or dbo can now be granted separately. Which is a very nice feature. E.g. permission identity_insert, which can be very useful in some situations where you don't want to grant dbo access and still want to be able to provide explicit values for identity columns (e.g. with replication).

 

An example: sso_role. What kind of permissions are granted to sso_role?

Note that several permissions only apply to the current database, the permissions below are granted in the master database


grantor grantee  type  action                        object           column predicate grantable

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

dbo     sso_role Grant Alter Any Object Owner                         All    NULL      FALSE

dbo     sso_role Grant Change Password                                All    NULL      FALSE

dbo     sso_role Grant Decrypt Any Table                              All    NULL      FALSE

dbo     sso_role Grant Manage Any Encryption Key                      All    NULL      FALSE

dbo     sso_role Grant Manage Any Login                               All    NULL      FALSE

dbo     sso_role Grant Manage Any Login Profile                       All    NULL      FALSE

dbo     sso_role Grant Manage Any Remote Login                        All    NULL      FALSE

dbo     sso_role Grant Manage Any User                                All    NULL      FALSE

dbo     sso_role Grant Manage Auditing                                All    NULL      FALSE

dbo     sso_role Grant Manage Roles                                   All    NULL      FALSE

dbo     sso_role Grant Manage Security Configuration                  All    NULL      FALSE

dbo     sso_role Grant Manage Security Permissions                    All    NULL      FALSE

dbo     sso_role Grant Map External File                              All    NULL      FALSE

dbo     sso_role Grant Select                        builtin authmech        NULL      FALSE

dbo     sso_role Grant Set Tracing Any Process                        All    NULL      FALSE

dbo     sso_role Grant Show Switch                                    All    NULL      FALSE

dbo     sso_role Grant Update Any Security Catalog                    All    NULL      FALSE

dbo     sso_role Grant Use Any Database                               All    NULL      FALSE

 

How to use this feature to make my server more secure?

 

e.g. revoke "change password" from sso_role and it won't be possible anymore for sso_role to change the password for any other login.

Or create a user defined role, and only grant permission "Change Password". That sounds pretty good.

 

But what about the other permissions? Especially "Manage Roles", what can you do with this permission?

With this permission any role can be granted to (or revoked from) any login. There are no restrictions for granting sa_role & sso_role

A login with permission "manage roles" granted, can grant any role, including system roles sa_role and sso_role, to any login!

(Granting some permissions still requires specific permissions, like "manage server permissions", but granting sa_role with this permission already granted is no problem.)

 

With granular permissions disabled, to grant sa_role the sa_role must be granted to the grantor already.

If the grantor is not granted sa_role, then error 10353 will be raised:

Msg 10353, Level 14, State 6:

Server 'ASE157', Line 1:

You must have any of the following role(s) to execute this command/procedure: 'sa_role' . Please contact a user with the appropriate role for help.

 

But with granular permissions enabled, there's no restriction and the role is granted without any problem.

Note this is not a bug, this is the way it has been designed... If it's something you really want is a different question.

With default sa_role and sso_role you can also dynamically switch between enabling and disabling granular permissions, so you have full access.

 

Not all things are very straight forward with granular permissions. For example permission "manage any statistics" and "own any database"

The keyword "Any" means it should apply to all objects (there's an exception: server privileges with this keyword do not apply to sybsecurity)

 

Manage Any Statistics

This permission only applies to the current database. So it has to be granted in all databases separately.

If you have this permission it's possible to run update statistics on any user table.

For updating statistics on system tables, you need to be dbo as well.

But even when you are dbo, it's not sufficient. For security related tables like: sysroles and sysprotects extra permissions are required.

Even if you can do a select * on these tables, and you have the "Manage Any Statistics" permission, it's not allowed to run the update statistics command for these tables. What is required to run update stats on these tables is permission "Update Any Security Catalog"

IMHO running update statistics is not updating the security catalog itself, so why this permission is required for update stats is a bit of a mystery to me.

 

Own any database

If you want to restrict the DBA from accessing user data, this permission is probably something to look at. Revoke it from sa_role and the login with this role lost the dbo access to the database and can't access data anymore without explicitly being granted access to it. But what's the impact of doing this? What happens if your database is nearly full? Without dbo access it's not possible to extend the database. You'll have to find other ways to handle that. (e.g. using a procedurewith  option "with execute as owner", but that's a topic for a different blog)

 

Last but not least, some commands are not working when granular permissions is enabled

E.g. dbcc printolog('Msg')

Msg 10350, Level 18, State 45:

Server 'ASE157', Line 1:

Permission related internal error was encountered. Unable to continue execution.

 

This command can be easily replaced by dbcc logprint('Msg')

But it does mean you need to test carefully when implementing new functionality like granular permissions.

Note these dbcc commands are unsupported and should be used carefully.

 

Granular Permissions gives many possibilities, but also put more responsibilities on the DBA and/or security officers to define and manage a secure and practical security configuration. It's not straightforward to define a role with exactly the permissions you need.

Webcast: Accelerating electronic patient management systems with SAP ASE 16

$
0
0

Join us for a special webcast


Spotlight on healthcare: accelerating electronic patient management systems with SAP ASE 16


Date: Tuesday, January 19, 2016

Time: 10:00 AM PST

http://event.on24.com/wcc/r/1111375/3E75B1FBEB46DD6B190202CB19C89466


UZ Leuven, the largest healthcare provider in Belgium, provides a consolidated workspace for physicians, nurses, doctors and patients using SAP ASE 16. The company utilizes their medical file system with 17 other hospitals to prevent lost medical records when transferring patients to other hospitals. SAP ASE 16 allows UZ Leuven to transparently refer patients between hospitals with the same procedures and the same quality proposal. During the webcast we’ll show you how UZ Leuven uses SAP ASE 16 to:


•Successfully manage shared databases

•Support expected growth of 50%

•Scale systems to meet demand for increasing number of users


Please join us for a webcast with Reinoud Reynders, IT Manager Infrastructure & Operations at UZ Leuven, and Ashok Swaminathan, Senior Director, Product Management at SAP, to learn how this leading healthcare provider uses SAP ASE 16 to provide superior performance for its electronic patient management

application.


Register now: http://event.on24.com/wcc/r/1111375/3E75B1FBEB46DD6B190202CB19C89466

ASE Cluster Edition 16sp01 w RDMA and ASE 16sp02 pl02 NV Cache

$
0
0

We all like to get presents for the holidays.   This year, ASE engineering came through with two that should make a lot of ASE users quite happy.

 

 

The first was ASE Cluster Edition 16sp01 on Linux.  While the main thrust of this release was to bring ASE Cluster Edition up to the ASE 16 level of functionality (and performance enhancements), there also was one of those "magic go faster" buttons added - via RDMA support.  One of the bottlenecks in any Shared Disk Cluster (SDC) is the need for the different cluster nodes to communicate between each other.  Often this coordination must be done in advance - e.g. logical or physical locks - and there is a LOT of it in any cluster.  Tons of it.   Mind boggling amounts of it.  Loosely, for ASE/CE, we referred to any and all communications beween the nodes as CIPC - or Cluster Interconnect Protocol Communications.  In the past, ASE/CE used UDP over IP as a slightly faster protocol for CIPC vs. TCP/IP.   However, whether TCP or UDP, both are packet framing protocols in which network operations move through multiple layers before finally being sent.  For ASE/CE implementations, this was often the bane of existence.  First, few OS system admins bothered to tune the network settings - and if they did, it was merely the OS kernel memory and often just for TCP vs. UDP.  Neglected was the ability to increase the hardware/NIC queue depth using ifconfig.  Worse yet, very often the private interconnects were not even set up correctly.  Enter RDMA.  RDMA is to network IO as DMA is to disk IO.  In otherwords, rather than copying memory contents repeatedly as happens with packet framing, instead the memory contents are mapped directly to the IO request.  The difference is enormous.  Whereas we usually measure network latency using TCP/IP in milliseconds, RDMA latency is often in the low 10's of microseconds.  In some cases short enough that the process doesn't even need to yield the CPU in cases of CPU threading.  RDMA can be implemented over Infiniband or Ethernet - the latter, of course, much cheaper.  Currently, ASE/CE 16sp01 only supports RDMA over Ethernet.  However, the good news for most is that for very little investment (<$10K US), you can upgrade the NICs used for CIPC and any switches from older non-RDMA supported HW to new 10GbE with RDMA support.  Current testing in engineering has shown a 35% improvement in application performance when in cluster mode, with badly partition applications showing nearly 200% performance gains.  Now the bad news:  1) This isn't to infer that ASE/CE should or could be used for horizontal scaling.  There simply are too many SDC related bottlenecks for this to work for OLTP applications we aim ASE at.  2) ASE/CE 16sp01 was only released on Linux - before you ask, I don't have dates for those of you running on AIX, Solaris SPARC or HPUX on HPIA/64.  For more information about what is new in ASE Cluster Edition 16sp01, download the ASE 16sp01 What's New guide that was published in December from http://help.sap.com/ase1601 (http://help.sap.com/Download/Multimedia/zip-ase1601/SAP_ASE_Whats_New_en.pdf)

 

 

The second present under the tree from engineering was ASE 16sp02 NV Cache.   While ASE 16sp02 was GA'd in October, there were two features in restricted release due to finalizing some usability aspects.  One of course is the HADR feature in the Always-On option - which should be unrestricted with the release of ASE 16sp02 pl03.  However, in ASE 16sp02 pl02, we moved the NV Cache feature from restricted to fully available.  The NV Cache feature leverages SSD devices to extend main memory through an industry standard technique called "SSD cache extension".  Whereas competitive offerings were limited to clean pages only and also didn't differentiate between cache hits, ASE engineering built a "smarter SSD cache".  In the case of ASE, the named caches (or default data cache) are divided into two page chains - Single Access Cache Chain (SACC) and Multi-Access Cache Chain (MACC).  The first time a page is read, it is appended to the SACC.  If the pages is read a second time while still in cache, it is then appended to the MACC.  When pages from the SACC hit the wash marker are not moved to the NV-Cache - but instead are simply discarded (if clean - if not, a write is posted then discarded once write completes).  However, when a page in the MACC hits the wash marker, it is copied to the NV-Cache.  If the page is re-read, it simply is read (and removed) from the NV Cache and placed back into the standard cache (on the MACC list obviously).  As a result, the NV Cache is more effective as it isn't filled with useless read-once-and-discard data.  In addition, the other competitive advantage to ASE's NV Cache over competitive offerings is that all writes are done via the NV Cache.  The rationale is a bit interesting.  Have you ever run a query with 'set statistics io on' and seen a lot of writes - in particular the writes increasing or fluctuating with increased concurrency on the system???  The answer is actually in the documentation.  While it *could* be sort spills or other worktable related query processing - it also *could* be the simple fact that in reading pages from disk into memory requires other pages to be pushed out - e.g. normal MRU-LRU processing.  As pages are brought into memory, your cache changes may push dirty pages already in cache through the wash marker, resulting in disk writes on tables/indexes you are not even affecting with your query - disk writes of dirty pages written to by other users.  Depending on the size of your cache (more specifically the wash size), you may have had to wait for these writes to complete before there were clean pages for you to be able to read pages from disk - called 'cache stalls'.  Admittedly, infrequent, but they do happen.  More to the point, when writing to the transaction log, any ULC flushes or commits had to wait for the actual writes to disk - which often was the biggest cause of log semaphore contention as was evident in the 'delayed commit' option implementation.  When a database is bound to an NV Cache, all writes instead happen first to the NV Cache - and then 'lazy cleaner' threads write the dirty pages to disk.  The number of lazy cleaners is configurable using sp_configure and the NV Cache supports a 'journal' which tracks the write sequence to ensure recoverability (and to denote which pages need to be written by the lazy cleaners).  Once again, early testing by our partner EMC using their XtremIO(TM) All Flash Array has shown that using these devices as NV Cache provides nearly the same performance as an all-SSD hosted database - despite using much slower HDD for actual storage.  The actual peformance numbers will be reported via a whitepaper that my colleague Andrew Neugebauer is working on with EMC.  More information on the NV Cache can be found in the ASE 16sp02 System Administration Guide volume 2, Chap 4 - Configuring Data Caches, Section 4.19 - Managing NV Cache.

 

 

....and based on the roadmap, all I can say is that next year's presents look equally attractive to speed freaks such as myself....only 340-odd days to go....

SAP ASE 16.0 SP02 documentation is now available in Japanese and Simplified Chinese

$
0
0

You can find it at http://help.sap.com/ase1602 in HTML and PDF format.

 

To access translated HTML content, open the HTML version of the book that you want to see, and use the dropdown to switch to a different language.

tr1.PNG

 

Zipped PDFs are available in the bottom of the page under "PDF Downloads".

tr2.PNG

Right here:

tr3.PNG

To repdef or not to repdef - this is the question...

$
0
0

                                                     ......And what judgment

Would step from this to this? Sense sure you have,

Else could you not have motion. But sure that sense

Is apoplexed...                                                                  

 

 

 

I am of late have been involved in a lot of tuning activity around replication server.  Lots of things to tune.  Lots of hidden moving parts.  Complex creature (although may strike as simple and straightforward in layout).  I will not involve you in all the frustrations and victories taming this beast but one simple aspect I would like to emphasize.

 

As you all probably know modern replication server is intelligent enough to work without going into the trouble of defining replication definitions for the objects to be replicated. It even no longer requires you to have your primary table indexed.  It will pull data no matter what satisfying the customers eagerness to get things with minimal configuration effort (up to the point).

 

However, I'm not at all sure that RS capability of working without replication definitions is good at all.  It is definitely very convenient - less things to mess with.  But the price is way too high for this type of convenience.

 

Consider the graphs below:  the same workload on the primary.  The same replication topology.  The only difference between the two tests is that the second test has less replication definition defined (tables with no unique indices on the primary are left as they are and hence no replication definition defined on them).

 

Left side represents the activity on the primary ASE (16.0.1.2):  The load has ended by around 4 pm.  The application of the transactions to the replicate ended around 7 pm.   There are 3 hours of latency (bad enough - but this is a non-ASO instance and no stream replication.  The primary runs the workload with up to 70 threads.  Replicate has to serialize to some extend.  Not sure the latency can be battled further...

 

PERF_GRAPHS.jpg

 

Now the same test with fewer replication definitions (still there on all tables that have unique indices, but there is ~10-15% of heaps with no unique index).  Activity on the primary stopped around 2 pm.  RS kept applying the transactions to the replicate until 6 am and beyond... 15+ hours of latency against 3 hours.  This is 5 times worse throughput for the replication server due to <15% of DMLs hitting heap tables with no replication definitions.

 

PERFGRAPHS.jpg

 

Before someone exclaims - "Yey - replicate DML table scans for each transaction - little surprise on this one" - the answer is no.  Replicate server applies transaction using indexed updates/deletes all the times.  The ONLY difference is - the size of the DML packet reaching it (heaps are indexed - having no unique clustered index does not mean the replicate will table scan).

 

A bit of explanation

 

RS architecture is pretty straightforward:  read the primary log, write into inbound queue, check who subscribes to what, move into outbound queue, distribute to the replicate.  Things are more complex than this - to be sure - but basically it moves data across its "pipes" manipulating it internally.  Here is where replication definition enters the picture.

 

Say we have a primary table:  prim_table (a int, b int, c int, &c) unique index on a.  Without replication definition a DML statement like update prim_table set b = 2 where a = 1 will reach the replicate ASE in the form of:  update dbo.prim_table set b=2 where a=1 and b=1 and c=1 &c....

Ah, there's the rub.  Even if you are "lucky" enough to set replicate_minimal_columns on on the connection level which will at least spare you the pains of bloating the packet further into update dbo.prim_table set a=1, b=2, c=3, &c where a=1 and b=1 and c=1 &c... the packet will still be filled with far less DMLs that it might have been.  Larger the commands RS moves internally - lower its throughput in the end.

 

It looks like a trifling thing - defining unique index & adding replication definition based on it as a primary key - but the price of omitting replication definition is sometimes disproportional to the effort of defining it. I really wish RS was NOT able to work without it in the first place in order not to generate the latency (and frustration associated with it) due to negligence.  But it is.

 

Other things to watch for:

 

1. You should send ONLY the columns affected by the primary DMLs to the replicate to minimize the size of the outbound queue.  However, defining replication definition with "replicate minimal columns" is NOT enough to... replicate minimal columns.  You should also add "set stanby all columns" in order for RS to actually start sending minimal set of columns across.  Pretty un-obvious (although documented).  So if you want to send ONLY the columns your primary DMLs affect specify for your rep definition that it should send all but replicate minimal.  Hm.

2.  Unfortunately, there is absolutely NO way to minimize the impact on the inbound queue.  Even though primary DML affects a  single column (as in our example), the inbound queue will still list the DML as "update prim_table set a=1,b=2,c=3,&c where a=1 &c".  I've opened a CR on this - to me it looks pretty weird that this is the default functionality for the modernized "intelligent" rep agent (autocorrection in not turned on by default anyway).  If the impact of bloating the DML on the outbound queue is SOOO bad, isn't fixing this in the inbound queue will too have a significant positive impact on RS - with minimal engineering effort?  Hm.

 

Anyway, I hope you will head the advice and define your replication definitions intelligently - with the smallest primary key possible.  It DOES matter to performance.

 

HTH,

 

Andrew

How to Find SAP Notes

$
0
0

SAP notes provide clarification on issues that occur in the code or documentation of a product. You can use them to find out how to work around issues affecting a particular release.

 

When should I use SAP Notes?

 

  • You’re considering whether to upgrade your system. Look up the SAP notes for the product version so you can plan around any issues impacting it.
  • You’re seeing new error messages after upgrading your system. Look up SAP notes with the error message to find out how to work around the issue.
  • You’re stuck on a particular task even after reading the documentation. Look up SAP notes for the product that may include information missing from the documentation.
  • You're just not sure a feature is working correctly. Look up SAP notes with a feature keyword to find any information about reported issues and how to resolve them.

 

Where can I find SAP notes?


  1. Go to the Support Portal.
  2. Select Knowledge Base & Incidents from the menu at the top of the screen, then SAP Note & Knowledge Base Article Search.
  3. Click the Launch the SAP Note and KBA search button.
  4. Enter the product name in the Search Term field to find all notes for that product.
  5. Alternatively, if you know the number of the note you’re looking for, type it in the Number field in the top right corner.

blog1_1.png

    6. If you need to narrow down your search results, include the Product Version.

blog1_2.png

Let us know!

 

What has your experience been with SAP notes?

 

Have you had issues looking them up? Do you find the content helpful or do you think it could be improved?

 

Feel free to post any comments or feedback about SAP Adaptive Server Enterprise SAP notes.

Overview of Workload Analyzer


Overview of MemScale

$
0
0

SAP ASE 16.0 SP02 introduced MemScale option including performance-driven technologies. See this video for an overview of the features introduced. The video is also posted on YouTube at https://www.youtube.com/watch?feature=em-subs_digest&v=wAIPRbbrOdc&app=desktop

 

For official feature documentation, see http://help.sap.com/saphelp_ase1602/helpdata/en/96/81ed472d79420ea35212a48d952925/content.htm?frameset=/en/f3/f98e555cf04bd6b4248a29db3d9973/frameset.htm&current_toc=/en/f3/f98e555cf04bd6b4248a29db3d9973/plain.htm&node_id=5

SAP HANA Cloud Platform (HCP) – SAP Adaptive Server Enterprise Persistence Instance (Part 2)

$
0
0

While Part 1 of this sequence provided an introduction to the SAP ASE Persistence (DBaaS) Service this post will provide an introduction to the HCP Cockpit experience in the form of a walk-through.

 

On-line Access to the SAP ASE Persistence (DBaaS) Service


The SAP ASE Persistence (DBaaS) Service home can be accessed via a Web Brower. This home link will take the user to the following page as shown in Figure 1 below.

hcp_2_1.jpg

 

                                                                    Figure 1

 

In Figure 1 there are two circled (red) clickable buttons. The Trial SAP ASE (green) button will provide a trial registration form to gain access to the SAP ASE Persistence (DbaaS) Service. Once this is submitted the registrar will provide the access credentials for the Trial Account. The Launch HCP (blue) button will log the user into the HCP cockpit for trial or production Administration and Monitoring. NOTE: This self-serve is planned effort. As noted in Part 1 the access to the HCP for the SAP ASE Persistence Service (DBaaS) is via the Account Executive.

 

A Quick Start walk-through


Upon a successful login the HANA Cloud Platform (HCP) user experience will be driven be a HCP Cockpit console as seen in Figure 2 below. This Dashboard landing view will display a summary of all user deployed applications and account summaries.

hcp_2_2.jpg

 

                                                                                      Figure 2

 

The HCP Navigation Options in Figure 2 are explained in Table 1 below.

 

Navigation

Description

Dashboard

Dashboard home

HANA InstancesRunning or configured HANA instances
HANA XS ApplicationsUser HANA Extended Services Applications
Java ApplicationsUser Java Applications
Databases & SchemasUser Databases and Schemas
HTML5 ApplicationsUser HTML5 Applications
DestinationsExternal Applications Connectivity
ConnectivityOn-premise secure connectivity
SubscriptionsSubscription to Available Applications
ServicesHCP Cloud Services
MembersAccount Membership
TrustIdentity Federation
AuthorizationsClient Access Authorizations
OAuthOAuth Based Client Access
Document RepositoriesStorage for Documents
Git RepositoriesAccess to Git Storage
ResourcesNetwork, Compute, Storage
AccountAccount Management

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                

 

 

 

 

 

 

 

                                  

 

 

                              

 

 

                               

 

 

                                      

 

                                         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                  Table 1

 

The Account navigation button will take the user to the Account Management screen as shown below in Figure 3, where the user (with the appropriate privileges) can administer or manage groups and membership, including access control privileges.

hcp_2_3.jpg

 

                                                                                 Figure 3

 

The Databases & Schemas button will take the user to the Database Administration page as shown below in Figure 4, where the user (with appropriate privileges) can create and administer Databases and Schemas.

hcp_2_4.jpg

 

                                                                                    Figure 4

 

A User (with appropriate privileges) can click the New tab to create a new database. On clicking the New tab the Cockpit interface will display a form as shown in Figure 5 below, for the creation of a new SAP ASE Persistence Service (DBaaS).

hcp_2_5.jpg

 

                                                                                        Figure 5

 

The User can fill in the information and then click the Save button to create the instance or Cancel button to cancel the operation. Once filled in and Saved, HCP will create the instance, as shown in Figure 6 below, the "testinstance" has been created.

hcp_2_6.jpg

 

                                                                                      Figure 6

 

The View Requests button in Figure 6 lists out a trail of operations, as shown in Figure 7 below.

 

hcp_2_7.jpg

 

                                                                                 Figure 7

 

The HANA Cloud Platform (HCP) provides a rich set of tools to work with the platform and user deployed databases and applications, as shown in Table 2 below.

 

Tool

Description

Cockpit

This is the central point for managing all activities associated with your account and for accessing key information about your applications.

SAP Web IDE

This is a cloud-based meeting space where multiple application developers can work together from a common Web interface — connecting to the same shared repository with virtually no setup required. SAP Web IDE allows you to prototype, develop, package, deploy, and extend SAPUI5 applications.

Maven Plugin

It supports you in using Maven to develop Java applications for SAP HANA Cloud Platform. It allows you to conveniently call the console client and its commands from the Maven environment.

SAP HANA Cloud Connector

It serves as the link between on-demand applications in SAP HANA Cloud Platform and existing on-premise systems. You can control the resources available for the cloud applications in those systems.

SDK

It contains everything you need to work with SAP HANA Cloud Platform, including a local server runtime and a set of command line tools.

Eclipse Tools

This is a Java-based toolkit for Eclipse IDE. It enables you to develop and deploy applications as well as perform operations such as logging, managing user roles, creating connectivity destinations, and so on.

Console Client

It enables development, deployment and configuration of an application outside the Eclipse IDE as well as continuous integration and automation tasks.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                  Table 2


Resources

 

Tools and Documents:

https://help.hana.ondemand.com/help/frameset.htm?abcae5b568c94e5391a74d15f5db9213.html

 

Other HCP Links:

http://hcp.sap.com/capabilities/data-storage/ase-dbaas.html

https://help.hana.ondemand.com/

Endless loop in ase16sp02 install (stuck on Installing character set 'cp850')

$
0
0

Hi,

 

The install is running almost 3 hours and I copy the log as for the moment, at the end of this post.

 

I am trying to install SAP-ASE 16 SP2 on an Acer laptop Aspire V 15 Nitro with OS Microsoft Windows 10.

Intel Core i7-5500U 2.4GHz / 8GB DDR3 L / 1TB hard drive.

 

It is for evaluating and eventually developing a system (free install).

 

I left almost everything as default including 4k page size and only raised the device size of master and sybsystemprocs, rising the size of the corresponding databases too.

Did the same with tempdb, but I think I am stuck in an endless loop with almost 95 character set installations.

The previous attempt where I also changed the language and the character set, ended up in the same problem and I aborted it (yesterday).

 

I searched the posts with "install", "character" and "ASE16sp02" tags not finding anything similar. I skeemed the first 6 pages of posts not finding anything related, but obviously not all the pages.

 

Regards,

 

Thomas Magdahl

 

********************** LOG *************************************************************************************************

 

The log file for this session is 'D:\Thomas\Data\Megalux\Sistemas\DataBase\ASE-16_0\init\logs\log1125.001'.

Warning: You have selected '4k' as the logical page size for the SAP Adaptive Server Enterprise. If you plan to load dump from another database, make sure this logical page size matches the size of the source database. The default logical page size in previous SAP Adaptive Server Enterprise versions was 2KB.

Running task: update SAP Server entry in interfaces file.

Task succeeded: update SAP Server entry in interfaces file.

Running task: create the master device.

Building the master device

..Done

Task succeeded: create the master device.

Running task: update SAP Server entry in registry.

Task succeeded: update SAP Server entry in registry.

Running task: start the SAP Server.

waiting for server 'MGLX_ASE_01' to boot...

Task succeeded: start the SAP Server.

Running task: set System Administrator's password.

Task succeeded: set System Administrator's password.

Running task: create the sybsystemprocs database.

sybsystemprocs database created.

Task succeeded: create the sybsystemprocs database.

Running task: install system stored procedures.

Installing system stored procedures : 10% complete...

Installing system stored procedures : 20% complete...

Installing system stored procedures : 30% complete...

Installing system stored procedures : 40% complete...

Installing system stored procedures : 50% complete...

Installing system stored procedures : 60% complete...

Installing system stored procedures : 70% complete...

Installing system stored procedures : 80% complete...

Installing system stored procedures : 90% complete...

Installing system stored procedures : 100% complete...

Task succeeded: install system stored procedures.

Running task: set permissions for the 'model' database.

Task succeeded: set permissions for the 'model' database.

Running task: set local SAP Adaptive Server Enterprise name.

Task succeeded: set local SAP Adaptive Server Enterprise name.

Running task: set the XP Server for the SAP Adaptive Server Enterprise.

Task succeeded: set the XP Server for the SAP Adaptive Server Enterprise.

Running task: update XP Server entry in registry.

Task succeeded: update XP Server entry in registry.

Running task: create temporary database.

Task succeeded: create temporary database.

Running task: set optimization goal.

Task succeeded: set optimization goal.

Running task: install a character set(s).

Installing character set 'cp850'

Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

.........Installing character set 'cp850'

Getting started after installing SAP ASE 16.0 SP02 on Windows

$
0
0

You can download SAP Adaptive Server Enterprise from the SAP Software Download Center http://https://support.sap.com/software.html?url_id=tile_download_software.

 

The steps below assume that you have chosen default settings during installation.

 

Start and Stop Servers

After you install your ASE on Windows, you can start and stop your server in your local services (just search for “services” on your computer and click on “View local services”).


Or you can start the server using RUN_<server_name> files.

Access SQL Console

There are two ways to access the SQL console.

You can log in to the isql console from the command prompt using “isql –U<username> -P<password> -S<your_server_name>”. The default user is "sa".

You’ll see 1> in the next line if login is successful.

 

Try making a simple query to the sample database pubs2:

Use “exit” to exit the isql console.

 

For Interactive SQL console, open Interactive SQL app or run dbisql.exe from SAP\DBISQL-16_0\bin.

To test it, select a sample database in the top right corner and make a simple query. Click the play button to see query results.


 

Logging in to Cockpit

To access cockpit (a web-based management and monitoring tool), make sure that COCKPIT-4 is running in your local services (it should have been started automatically by the installer). If it's not running start it from your local services or by running cockpit.bat from SAP/COCKPIT-4/bin.

Then, in your browser, type https://<hostname>:4283/cockpit. This assumes that during installation you chose the default port 4283.

You'll need to continue to the website, even if your browser doesn't recommend it. The default user is "tech_user".

After you log in, you should see the "Monitor" screen:

Captu34re.PNG

 

Leave a comment if this post was helpful or to let me know how I can improve it.

execute as owner restricted

$
0
0

Since ASE 15.7 it's possible to create stored procedures with option "execute as owner"

 

Which is quite a nice feature, e.g. to allow a user to unlock a login without having sso_role, you simply create a procedure like this

 

create procedure sp__locklogin  @login  varchar(30) = null, @action varchar(10) = null

with execute as owner

as  exec sp_locklogin @login, @action

 

Normally you would use the sa login to create this procedure in sybsystemprocs and grant execute permissions to a user defined role.

Grant the user defined role to a login, and that login can lock or unlock any other login wihout having sso_role

 

However, this feature presented a big security loop hole....

Just having a dbo alias in database sybsystemprocs allows you to create any procedure with execute as owner and executing it as the sa login, e.g.

create procedure sp_myproc  @cmd varchar(500)

with execute as owner

as  exec (@cmd)

 

With the latest patch level SP136 for ASE 15.7 (and latest patch level for 16.0) this security hole has been partly fixed. (See KB 2202914)

When impersonating the database owner, via a dbo alias or via setuser, it's not possible anymore to refer to objects outside of the database when using option "with execute as owner". Instead you'll have to create the object with the database owner itself.

(Creating the proc sp_myproc, executing any SQL statement as login sa, is still allowed)

 

Example of what will fail

use a login having sa_role (not sa), which gets dbo alias in sybsystemprocs

 

create proc sp__listen

with execute as owner

as select * from master..syslisteners

go

Msg 16367, Level 16, State 1:

Server 'ASE157', Procedure 'sp__listen', Line 1:

EXECUTE AS OWNER procedures cannot be created by an alias or with the SETUSER command when the procedure has SQL statements hat reference objects across databases. Create the procedure from a non-impersonated session.

 

The only way to get this procedure created is using the sa login itself.

(Of course the same result can be achieved by executing sp_listener from sp__listen, but that's not the point)

 

Error 16367 is also produced at other times, e.g. when running installmaster.

This must be executed using the sa login, because several procedures for sp_sysmon rely on this feature (KB 2183652) and can now only be installed by sa

 

In many environments the sa login is locked out for security reasons

Do you want to unlock the sa login just to deploy a stored procedure in sybsystemprocs?

Viewing all 173 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>