<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>sybinfo.de</title>
	<atom:link href="http://www.sybinfo.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sybinfo.de</link>
	<description>tipps und tricks für sybase ase, rep und asiq</description>
	<pubDate>Tue, 26 Apr 2011 14:48:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Disk IO Waits die CPU-Waits verursachen - MDA Tabellen</title>
		<link>http://www.sybinfo.de/ase/disk-io-waits-die-cpu-waits-verursachen-mda-tabellen/</link>
		<comments>http://www.sybinfo.de/ase/disk-io-waits-die-cpu-waits-verursachen-mda-tabellen/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 15:10:31 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[ase]]></category>

		<category><![CDATA[MDA]]></category>

		<category><![CDATA[MDA Tabellen]]></category>

		<category><![CDATA[MDA Tables]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=358</guid>
		<description><![CDATA[SELECT s.WaitEventID, substring&#40;e.Description,1,36&#41; AS Description, s.Waits, s.WaitTime
FROM monSysWaits s, monWaitClassInfo c, monWaitEventInfo e
WHERE s.WaitEventID = e.WaitEventID
AND e.WaitClassID = c.WaitClassID
ORDER BY 3 DESC
]]></description>
			<content:encoded><![CDATA[<pre class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> s.WaitEventID, substring<span style="color: #66cc66;">&#40;</span>e.Description,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">36</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> Description, s.Waits, s.WaitTime
<span style="color: #993333; font-weight: bold;">FROM</span> monSysWaits s, monWaitClassInfo c, monWaitEventInfo e
<span style="color: #993333; font-weight: bold;">WHERE</span> s.WaitEventID = e.WaitEventID
<span style="color: #993333; font-weight: bold;">AND</span> e.WaitClassID = c.WaitClassID
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #cc66cc;">3</span> <span style="color: #993333; font-weight: bold;">DESC</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/ase/disk-io-waits-die-cpu-waits-verursachen-mda-tabellen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wann lief das letzte Backup? - MDA Tabellen</title>
		<link>http://www.sybinfo.de/ase/wann-lief-das-letzte-backup-mda-tabellen/</link>
		<comments>http://www.sybinfo.de/ase/wann-lief-das-letzte-backup-mda-tabellen/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 14:48:04 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[ase]]></category>

		<category><![CDATA[Backup]]></category>

		<category><![CDATA[MDA]]></category>

		<category><![CDATA[MDA Tabellen]]></category>

		<category><![CDATA[MDA Tables]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=349</guid>
		<description><![CDATA[Wann ist das letzte Backup (aller Datenbanken) gelaufen?
SELECT db_name&#40;DBID&#41;, datediff&#40;dd, BackupStartTime, getdate&#40;&#41;&#41;
    FROM monOpenDatabases
Wann ist das letzte Backup für eine bestimmte Datenbank gelaufen?
SELECT db_name&#40;DBID&#41;, datediff&#40;dd, BackupStartTime, getdate&#40;&#41;&#41;
    FROM monOpenDatabases
    WHERE DBID = &#38;lt;number&#38;gt;
]]></description>
			<content:encoded><![CDATA[<p>Wann ist das letzte Backup (aller Datenbanken) gelaufen?</p>
<pre class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> db_name<span style="color: #66cc66;">&#40;</span>DBID<span style="color: #66cc66;">&#41;</span>, datediff<span style="color: #66cc66;">&#40;</span>dd, BackupStartTime, getdate<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #993333; font-weight: bold;">FROM</span> monOpenDatabases</pre>
<p>Wann ist das letzte Backup für eine bestimmte Datenbank gelaufen?</p>
<pre class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> db_name<span style="color: #66cc66;">&#40;</span>DBID<span style="color: #66cc66;">&#41;</span>, datediff<span style="color: #66cc66;">&#40;</span>dd, BackupStartTime, getdate<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #993333; font-weight: bold;">FROM</span> monOpenDatabases
    <span style="color: #993333; font-weight: bold;">WHERE</span> DBID = &amp;lt;number&amp;gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/ase/wann-lief-das-letzte-backup-mda-tabellen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Historische MDA Tabellen - historical MDA tables</title>
		<link>http://www.sybinfo.de/ase/historische-mda-tabellen-historical-mda-tables/</link>
		<comments>http://www.sybinfo.de/ase/historische-mda-tabellen-historical-mda-tables/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 09:24:22 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[ase]]></category>

		<category><![CDATA[MDA]]></category>

		<category><![CDATA[MDA Tabellen]]></category>

		<category><![CDATA[MDA Tables]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=330</guid>
		<description><![CDATA[Historische MDA Tabellen - historical MDA tables
Folgende MDA Tabellen können als historische Tabellen angesehen werden.

monSysSQLText
monSysPlanText
monSysStatement
monErrorLog
monDeadLock

Arbeitsweisen der historischen MDA Tabellen
Die historischen MDA Tabellen beinhalten Aufzeichnungen von ASE "Events" wie beispielsweise SQL STatements, Error Messages oder Deadlogs. Die Daten werden im Memory in so genannten "fixed-sized arrays" gespeichert. Die Speichergröße wird mit sp_configure festgelegt. Dabei sind die [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Historische MDA Tabellen - historical MDA tables</strong></p>
<p>Folgende MDA Tabellen können als historische Tabellen angesehen werden.</p>
<ul>
<li>monSysSQLText</li>
<li>monSysPlanText</li>
<li>monSysStatement</li>
<li>monErrorLog</li>
<li>monDeadLock</li>
</ul>
<h2>Arbeitsweisen der historischen MDA Tabellen</h2>
<p>Die historischen MDA Tabellen beinhalten Aufzeichnungen von ASE "Events" wie beispielsweise SQL STatements, Error Messages oder Deadlogs. Die Daten werden im Memory in so genannten "fixed-sized arrays" gespeichert. Die Speichergröße wird mit sp_configure festgelegt. Dabei sind die Daten "transient" und werden in “Ring buffers” verwaltet. Sobald der "Ring" voll geschrieben ist, wird der älteste Wert des "Rings" überschrieben. Historische Tabellen sind “stateful". Das bedeutet das der ASE einmal abgefragte Werte in der aktuellen Session nicht wieder anzeigt. Eine weitere Abfrage der selben MDA Tabelle wird in der aktuellen Session lediglich neue Daten anzeigen.</p>
<h2>Config Parameter der "historical MDA tables"</h2>
<p>Folgende sp_configure Parameter legen die "number of rows" in den "historical tables" fest.</p>
<ul>
<li>errorlog pipe max messages</li>
<li>plan text pipe max messages</li>
<li>sql text pipe max messages</li>
<li>statement pipe max messages</li>
<li>deadlock pipe max messages</li>
</ul>
<p>Der Wert des Parameters ist die "number of rows" pro engine. Dabei gilt: Errorlog und Deadlock Pipes sind i.&nbsp;A. deutlich kleiner als "plan text", "sql text" und "statement pipes".</p>
<h2>Tipps und Hinweise für "historical MDA tables"</h2>
<p>Grundsätzlich sollten man auf den MDA Tabellen keine Subqueries oder Joins ausgeführt werden (Stichwort <a href='/ase/counter-types-mda-tabellen/'>"transient" Counter</a>). Stattdessen sollte man den Inhalt der MDA Tabellen in<br />
Archivtabellen schreiben und daruf die Subqueries und Joins ausführen. Es empfiehlt sich, dass die Daten auf regelmäßiger Basis gesammelt werden, um keine Daten zu verlieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/ase/historische-mda-tabellen-historical-mda-tables/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Counter Types - MDA Tabellen</title>
		<link>http://www.sybinfo.de/ase/counter-types-mda-tabellen/</link>
		<comments>http://www.sybinfo.de/ase/counter-types-mda-tabellen/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 15:49:48 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[ase]]></category>

		<category><![CDATA[MDA]]></category>

		<category><![CDATA[MDA Tabellen]]></category>

		<category><![CDATA[MDA Tables]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=324</guid>
		<description><![CDATA[Zwei Countertypen "cumulative" und "transient" sind bei den MDA Tabellen bekannt.
cumulative Counter
"cumulative" bedeutet, der Counter erhöt sich, bis der Maximalwert erreicht ist. Die meisten Counter Types sind "cumulative" und können einen Höchstwert von 2.147.483.647 annehmen. Ist der Höchstwert erreicht, wird der Counter zurück auf "0" gesetzt. 
transient Counter
"transient" bedeutet, die Angezeigte Werte werden nach der [...]]]></description>
			<content:encoded><![CDATA[<p>Zwei Countertypen "cumulative" und "transient" sind bei den MDA Tabellen bekannt.</p>
<p><strong>cumulative Counter</strong></p>
<p>"cumulative" bedeutet, der Counter erhöt sich, bis der Maximalwert erreicht ist. Die meisten Counter Types sind "cumulative" und können einen Höchstwert von 2.147.483.647 annehmen. Ist der Höchstwert erreicht, wird der Counter zurück auf "0" gesetzt. </p>
<p><strong>transient Counter</strong><br />
"transient" bedeutet, die Angezeigte Werte werden nach der Anfrage in der aktuellen Session nicht mehr angezeigt oder die Daten ändern sich schnell. Um sie nochmals Abfragen zu können, muss man sich entweder von der Session ab- und wieder anmelden oder die Werte in eine temporäre Tabelle schreiben.</p>
<p><strong>Identifizieren von Countertypen der monTables Spalten</strong></p>
<p><strong>cumulative Countertypen ermitteln</strong></p>
<pre class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> TableName, ColumnName
  <span style="color: #993333; font-weight: bold;">FROM</span> monTableColumns
     <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #66cc66;">&#40;</span>Indicators &amp;<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> = <span style="color: #cc66cc;">1</span></pre>
<p><strong>transiente Countertypen ermitteln</strong></p>
<pre class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> TableName, ColumnName
  <span style="color: #993333; font-weight: bold;">FROM</span> monTableColumns
     <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #66cc66;">&#40;</span>Indicators &amp;<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> = <span style="color: #cc66cc;">2</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/ase/counter-types-mda-tabellen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Capture the performance metrics for the running processes - MDA Tabellen</title>
		<link>http://www.sybinfo.de/ase/capture-the-performance-metrics-for-the-running-processes-mda-tabellen/</link>
		<comments>http://www.sybinfo.de/ase/capture-the-performance-metrics-for-the-running-processes-mda-tabellen/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 15:01:36 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[ase]]></category>

		<category><![CDATA[MDA]]></category>

		<category><![CDATA[MDA Tabellen]]></category>

		<category><![CDATA[MDA Tables]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=319</guid>
		<description><![CDATA[Capture the performance metrics for the running processes
SELECT s.SPID, s.CpuTime, t.SQLText
FROM monProcessStatement s, monProcessSQLText t
WHERE s.CpuTime = &#40;SELECT MAX&#40;CpuTime&#41; FROM monProcessStatement&#41;
AND s.SPID = t.SPID
Wenn ein leeres Resultset ausgegeben werden, dann die Query nochmals ausführen.
]]></description>
			<content:encoded><![CDATA[<p><strong>Capture the performance metrics for the running processes</strong></p>
<pre class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> s.SPID, s.CpuTime, t.SQLText
<span style="color: #993333; font-weight: bold;">FROM</span> monProcessStatement s, monProcessSQLText t
<span style="color: #993333; font-weight: bold;">WHERE</span> s.CpuTime = <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> MAX<span style="color: #66cc66;">&#40;</span>CpuTime<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> monProcessStatement<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">AND</span> s.SPID = t.SPID</pre>
<p>Wenn ein leeres Resultset ausgegeben werden, dann die Query nochmals ausführen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/ase/capture-the-performance-metrics-for-the-running-processes-mda-tabellen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>pipe Tables - MDA Tabellen</title>
		<link>http://www.sybinfo.de/ase/pipe-tables-mda-tabellen/</link>
		<comments>http://www.sybinfo.de/ase/pipe-tables-mda-tabellen/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 14:48:10 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[ase]]></category>

		<category><![CDATA[MDA]]></category>

		<category><![CDATA[MDA Tabellen]]></category>

		<category><![CDATA[MDA Tables]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=315</guid>
		<description><![CDATA[Understanding "pipe" Tables
sp_configure &#34;pipe&#34;
go
Configuration OPTION IS NOT UNIQUE.
&#160;
 Parameter Name                 DEFAULT     Memory Used Config Value Run Value    Unit               [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Understanding "pipe" Tables</strong></p>
<pre class="sql">sp_configure <span style="color: #ff0000;">&quot;pipe&quot;</span>
go
Configuration <span style="color: #993333; font-weight: bold;">OPTION</span> <span style="color: #993333; font-weight: bold;">IS</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span>.
&nbsp;
 Parameter Name                 <span style="color: #993333; font-weight: bold;">DEFAULT</span>     Memory Used Config Value Run Value    Unit                 Type
 <span style="color: #808080; font-style: italic;">------------------------------ ----------- ----------- ------------ ------------ -------------------- ----------</span>
 deadlock pipe active                     <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> switch               dynamic
 deadlock pipe max messages               <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> number               dynamic
 errorlog pipe active                     <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> switch               dynamic
 errorlog pipe max messages               <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> number               dynamic
 plan text pipe active                    <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> switch               dynamic
 plan text pipe max messages              <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> number               dynamic
 sql text pipe active                     <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> switch               dynamic
 sql text pipe max messages               <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> number               dynamic
 statement pipe active                    <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> switch               dynamic
 statement pipe max messages              <span style="color: #cc66cc;">0</span>           <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span>            <span style="color: #cc66cc;">0</span> number               dynamic    
&nbsp;
<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span> row affected<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">RETURN</span> <span style="color: #993333; font-weight: bold;">STATUS</span> = <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/ase/pipe-tables-mda-tabellen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Determining Optimum SARGs - MDA Tabellen</title>
		<link>http://www.sybinfo.de/ase/determining-optimum-sargs-mda-tabellen/</link>
		<comments>http://www.sybinfo.de/ase/determining-optimum-sargs-mda-tabellen/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 14:44:14 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[ase]]></category>

		<category><![CDATA[MDA Tabellen]]></category>

		<category><![CDATA[MDA Tables]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=304</guid>
		<description><![CDATA[Determining Optimum SARGs
SELECT ParameterName, TypeName FROM monTableParameters WHERE TableName = &#34;monOpenObjectActivity&#34;
]]></description>
			<content:encoded><![CDATA[<p><strong>Determining Optimum SARGs</strong></p>
<pre class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> ParameterName, TypeName <span style="color: #993333; font-weight: bold;">FROM</span> monTableParameters <span style="color: #993333; font-weight: bold;">WHERE</span> TableName = <span style="color: #ff0000;">&quot;monOpenObjectActivity&quot;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/ase/determining-optimum-sargs-mda-tabellen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IQ relocate - sp_iqrelocate database bis IQ 12.7</title>
		<link>http://www.sybinfo.de/asiq/iq-relocate-sp_iqrelocate-database/</link>
		<comments>http://www.sybinfo.de/asiq/iq-relocate-sp_iqrelocate-database/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 09:18:04 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[asiq]]></category>

		<category><![CDATA[relocate]]></category>

		<category><![CDATA[sp_iqrelocate]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=290</guid>
		<description><![CDATA[Um Daten von einem zum anderen Device verschieben zu können bietet IQ bis Version 12.7 das "sp_iqrelocate database" Kommando an. 
Gelegentlich kommt es vor, dass Anwendungen schneller wachsen als erwartet. Im allgemeinen werden dann neue Devices eingehängt, so dass irgendwann der IQ sehr viele Devices verwalten muss. Das kann zu performance Engpässen kommen. Denn der [...]]]></description>
			<content:encoded><![CDATA[<p>Um Daten von einem zum anderen Device verschieben zu können bietet IQ bis Version 12.7 das "sp_iqrelocate database" Kommando an. </p>
<p>Gelegentlich kommt es vor, dass Anwendungen schneller wachsen als erwartet. Im allgemeinen werden dann neue Devices eingehängt, so dass irgendwann der IQ sehr viele Devices verwalten muss. Das kann zu performance Engpässen kommen. Denn der IQ öffnet für jedes Device so genannte Threads, die dann auch entsprechend verwaltet werden müssen. Läuft das Verhältnis zwischen Datenvolumen und Anzahl der Devices auseinander kommt es zu einem "Verwaltungsoverhead". Darum kann es sinnvoll sein von kleinen Devices auf größere "umzuziehen". Dabei hilft die System-Stored Prozedure sp_iqrelocate.</p>
<h3>Die einzelnen Schritte für ein Relocate</h3>
<p><strong>1. Check DBSPACEs</strong><br />
Noch im laufenden Betrieb können die neuen Devices eingehängt werden. Anschließend evtl. den Datenbankplatz mit sp_iqdbspace prüfen. </p>
<p><strong>2. DBSPACE Status ändern</strong><br />
Damit keine Daten mehr auf die "alten" Devices geschrieben werden wird nun deren Status geändert. Das wird mit <em>alter dbspace 'Name_of_IQ_MAIN_SPACE' relocate</em> gemacht. Der Status ändert sich dann auf RO (readonly) und kann wieder mit sp_iqdbspace überprüft werden.</p>
<p><strong>3. Daten mit sp_iqrelocate verschieben</strong><br />
Um die Daten erfolgreich verschieben zu können muss nun sichergestellt wrden, dass keine user mehr auf die Datenbank zugreifen. das kann beispielsweise mit einem Neustart des IQs mit der Startoption (Switch) <em>-gm 1</em> gemacht werden. Damit kann sich nur ein User einlogen. Oder der IQ wird mit einem neuen Namen und auf einem neuen Port restartet.</p>
<p>Wenn Der IQ gegen unerwünschte Benutzerzugriffe gesichert ist kann der Behfehl <em>sp_iqrelocate database</em> abgesetzt werden. Je nach Anzahl der zu verschiebenden Devices und der Datenmenge kann das einige Zeit in Anspruch nehmen. Ist das Relocate durchgelaufen, muss man evtl. mehrmals <em>commit</em> ausführen.</p>
<p>Der Output von <em>sp_iqrelocate</em> zeigt dann die Objekte und die Anzahl der "relocierten" Blocks an und sieht dann etwa so aus:</p>
<pre class="sql"><span style="color: #66cc66;">&#40;</span>DBA<span style="color: #66cc66;">&#41;</span>&gt; sp_iqrelocate <span style="color: #993333; font-weight: bold;">DATABASE</span>
Execution time: <span style="color: #cc66cc;">42.004</span> seconds
Object                                          Blocks Relocated <span style="color: #993333; font-weight: bold;">STATUS</span>
<span style="color: #808080; font-style: italic;">--------------------------------------------------------------------------</span>
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C1_FP  <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_I63_HG <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C2_FP  <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C3_FP  <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C4_FP  <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C5_FP  <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C6_FP  <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C7_FP  <span style="color: #cc66cc;">0</span>                no relocs
rmdb_dbo.LGDS2_BI_ACCOUNT.ASIQ_IDX_T1707_C8_FP  <span style="color: #cc66cc;">0</span>                no relocs
...</pre>
<p><strong>4. Drop DBSPACE</strong><br />
Ist alles OK, können die "alten" Devices gedropt werden. Das entsprechende Kommando heißt: <em>drop dbspace 'Name_of_IQ_MAIN_SPACE'</em>. Der Vorgang sollte nur wenige Sekunden dauern. Anschließend kann der IQ wieder für Benutzer frei gegeben werden.</p>
<p>Ab IQ 15.0 kommt ein zweiter Layer zu den Datenspeichern hinzu; Das <strong>dbfile</strong>. Dementsprechend können einem DBSPACE dbfiles hinzugefügt werden.  Die dbfiles können ähnlich behandelt werden, wie im IQ 12.7 die DBSPACES. Das Kommando heißt nun nicht mehr sp_iqrelocate sondern <em>sp_iqemptyfile</em>. Objekte auf einem DBSPACE können aber nicht verschoben werden, sie müssen gelöscht werden.</p>
<p>Das IQ_SYSTEM_MAIN kann auch per sp_iqrelocate verschoben werden. <strong>Davon kann aber nur abgeraten werden</strong>, denn das IQ_SYSTEM_MAIN wird insbesondere beim Aufbau eines Multiplex und später für den Upgrade auf IQ 15 benötigt. Wenn das Device nicht mehr vorhanden ist, können Probleme mit den von Sybase gelieferten Tools (z.B. iqunlad) auftreten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/asiq/iq-relocate-sp_iqrelocate-database/feed/</wfw:commentRss>
		</item>
		<item>
		<title>sp_iqaddlogin unterschied zwischen IQ 12.7 und IQ 15</title>
		<link>http://www.sybinfo.de/asiq/sp_iqaddlogin-unterschied-zwischen-iq-127-und-iq-15/</link>
		<comments>http://www.sybinfo.de/asiq/sp_iqaddlogin-unterschied-zwischen-iq-127-und-iq-15/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 07:47:49 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[asiq]]></category>

		<category><![CDATA[dbcc]]></category>

		<category><![CDATA[konfiguration]]></category>

		<category><![CDATA[Benuzer]]></category>

		<category><![CDATA[IQ 12.7]]></category>

		<category><![CDATA[IQ 15]]></category>

		<category><![CDATA[logins]]></category>

		<category><![CDATA[sp_iqaddlogin]]></category>

		<category><![CDATA[User]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=279</guid>
		<description><![CDATA[Die sp_iqaddlogin ist unterschiedlich auf IQ 12.7 und IQ 15.
IQ 12.7
sp_iqaddlogin ‘userid’, ‘password’, &#91; number_of_connections &#93; &#91; , password_expiration &#93;
IQ 15
sp_iqaddlogin ‘username_in’, ‘pwd’, &#91; ’password_expiry_on_next_login ’&#93; &#91; , ’policy_name’&#93;
Was ist gelich bzw. unterschiedlich

'username_in' = 'userid'
’password_expiry_on_next_login’ != 'password_expiration'
’policy_name’

’password_expiry_on_next_login’ muss entweder "OFF" oder "ON" sein,
z.B. sp_iqaddlogin 'username', 'password', 'ON' ’password_expiry_on_next_login’ ist standardmäßig "OFF", d.h. das Passwort bleibt [...]]]></description>
			<content:encoded><![CDATA[<p>Die sp_iqaddlogin ist unterschiedlich auf IQ 12.7 und IQ 15.</p>
<p><strong>IQ 12.7</strong></p>
<pre class="sql">sp_iqaddlogin ‘userid’, ‘password’, <span style="color: #66cc66;">&#91;</span> number_of_connections <span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#91;</span> , password_expiration <span style="color: #66cc66;">&#93;</span></pre>
<p><strong>IQ 15</strong></p>
<pre class="sql">sp_iqaddlogin ‘username_in’, ‘pwd’, <span style="color: #66cc66;">&#91;</span> ’password_expiry_on_next_login ’<span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#91;</span> , ’policy_name’<span style="color: #66cc66;">&#93;</span></pre>
<p><strong>Was ist gelich bzw. unterschiedlich</strong></p>
<ul>
<li>'username_in' = 'userid'</li>
<li>’password_expiry_on_next_login’ != 'password_expiration'</li>
<li>’policy_name’</li>
</ul>
<p>’password_expiry_on_next_login’ muss entweder "OFF" oder "ON" sein,<br />
z.B. <em>sp_iqaddlogin 'username', 'password', 'ON'</em> ’password_expiry_on_next_login’ ist standardmäßig "OFF", d.h. das Passwort bleibt immer gültig.</p>
<p>Die Login Policy definiert number_of_connections, locked, password_life_time, u.s.w.</p>
<p>Bei IQ 15 wird jede Datenbank mit der so genannten "root policy" angelegt. Das ist die "default login policy". Sie kann modifiziert aber nicht entfernt werden. Wenn die "login policy" beim Anlegen eines Accounts nicht definiert wird, so greift automatisch die "root policy".</p>
<p><strong>Sonderzeichen</strong><br />
Im IQ 12.7 konnten zahlreiche Sonderzeichen im Passwort verwendet werden. Im IQ 15 so sind folgende Zeichen zur Zeit nicht mehr möglich:</p>
<ul>
<li>+</li>
<li>%</li>
<li>=</li>
<li>!</li>
</ul>
<p>Darüber hinaus können Passwörter nicht mehr mit Zahlen beginnen. Ein "3Rdg6zT7t" als Passwort wirft eine Fehlermeldung.</p>
<pre class="sql"><span style="color: #cc66cc;">1</span>&gt; sp_iqaddlogin <span style="color: #ff0000;">'username'</span>, <span style="color: #ff0000;">'4password'</span>
<span style="color: #cc66cc;">2</span>&gt; go
Msg <span style="color: #cc66cc;">102</span>, Level <span style="color: #cc66cc;">15</span>, State <span style="color: #cc66cc;">0</span>:
SQL Anywhere Error <span style="color: #cc66cc;">-131</span>: Syntax error near <span style="color: #ff0000;">'4'</span> <span style="color: #993333; font-weight: bold;">ON</span> line <span style="color: #cc66cc;">1</span></pre>
<p>Hier die IQ Version auf der die Test gemacht wurden:</p>
<pre class="sql"><span style="color: #66cc66;">&#40;</span>DBA<span style="color: #66cc66;">&#41;</span>&gt; <span style="color: #993333; font-weight: bold;">SELECT</span> @@version
@@version
<span style="color: #808080; font-style: italic;">-------------------------------------------------------------------------------</span>
Sybase IQ/<span style="color: #cc66cc;">15.1</span><span style="color: #cc66cc;">.0</span><span style="color: #cc66cc;">.5034</span>/<span style="color: #cc66cc;">090925</span>/P/ESD <span style="color: #cc66cc;">1</span>/Sun_Sparc/OS <span style="color: #cc66cc;">5.10</span>/64bit/<span style="color: #cc66cc;">2009</span><span style="color: #cc66cc;">-09</span><span style="color: #cc66cc;">-25</span> <span style="color: #cc66cc;">04</span>:<span style="color: #cc66cc;">28</span>:<span style="color: #cc66cc;">41</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/asiq/sp_iqaddlogin-unterschied-zwischen-iq-127-und-iq-15/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;–iqnumbercpus&#8221; numer of Threads - start option - IQ switch</title>
		<link>http://www.sybinfo.de/asiq/iqnumbercpus-numer-of-threads-start-option-iq-switch/</link>
		<comments>http://www.sybinfo.de/asiq/iqnumbercpus-numer-of-threads-start-option-iq-switch/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 11:30:21 +0000</pubDate>
		<dc:creator>fm</dc:creator>
		
		<category><![CDATA[asiq]]></category>

		<category><![CDATA[startoption]]></category>

		<category><![CDATA[switch]]></category>

		<guid isPermaLink="false">http://www.sybinfo.de/?p=275</guid>
		<description><![CDATA[Der "–iqnumbercpus" ist Parameter, der dem Optimierer die Anzahl der zu beachtenden CPUs vorgibt. Per default werden die vom System angezeigten CPUs zur Berechnung der parallelen Threads genommen (max. 128). Mit der folgende Formel kann berechnet werden wieviele Threads aufgemacht werden: 
60x (Anzahl der ersten 4 CPUS) + (50x restliche CPUs) + 2x (numConnections +2) [...]]]></description>
			<content:encoded><![CDATA[<p>Der "–iqnumbercpus" ist Parameter, der dem Optimierer die Anzahl der zu beachtenden CPUs vorgibt. Per default werden die vom System angezeigten CPUs zur Berechnung der parallelen Threads genommen (max. 128). Mit der folgende Formel kann berechnet werden wieviele Threads aufgemacht werden: </p>
<pre>60x (Anzahl der ersten 4 CPUS) + (50x restliche CPUs) + 2x (numConnections +2) +1 = numThreads</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sybinfo.de/asiq/iqnumbercpus-numer-of-threads-start-option-iq-switch/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

