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

Re: I have question about Sybase ASE 15.7 Partitioning

$
0
0

Hi Mark,

So, I retried as per your suggestion, and I'm still seeing my problem.  Maybe it's works differently with ASE 15.7 SP132.   Attached is a log named beforeindex.txt.   In this log, I have created the audit_event partition/table and performed a sp_help audit_event.  You can see the partitions are in the various segments.  Attached is a log named afterindex.sql.  This is what I see after I run the modified index DDL that reflects similar to how you created your indexes.  I now see the partitions for the audit_event table belong to the index_infraseg segment, and no longer belong to the segments that are specified in the create table DDL.  Sigh.....

Maybe I'll try just running your scripts.  Since I have been looking at this for so long, I may be overlooking something trivial.  But I am content to have the index partitions along with the table partitions in a specified segment.  I may just dump my original design, and go with that.

 

thanks again for all your help.


Re: I have question about Sybase ASE 15.7 Partitioning

$
0
0

Hi Mark,

I am new to this site, and so I am struggling to figure out how to add an attachment.  Sorry!

I just figured it out, and have made edits to this thread since then.

 

In the helpbefore.out file, there is the DDL for the table partition audit_event and output from sp_help audit_event.  In this output, you can see the table partitions belong to the various segments that span across multiple devices.  At this point, the audit_event table/partition has no indexes defined.  In the helpafter.out file, there is the DDL for the indexes on the audit_event table, and output from sp_help audit_event.  In this output, you can see the table partitions now belonging to the segment that is assigned to the indexes - index_infraseg.

 

However, if you look at the index DDL, you can see that I was specifying the segment name prior to the local index partition clause.  So, you will see an extra "ON index_infraseg" before the local index statement.  I'm wondering if this is the culprit.  I am going to remove that statement and try again.  I'll post shortly my results. Thank you so much for your assistance.

Lisa

Re: I have question about Sybase ASE 15.7 Partitioning

$
0
0

OK, I see the issue ...

 

In your first post you mentioned the 'create table' and 'create nonclustered index' commands, but you forgot to mention that you were also issuing a 'create clustered index' command, and it's this 'create clustered index' command that's causing your data partitions to move to the undesired segments.

 

NOTE: You did mention the clustered index in your second post but I completely glossed over that as I only saw one 'create index' command and figured it was the same 'create nonclustered index' command from your first post.

 

Even though you've created the table to use datarows locking, the 'create clustered index' command (emphasis on *clustered*) will still copy the table, and while the copied table will maintain the same data partitions you will lose your previous partition-to-segment bindings in lieu of whatever partition-to-segment bindings are suggested in the 'create clustered index' command.

 

Unfortunately the 'create clustered index' command doesn't have a way to designate a different set of partition-to-segment bindings for a) the data partitions vs b) the index partitions; net result is the data partition gets copied to the same segment as the associated index partition.

 

You can see this behavior in your sp_help output ...

 

From your 'before' sp_help output:

 

- table was created @ 1:19PM

- event* (data) partitions were also created @ 1:19PM

 

From your 'after' sp_help output:

 

- table was created @ 1:19PM

- indexes were created @ 1:45PM

- index partitions were created @ 1:45PM

- event* (data) partitions now show a create time of 1:45PM (ie, copied/moved in conjunction with the 'create clustered index' command)

 

If you were to run your script again but change the clustered index to nonclustered (or leave out the clustered index), you should see that your data partitions still reside on the data segments while the index partitions reside on the index segments.

 

At the moment I'm drawing a blank as to how you might create a clustered index on a partitioned table such that the data partitions reside on different segments than the associated index partitions.

Upgrade from ASE SBE to ASE Adge

$
0
0

On this site anonced New: SAP ASE Edge Edition for Small and Medium Businesses

Is this mean than it's replaces old SBE, so if I get SBE license & support I can get Edge license?

On another document  http://www.sap.com/bin/sapcom/en_us/downloadasset.2012-08-aug-13-07.sap-sybase-adaptive-server-enterprise-editions-pdf.h…

- the same info - REPLACE, not extend/enlarge?

 

or this info is correct? (reseller answer)

 

ASE SBE does not change ASE Edge Edition. This is a separate line item and revision in the price list.

