User Login Bradmark Offices Bradmark Homepage Bradmark Homepage
About Bradmark Bradmark Product Solutions Professional Services/Training 24/7 Technical Support
Bradmark Authorized Partners


Sybase ASE Podcast:

The Art of Performance & Tuning – Monitoring Practices and Tools

Host Stefan Karlsson and guest Jeff Tallman discuss the details of monitoring within the ASE environment. They elaborate on the principles and best practices of monitoring options available today, including details on how to use the monitoring tables.


For all sales inquiries or additional product information, contact your regional Bradmark sales representative. 

24 Hours-a-day,
7 Days-a-week


In the US:

Phone

1 800 621 2808 or

1 713 621 2808

Fax

1 713 621 1639

E-mail

U.S. 


NORAD


Surveillance


DBControl


What basic info is needed in troubleshooting NORAD problems?

  • NORAD version
  • Are NORAD server agents running on Windows?
    • Version of Windows
    • Was it installed with admin privs?
  • Are NORAD server agents running on Unix?
    • What is the Unix platform (AIX, HPUX, Solaris, Linux, Tru64, etc...)
    • What is the Unix version?
    • Is the OS 64-bit? Is the database 64-bit, also?
  • Database version
  • Client errors - Get screenshots, preferably pasted into a Word document.
  • Unix errors - For lengthy output, copy/paste screen output into a text file or Word document.
  • A clear description of "what is going wrong" with step-by-step
    instructions on how to replicate the problem.

How do you change the default port numbers?

1) Stop the Surveillance Server.
2) Go to cfg directory.
3) Run the following command (forward slashes for Unix):
..\bin\cfgedit dbgscom.cfg -port=[port#],CONN01
Replace [port#] with the port you want.
4) You should get a prompt asking you if you want to make the changes. Type in 'y' and hit ENTER
5) Start Surveillance Server.

EXAMPLE:

C:\Program Files\Bradmark\NORAD 2.0\Surveillance\cfg> ..\bin\cfgedit dbgscom.cfg -port=15000,CONN01
File dbgscom.cfg Opened!Original values:
LISTENERS/CONN01
CONNECTSTRING=STRING,SOCKET,STREAM,SERVER,0,12203
LISTENERS/ENUM01
CONNECTSTRING=STRING,SOCKET,DGRAM,ENUM,0,12204,CONN01New Values:
SOCKET,STREAM,SERVER,0,15000
SOCKET,DGRAM,ENUM,0,15001,CONN01
Do you wish to proceed with update? (y/N)
y
Updated value:
LISTENERS/CONN01
CONNECTSTRING=STRING,SOCKET,STREAM,SERVER,0,15000
LISTENERS/ENUM01
CONNECTSTRING=STRING,SOCKET,DGRAM,ENUM,0,15001,CONN01File Closed!


MSDE shipped with NORAD for reporting

This URL is a nice summary of the features and limits of the MSDE database shipped with NORAD. http://www.teratrax.com/articles/msde_vs_sql_server.html

MSDE Limitations

MSDE is intended for single user or small workgroup environments. The following are some of the MSDE limitations in comparison with SQL Server:

No Enterprise Manager
No Query Analyzer
No Index Tuning Wizard
Only 2GB RAM
Only 2GB database size limit
Only 2 CPUs
Only five concurrent batch workloads or 25 concurrent connections for websites
No Database Server Failover Support
No Full-text search
No SQL Server Profiler
No Import and Export Wizards
No OLAP
No English Query
No SQL Books Online
No Full or Bulk-Logged recovery model support (only simple)

Back to top


What operators are available when creating a rule?

Surveillance Operators

Logical Operators

              

Operator Purpose
AND Returns TRUE if both conditions are TRUE;
otherwise returns FALSE.
OR Returns TRUE if either condition is TRUE;
otherwise returns FALSE.
 

Numeric Operators

Operator Purpose Example
= Equal to a numeric value. ts# = 5
!= Not equal to a numeric value. logpct != @VALUE@
>

<
Greater than a numeric value.

Less than a numeric value.
CPU_RATE > @VALUE@

MergeStatus < 0
>=

<=
Greater than or equal to a numeric value.

Less than or equal to a numeric value.
LOG_PCT_USED >= @VALUE@

time_blocked <= @VALUE@
IN Equal to any number in set.
(Can be tricky for numbers with decimals.)
IN (10,20,30 )
NOT IN Not equal to any number in set.
(Can be tricky for numbers with decimals.)
NOT IN (32,64,128)
INLIKE Equal to any number in set, with pattern matching. INLIKE (1%,2%,3% )
NOT INLIKE Not equal to any number in set, with pattern matching.
NOT INLIKE( %0, %5 )

String Operators

Operator Purpose Attributes Example
= Equal to a string value.
  • case insensitive
status = "ONLINE"
!= Not equal to a string value.
  • case insensitive
status != "NORMAL"
LIKE Equal to a string value.
  • pattern matching
  • case insensitive
login_status like "Password%"
NOT LIKE Not equal to a string value.
  • pattern matching
  • case insensitive
ACTIVE_CONN_STATE not like "%active%"
CONTAINS Equal to a string or substring value.
  • pattern matching
  • case insensitive
STATUS contains "not running"
NOT CONTAINS Does not equal to a string
or substring value.
  • pattern matching
  • case insensitive
NAME not contains "replication_truncation_point"
IN Equal to any string in set.
  • case sensitive
NAME in ("SYSTEM", "RBS")
NOT IN Not equal to any string in set.
  • case sensitive
POOL not in ("java pool", "large pool")
INLIKE Equal to any string in set.
  • pattern matching
  • case insensitive
