Archive for the ‘Database’ Category

Migrating SAP Sybase ASE from AIX to Linux

May 1st, 2013 No comments

Always consider to migrate the Development environment first , then UAT. Before moving to production Perform Regression testing on UAT enviornment.

Please consider to create the script to perform update stats,xp_postload(drop and re create index) for each and every database.

Steps for an ASE Database( You can repeat same steps for other databases) :

Step 1: Run the consistency checks in ASE database in Source (AIX) environment, to make sure that everything is fine.

Step 2: Put the database in single user mode.

Step3: Make sure there is no user activity on the Source Database .

Step 4: Run the sp_flushstats in the database.

Step 5: Take the backup of the database in Source (AIX) environment.

Step 6: Ftp the Files to Target environment. (AIX to Linux)

Step 7: Create and build the dataserver and databases in target Linux environment with exactly same configuration.
You might require to change some of the config param in Linux environment for performance point of view. ( Lets not discuss it here, as it is out of context).

Step 8: Also migrate the Login, roles from source server to target server

Step 9: Load the database in Linux environment.
(If there were user activity during dump process, load will be fail.)

Step 10: Online the database. If the target ASE version is new with source, It will also perform upgrade in this step.

Step 11:  Fix the corrupt indexes using the xp_postload. If the Database size is more than 20G, try drop and re-create index , in this case xp_postload would not be effective.

Step 12: Update the stats on all tables.

Step 13:  If there is replication setup in your environment, please setup replication after that.

Issue Faced:

1. If there is any user online during backup process, your load will fail( in the step for cross platform conversion).

2. After online database, we seen the -ve values in sp_helpdb output for few databases. There are two ways to fix this :

i) Try to run dbcc

dbcc usedextents(<DB name or DB ID>, 0, 1, 1)

ii) Use the Traceflag  7408 and 7409 in Run Server file and reboot the instance. It will not take much time as compare first option.

Traceflag 7408 : Force the server to scan *log segment* allocation pages; to recalculate free log space rather than use saved counts at boot time.
Traceflag 7409 : Force the server to scan *data* segment allocation pages; to recalculate free data page space rather than use saved counts at boot time.

Please let me know if you are planning for migration and need any assistance.

SAP Sybase ASE Q&A Bank

April 29th, 2013 1 comment

Wait is over Now !! 

Please download the Complete ebook for SAP Sybase ASE Q&A Bank Version 1.0  as below:















Introducing SAP Sybase IQ 16 : Extreme Delivery

March 3rd, 2013 No comments

Newest Features

For those who are familiar with earlier versions of Sybase IQ, here are the new features added to from SAP Sybase IQ 15.

  • Performance enhancements: The column store engine has been enhanced with extreme compression capabilities that improve I/O rates and reduce the amount of data to be stored on disk.
  • High-speed data loading: High-performance data loading ingests large amounts of data faster than ever — from terabytes to petabytes — making big data available to applications and people faster.
  • Improved scalability: Key improvements maintain high performance and efficiency for the growing volume of unpredictable, user-driven analytic workloads.
  • Data protection: Administrators have further options for protecting the security of enterprise systems.
  • Heightened availability: Enhancements help ensure that enterprise data is always available to business-critical analytics and dashboards.




Big Data tools cost too much, do too little:SHOCKING REVELATION!!!

March 3rd, 2013 No comments


Big data is a necessity at scale: if you’re trying to listen to every transatlantic phonecall, you need to use MapReduce. … if you need to search the entire internet in milliseconds you need to use MapReduce, if you need to run the largest social network in the world you need to use MapReduce. If you don’t you can probably scale with a database.

Full Story @


How to lock last login with “sa_role” role

February 24th, 2013 No comments

By default ASE doesn’t allow  to lock last unlocked login that have sa_role/sso_role role. However, it can be locked if a role has explicit password set to enable the role while login.

If a role is altered to have a limitation on failed attempts, and a login attempts to enable the role and fails the required number of times, the role is locked for all holders of the role.  Likewise, since we can’t explicitly lock the last unlocked login with sa_role or sso_role, it is possible for failed login attempts to indirectly lock that login.


February 22nd, 2013 No comments

Sybase DBA Commands:  SybaseDBA_commands

Sybase DBA Notes: Sybase DBA ImportantNotes


Please let us know, if you have any query.

Categories: ASE, Database Tags:

What is SAP HANA?

February 18th, 2013 No comments

SAP HANA can be defined as an appliance that combines SAP software components optimized on hardware provided by SAP’s leading hardware partners.  It comes in a bundle of softwares along with the hardware (servers). SAP HANA servers are sold in “t-shirt” sizes ranging from Extra-Small (128GB RAM) all the way up to Extra Large (>2TB RAM) with multicore CPUs.

SAP HANA is both a database (in the traditional sense) and a database platform (in the modern sense).

In its current form SAP HANA can be used for four basic types of use case:

1. Agile Data Mart (Stand-alone database for reporting)

2. SAP business suite accelerator (secondary database for SAP business suite for reporting, calculation and analysis purpose)

3. A primary database for SAP Netweaver warehouse.

4. A development platform for new applications


Source: SAP

Categories: ASE, Database, Developement, HANA, SAP Tags: , , ,

Column Based Search

February 17th, 2013 No comments

To store a table in memory, two option exists: 1. Row based storage and 2. Column based storage.

In row based storage, A table is stored as a sequence of records, i.e. one full row in a data page/or consecutive data pages. It means all columns values of a table stored sequentially per row.

In column based storage, column values of a column are stoger in contiguous memory location.

Advantages of column based table storage in following circumstances

1. Calculations are typically executed on a single column or few columns only.

2. Table is searched based on values of a few columns.

3. Table has large number of columns.

4. Table has large number of rows, so that columnar operations are required (aggregate, scan etc)

5. High compression rates can be achieved because the majority of the  columns contain only few distinct values (compared to the number of rows)

Advantages of row based storage in following circumstances

1. The application needs to only process a single record at one time. (This applies to many selects and or updates of single record)

2. The application typically needs to access a complete record (or row)

3. The columns contain primarily distinct values so that compression rate would be low.

4. Neither aggregations nor fast searching is required.

5. The table has small number of rows (e.g. configuration tables)


Source: SAP

Top Five Reasons to Choose SAP Sybase ASE

February 13th, 2013 No comments




Categories: ASE, Database, HANA, SAP, Start Sybase Tags:

How to handle the database objects security in database through stored procedures

February 13th, 2013 No comments

Case: An user X owns a stored procedure that access a table owned by another user Y, and that table has a trigger that updates another table owned by user Z

Clumsy Solution –> Grant explicit permissions to user X on table1 and table2, similarly grant execute permissions and table access to users Y and Z. In a production environment think of many users available in a database and thousands of objects, it is not possible.

Good Solution –> Create all objects with dbo user and provide execute permission ONLY on stored procedures to user X, thus when user would execute the stored procedure, SP would be able to modify the table1 and trigger on table1 would be able to modify tabl2, though explicit access on tables have not been granted to user X. This is how stored procedure maintain the security features. User X shall not be able to access table1 and table2 explicity but stored procedure run by user X can modify those tables.

This is how objects gets created in production environment.