ASE SBE has not stopped its existence (not END of Life) - supported and sold.

Driving license from ASE SBE and Edge is different.

The word "replaces" in the news on the forum should be understood as "continuing".

 

Best regards,

Viktor

problem with LDAP login

$
0
0

Hi all,

 

I have an application from which i am trying to connect to Linux ASE-16.

 

when I use the option "authenticate with","ASE"..I am able to connect to the server, but,  when i am trying it with "authenticate with","LDAP"..i am getting a connetion error.

 

i have set the LDAP URL, DN LOOKUP URL and also ACCESS ACCOUNT.

 

but still i am not able to login.

 

With the same LDAP url I am able to login from the production server.

 

This is a local replica of that i am trying with.

 

can anyone suggest what is it that I am missing.

 

any reference on this would also be of great help

Re: I have question about Sybase ASE 15.7 Partitioning

$
0
0

Ah....

And, when I capture query execution plans, the optimizer tends to favor the clustered index with respect to the types of queries we are writing, and so far I am seeing great performance with large data sets.  So I would prefer to keep my clustered index.

 

Thank you for all of your assistance.  You have been extremely helpful!!!

Lisa

Re: I have question about Sybase ASE 15.7 Partitioning

$
0
0

Hi Mark,

One more quick question....hopefully...

 

Would you recommend putting the local index into the same partition as where the data is going?

 

For instance, I have the audit_event table partitioned with a partition name of event_M72015 that represents data for the month of July, and resides in segment infraaudit2015seg.

 

If I create a local index on the audit_event table, and provide it with the same partition name of event_M72015 and segment name infraaudit2015seg, I am then assuming that both the index and data will reside in the same partition and segment.

 

I'm worried that this may not be good for performance and I/O operations.  I have read Sybase documentation and some technical white papers, but none of them talk specific about isolating the indexes from the data in separate partitions.  I could of missed it somewhere though.....

 

So I'm considering placing the index into a separate partition name, but same segment.  So for example, the local index would be in the idx1_event_M72015 partition (a new partition for the index), but the same segment of infraaudit2015seg.

 

Appreciate any thoughts on the matter!  thanks!

Lisa

Re: I have question about Sybase ASE 15.7 Partitioning

$
0
0

re: putting data/index in same partition (aka, re-using partition names) ...

 

If you take a look at syspartitions you'll see it has a unique index on:

 

   id, indid, (partition) name

 

So while you can certainly re-use a partition name across different tables/indexes, behind the scenes you'll still be creating *different* partitions.

 

Also keep in mind that each data and index partition will have its own space allocated to it ... one extent at a time ... and with each partition having its own oam page chain.  You can also see this in syspartitions where there are 2 columns that act as pointers to oam page chains:

 

- datoampage = pg # for object allocation map of a data partition

- indoampage = pg # for object allocation map of a data partition

 

You should find that your syspartitions records will show either a datoampage value or a indoampage value, but not both (*).

 

(*) - the exception would be indid=1 (clustered index on APL table) which will have (different) page numbers assigned to datoampage and indoampage

 

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

 

re: 'best' performance ...

 

"It depends" (come on, you had to know that was coming, right? :-)

 

Partitions provide the ability to conduct some maintenance operations (eg, reorg, update stats) at the partition level thus (potentially) reducing maintenance windows.

 

Partitions require the optimizer to spend a bit more time on partition elimination, which may or may not be an issue depending on how often you need to perform partition elimination during a process.

 

If you have a lot of partitions spread across a lot of disks, but you normally process/touch-on just a small number of partitions, then you end up with a lot of partitions (and thus disks) that aren't being utilized.  In this case it may be desirable (?) to maintain the partitions but with fewer segments and/or disks (with the general idea being that few disks are left idle during periods of processing requiring a large volume of IOs).

 

And of course there's a gaggle of (potential) performance issues related to number of segments, number of devices, type of OS devices (FS vs raw vs RAID XXX vs cached vs ...), etc.  And don't forget the ongoing (space) management issues with making sure all those segments have plenty of free space for day-to-day/maintenance operations.


Although "trunc log on chkpt" is active, log transaction grows (SAP ASE 16)

$
0
0

Hi community,

 