CLASS inlike ("%block" , "undo%")
NOT INLIKE Not equal to any string in set.
  • pattern matching
  • case insensitive
MetricName not inlike ("%Locks", "%sessions")

Notes

  • Pattern matching operators support the % (percent) for a multiple
    character wildcard, and _ (underscore) for a single character wildcard.
  • There is no BETWEEN.
  • Parenthesis can be used for precedence

Why does the OS module require the root.sh script to be run?

On most Unix/Linux systems, the data facilities for OS statistics are restricted to root only. Since the OS module needs to access these data sources, it will also require root.

Requiring root privilege for the entire NORAD installation would be overkill, so the root.sh script only changes the ownership of two programs that need the restricted facilities:

  • dbgsam, which needs access to ping (raw-socket) facility.

  • dbgias, which needs access to OS statistics.

These programs only use root privileges when needed. After root operations, dbsam and dbgias immediately lower their permissions to the levels of the logged-in user using seteuid() and setguid().

Without this root access, Surveillance should still run, but several collection windows in the client will open up with no data.

Back to top


What settings are available in FXCONFIG.ORA?

Setting Description
Online Management
ALLOW_TEMP_PK? Reorg will automatically add a PK on a non-PK table that has a unique index on NOT NULL columns. This provides SAP support. Default is FALSE.

Note: If an error occurs during the online reorg, the temp PK will not be dropped. To recover, perform an online structure change to the PK, but keep the underlying unique index.
DEBUG_EVENTS? The format of the value is "0,X1,X2,...,XN,0", where X1,...,XN are the event numbers. This facilitates recovery testing. There are events 100, 200, 300,..., 2700. The key debug events are 300, 600, 1600, and 2600.

For example, this sets debug event 600:
DEBUG_EVENTS? 0,600,0

This sets debug event 2700:
DEBUG_EVENTS? 0,2700,0

Each of these events will fake an instance failure at a certain point in the Switchover process.
DESIRED_INTERVAL_COUNT? blah
ENABLE_ROWID_REPLICATION? Allows reorg of tables without a primary key or a unique index
ENABLE_TBL_REORG_CALC? Enables the extent calculator on the Table Reorg dialog. Setting this to TRUE will increase the time it takes for the Reorg dialog to load the table. The default is FALSE.
INITIAL_INTERVAL_SIZE? By default, the initial interval size is 1/10 the number of rows (NUM_ROWS from the optimizer statistics on the table). This makes the Replication Phase faster.

A larger interval size makes the interval copy more efficient, up to a certain point, but a smaller interval size may be needed to avoid "ORA-01555: Snapshot too old" errors with undo. DBControl Online automatically reduces the interval size if ORA-01555 is encountered, and it automatically increases the interval size if it thinks it can safely do so, to improve performance.

If INITIAL_INTERVAL_SIZE is not set, then the initial interval will be set to...

(ESTIMATED TABLE SIZE / DESIRED_INTERVAL_COUNT) rounded to a multiple of MINIMUM_INTERVAL_SIZE

The interval will never be smaller than MINIMUM_INTERVAL_SIZE.

MINIMUM_INTERVAL_SIZE will be divided by 10 for tables with a LONG or LONG RAW column.
KEEP_CONSTRAINT_NAMES? blah
KEEP_INDEX_NAMES? Keeps index names for constraints the same after reorg. Normally, constraint PK_T becomes PK_T__ after reorg and the index name would stay PK_T. But if this is set to TRUE, the constraint name will become PK_T__ or PK_T$_, and it will never be PK_T again. Default is FALSE.

Note: Normally, if this option is not set, the constraint name goes back to the original name after a second reorg.
KEEP_TABLE? Keep the old table after reorg (_OLD). If this is set, the _OLD table must be removed manually before the table can be reorged again. Default is FALSE.

If the old table is in a dictionary managed tablespace and it has thousands of extents, a DROP TABLE would be an expensive operation. Be keeping the old table, you prevent the DROP TABLE command after the new table comes online. You can then drop the old table manually at a later time.
MAX_CHANGES_BEFORE_SAMPLING? Before we sample (for 10 seconds) to see if the amount of DML activity is too great for Switchover, we check whether there are too many changes to even begin sampling. Default is 4000.
MAX_FINAL_CHANGES? blah
MAX_RUNNING_JOBS? blah
MINIMUM_INTERVAL_SIZE? blah
NUM_RETRY_ORA_54? 10? This sets the number of times to retry when an ORA-00054 (resource busy accquire with NOWAIT specified) is encountered.
ORACLE_COMPLETE_REFRESH? Forces a single refresh, instead of copying the data in pieces.
PARALLEL_DEGREE? blah
SAMPLE_INTERVAL_SECONDS? blah
SEND_ALERTS? blah
SORT_AREA_SIZE? Sets sort_area_size (Oracle parameter) for DBControl's session only. For example, SORT_AREA_SIZE? 100000000 sets the sort_area_size to 100,000,000 bytes.
Tracing
SETTRACE? This parameter is not listed in fxconfig.ora by default. It needs to be added.
TRACE_INFO? Shows trace info on the GetOraEnvInfo request. (Added in a 2.0.9 patch).
TRACE_ONERROR? blah
TRACE_PROCS? Show the internal procedures that are called.
TRACE_QUERIES? Shows the actual SQL queries that are sent. (A lot of them, at least).
TRACE_TOPROGRESS? blah

Why does online reorg fail on a table with only a UK, even with ALLOW_TEMP_PK set to TRUE?

DBControl Online cannot add a temporary primary key (PK) on top of the UNIQUE index that the unique key (UK) is currently using.

That is, the UK and temporary PK cannot both use the same index, and we cannot drop the UK without losing the index on Oracle 9.0 and lower.

 

Back to top