We have a problem 1 hour after running a batch working with Adaptive Server Enterprise/16.0 SP01 PL01/EBF 24358, AIX 6.1.

The batch is running in parallel (Differents connections running stored procedures updating data)

After 1 hour the transaction log begins to grow even though the "trunc log on chkpt" in the database is active and there is not long transactions (syslogshold).

The behavior during the first hour is normal, I can see the log is truncated every 1 minute, but after 1 hour, when the problem comming up,

the server begins to present an irregular behavior.

 

1. We can't not return information from MDA tablas (Error: 11223, Severity: 16, State: 9)

  00:0009:00000:00121:2015/07/07 11:51:02.29 server  Error: 11223, Severity: 16, State: 9

  00:0009:00000:00121:2015/07/07 11:51:02.29 server  Insufficient memory is available to allocate structures needed to access a remote site.

 

2. We can't execute some stored procedures like (sp_helpsegment)  Error: 2753, Severity: 20, State: 1

  00:0009:00000:00121:2015/07/07 11:51:02.28 server  Error: 2753, Severity: 20, State: 1

  00:0009:00000:00121:2015/07/07 11:51:02.28 server  Received an error code of '-158' from 'intl_strblist()'.

 

3. We can't execute sp_sysmon  (doesn't work).

 

4. We have only one option to trunc the log (executing a "dump tran with truncate only"). The "trunc log on chkpt" doesn't work anymore.

 

The same batch works very well with 15.0.3 and 15.7 versions, finish without problems.

 

Thanks.

 

Juan Carlos.

SQL-error "14217-[ASE Error SQL14217] - SPAM IMPORT

$
0
0

Hi experts,

 

Watching logs in usr/sap/trans I found this

 

3 ETP361 "0" Shadow-Nametabs activated, DDL executed

3 ETP362 "0" Shadow-Nametab activations failed

2 ETP360 Begin: Act. of Shadow-Nametabs with DDL ("2015/07/12 11:59:25")

2 ETP363 End  : Act. of Shadow-Nametabs with DDL ("2015/07/12 11:59:25")

2 ETP301 ----------------------------------------------------------------------

2 ETP301 ----------------------------------------------------------------------

2 ETP360 Begin: Act. of Shadow-Nametabs with DDL ("2015/07/12 11:59:25")

2 ETP301 ----------------------------------------------------------------------

2 ETP000   processing modeflag 'V'

2 ETP301 ----------------------------------------------------------------------

2 ETP330XActivation of Shadownametabs with DDL

2 ETP301 ----------------------------------------------------------------------

3 ETP379X11:59:25: activating Nametab "DEMO_CDS_SQLFUNC":

3 ETP355XCDS View statements:

3 ETP000 CREATE VIEW "DEMO_CDS_SQLFUNC" AS SELECT "DEMO_EXPRESSIONS"."MANDT"

3 ETP000 AS "MANDT", CAST( ABS( "DEMO_EXPRESSIONS"."NUM1" ) AS int) AS

3 ETP000 "ABS_NUM1", cast( ceiling( "DEMO_EXPRESSIONS"."FLTP1" ) as int) AS

3 ETP000 "CEIL_FLTP1", FLOOR( "DEMO_EXPRESSIONS"."DEC1" ) AS "FLOOR_DEC1",

3 ETP000 cast( ( "DEMO_EXPRESSIONS"."NUM1" / "DEMO_EXPRESSIONS"."NUM2") as int)

3 ETP000 AS "DIV_NUM1_NUM2", case "DEMO_EXPRESSIONS"."NUM2" when 0 then

3 ETP000 "DEMO_EXPRESSIONS"."NUM1" else ( ( "DEMO_EXPRESSIONS"."NUM1" ) % (

3 ETP000 "DEMO_EXPRESSIONS"."NUM2" )) end AS "MOD_NUM1_NUM2", ROUND( (

3 ETP000 "DEMO_EXPRESSIONS"."DEC2" / "DEMO_EXPRESSIONS"."DEC3"), CAST( 3 AS

3 ETP000 TINYINT)) AS "DVISION_DEC2_DEC3", CAST( ROUND(

3 ETP000 "DEMO_EXPRESSIONS"."DEC3", CAST( 2 AS TINYINT) ) AS decimal(

3 ETP000 000011,000003)) AS "ROUND_DEC3", SAPSR3.SAP_CONCAT(

3 ETP000 "DEMO_EXPRESSIONS"."CHAR1", "DEMO_EXPRESSIONS"."CHAR2" ) AS

3 ETP000 "CONCAT_CHAR1_CHAR2", SAPSR3.SAP_LPAD( "DEMO_EXPRESSIONS"."CHAR1",

3 ETP000 CAST( 10 AS TINYINT), 'x', ' '

3 ETP000 ) AS "LPAD_CHAR1", SAPSR3.SAP_REPLACE( "DEMO_EXPRESSIONS"."CHAR2",

3 ETP000 'GHI', 'XXX' ) AS "REPLACE_CHAR2", substring(

3 ETP000 "DEMO_EXPRESSIONS"."CHAR2", CAST( 2 AS TINYINT), CAST( 3 AS TINYINT)

3 ETP000 ) AS "SUBSTRING_CHAR2" FROM "DEMO_EXPRESSIONS" "DEMO_EXPRESSIONS"

3 ETP000 

2WETP000 11:59:25: Retcode 1: error in DDL statement for "DEMO_CDS_SQLFUNC              " - repeat

2EETP345 11:59:37: Retcode 1: SQL-error "14217-[ASE Error SQL14217][SAP][ASE ODBC Driver][Adaptive

2EETP345 Server Enterprise]SQL function not found. If you are attempting to call a java UDF, Java s

2EETP345 ervices are not enabled.

2EETP345 " in DDL statement for "DEMO_CDS_SQLFUNC              "

2 ETP000  --------------- DB-ROLLBACK() ---------------

2EETP334 11:59:37: error in DDL, nametab for "DEMO_CDS_SQLFUNC" not activated

2 ETP301 ----------------------------------------------------------------------

3 ETP361 "0" Shadow-Nametabs activated, DDL executed

2 ETP362 "1" Shadow-Nametab activations failed

2 ETP360 Begin: Act. of Shadow-Nametabs with DDL ("2015/07/12 11:59:25")

2 ETP363 End  : Act. of Shadow-Nametabs with DDL ("2015/07/12 11:59:37")

2 ETP301 ----------------------------------------------------------------------

2 ETP301 ----------------------------------------------------------------------

 

Any clue?

reorg to remove forwarded rows on partitioned tables

$
0
0

We have a datarows locked table with partitions. We have 3 indexes on the table

     1 unique clustered (local)

     2 non-unique non-clustered (1 local and 1 global)

 

systabstats shows one of the partitions has forwarded rows and deleted rows...

ie

        select  object_namests.id, sts.indid, sp.name, sts.forwrowcnt, sts.delrowcnt

        from    systabstats     sts,

                syspartitions   sp

        where   sts.partitionid = sp.partitionid

gives

                                     indid                       forwrowcnt           delrowcnt

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

      ETP                                 0 p20                         111260.000000        555628.000000

 

I ran

     reorg reclaim_space ETP partition p20

and the delrowcount reduced

 

I tried

     reorg forwarded_rows ETP partition p20

but the forwrowcnt remained the same.


I tried running this on all the partitions - no change.


I tried

     reorg rebuild on the clustered index partitions  (didn't expect this to work but tried it just in case)

I tried

     update statistics - just to check

 

Nothing I've tried will remove the  forwrowcnt          

 

Am I doing something wrong ?

Is a rebuild on the whole table the one way to remove the forwarded rows ?

Its a large table so not easy to do this.

How to see partitions with partial indexes

$
0
0

How can you see partitions with  partial indexes ?

 

I've created partial indexes but can't see how to check the partitions that have them.

sp_help just says "Partial Index" after it.

 

This says

Partial Index - ASE 15.7 SP130 - SAP ASE - SCN Wiki

you can get it from status3 column using status3 & 256

 

I've used this query

 

select  sp1.indid, sp1.partitionid, sp1.name, sp2.name

from    sysindexes      si,

        syspartitions sp1,

        syspartitions sp2

where   si.id     = sp1.id

and     si.indid = sp1.indid

and     sp1.data_partitionid = sp2.partitionid

and     si.status3 & 256 != 0

 

Note: don't use "si.status3 & 0x100 != 0" on little endian machines !!!! you have to use si.status3 & hextoint("0x100") != 0.

Re: How to see partitions with partial indexes

$
0
0


Hi Mike,

 

To check if the index is a partial index, use "sysindexes.status3 & 256 = 256"

 

In general, it is best not to mix datatypes when using the bitwise operators.  The

docs indicate they are to be used with INTs, and that is the safe way to write it
for code that will be portable across big- and little-endian architectures.


I've rewritten the wiki page.

 

Cheers,

-bret

Re: Access denied for error log

$
0
0

As I recall, this was implemented in one of the early ESDs/SPs of ASE 15.7 as a security enhancement to prevent unauthorized users (remember a Windows admin is not necessarily an ASE sa) from learning details of a running ASE process.

 

You can try selecting from the monErrorLog MDA table to read the errorlog.  The configuration parameters 'errorlog pipe active' and 'errorlog pipe max messages' can be used to control the number of errorlog messages retrieved using this method.

 

There is also a method of reading the errorlog using CIS that is documented that might be of use:

File access

 

 

Also, as this is Windows, have you tried using Windows Event Logging?

Log Error Messages and Events

 

Chris

ASE16 on red hat

$
0
0

Good day,

Looking for SAP ASE 16.x certification on RHEL7. Installation guide says Red Hat 6.1( Santiago). PAM(product availability matrix) shows RHEL7 in a generic way.

I guess it's only certified on RHEL 6.x ?

 

Thank you

Regards

Jose Miguel


Using PHP to connect via the ODBC driver

$
0
0

Hi All,

 

Has anyone successfully connected to a SAP ASE database from PHP?  Right now I'm having to load data into a mySQL and its definitely not ideal.

 

Thanks all!

 

o far I've tried unixODBC:

/usr/bin/odbcinst -i -d -f drivertemplate.txt   

/usr/bin/odbcinst -i -s -f sampletemplate.txt


cat drivertemplate.txt

[Adaptive Server Enterprise]

Description = Sybase ODBC Driver

Driver = /sybase/DataAccess64/ODBC/lib/libsybdrvodb-sqllen8.so

FileUsage = -1


cat sampletemplate.txt

[KYLEDSN]

Description = SAP ODBC Data Source

UserID = sa

Password = password

Driver = Adaptive Server Enterprise

Server = KYLE

Port = 5000

Database = master

UseCursor = 1


<?php

$conn = odbc_connect("DRIVER={SAP ODBC Data Source};Server=localhost;Database=KYLE", "sa", "password");

 

$sql = "SELECT name from sysobjects";

$rs = odbc_exec($conn,$sql);

echo "<table><tr>";

echo "<th>Name</th></tr>";

while (odbc_fetch_row($rs))

{

$name = odbc_result($rs,"name");

echo "<tr><td>$name</td></tr>";

}

odbc_close($conn);

echo "</table>";

?>

Re: ASE16 on red hat

Re: ASE16 on red hat

$
0
0

Sorry that's the minimum ASE version.

Re: ASE16 on red hat

$
0
0

PAM shows the following:

 

LINUX REDHAT EL7/X86_64 64BIT

 

 

 


Maintenance Type

Date

Comment

Further Information

 






 

 

 

 

10End of standard vendor support (regular
maintenance phase)
06/30/2024Display

 

 

 

 

30End of reduced vendor support (additional
maintenance phase)
06/30/2027Display

 

 

 

 

90End of vendor support (complete end of
support)
06/30/2027Display

 

Message was edited by: Jack Dever

Re: ASE16 on red hat

$
0
0

Hello Jose,

 

Basically any new certification on ASE will be added to PAM.

The SCN wiki certification page is an collection of all the old ASE certifications accessible through Sybase certification site. Since Sybase certification site has been removed, what me and Bret did was to republish these old certifications in the SCN wiki certification page. You can find RS and IQ old certifications too through the links on the SCN wiki certification page.

Eg, you can see ASE16.0 having RHEL7 in PAM, it means the minor versions of RHEL7 are implicitly certified too for ASE16.0 such as RHEL7.x

Any more questions, please let me know.

Hope this helps!

- Gek

Viewing all 3587 articles
Browse latest View live


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