05.10.2013 Aufrufe

Dienstprogramme - Sybase

Dienstprogramme - Sybase

Dienstprogramme - Sybase

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Dienstprogramme</strong><br />

Adaptive Server® Enterprise<br />

12.5.1


DOKUMENT-ID: DC32959-01-1251-01<br />

LETZTE ÜBERARBEITUNG: August 2003<br />

Copyright © 1989-2004 <strong>Sybase</strong> Inc. Alle Rechte vorbehalten.<br />

Dieses Handbuch ist Bestandteil der Dokumentation der <strong>Sybase</strong>-Software und jeder weiteren Version, sofern in neueren Ausgaben<br />

oder technischen Hinweisen nicht anders angegeben. Änderungen sind ohne vorherige Ankündigung jederzeit möglich. Die hierin<br />

beschriebene Software unterliegt einer Lizenzvereinbarung und darf nur im Rahmen der darin enthaltenen Bestimmungen eingesetzt<br />

oder kopiert werden.<br />

Kunden in den USA und Kanada können weitere Dokumentationsteile anfordern. Wenden Sie sich dazu an die Abteilung Customer<br />

Fulfillment unter der Telefonnummer (800) 685-8225 und der Faxnummer (617) 229-9845.<br />

Kunden außerhalb der USA mit einer amerikanischen Lizenz können mit unserer Abteilung Customer Fulfillment über Telefax oder mit<br />

Telesales unter Tel. 0130-73 91 87 (Deutschland) Kontakt aufnehmen. Alle anderen internationalen Kunden sollten sich an ihre <strong>Sybase</strong>-<br />

Geschäftsstelle oder an ihren örtlichen Vertriebsbeauftragten wenden. Upgrades sind erst nach dem regulären Erscheinungsdatum der<br />

Softwareversion erhältlich. Kein Teil dieses Dokuments darf ohne vorherige schriftliche Genehmigung der <strong>Sybase</strong> Inc. in irgendeiner<br />

Form, sei es elektronisch, mechanisch, manuell, optisch oder auf sonstige Weise, fotokopiert, reproduziert oder in eine andere Sprache<br />

übersetzt werden.<br />

<strong>Sybase</strong>, das <strong>Sybase</strong>-Logo, AccelaTrade, ADA Workbench, Adaptable Windowing Environment, Adaptive Component Architecture,<br />

Adaptive Server, Adaptive Server Anywhere, Adaptive Server Enterprise, Adaptive Server Enterprise Monitor, Adaptive Server<br />

Enterprise Replication, Adaptive Server Everywhere, Adaptive Server IQ, Adaptive Warehouse, Anywhere Studio, Application<br />

Manager, AppModeler, APT Workbench, APT-Build, APT-Edit, APT-Execute, APT-FORMS, APT-Translator, APT-Library, AvantGo,<br />

AvantGo Application Alerts, AvantGo Mobile Delivery, AvantGo Mobile Document Viewer, AvantGo Mobile Inspection, AvantGo<br />

Mobile Marketing Channel, AvantGo Mobile Pharma, AvantGo Mobile Sales, AvantGo Pylon, AvantGo Pylon Application Server,<br />

AvantGo Pylon Conduit, AvantGo Pylon PIM Server, AvantGo Pylon Pro, Backup Server, BizTracker, ClearConnect, Client-Library,<br />

Client Services, Convoy/DM, Copernicus, Data Pipeline, Data Workbench, DataArchitect, Database Analyzer, DataExpress, DataServer,<br />

DataWindow, DB-Library, dbQueue, Developers Workbench, Direct Connect Anywhere, DirectConnect, Distribution Director, e-ADK,<br />

E-Anywhere, e-Biz Integrator, E-Whatever, EC Gateway, ECMAP, ECRTP, eFulfillment Accelerator, Embedded SQL, EMS, Enterprise<br />

Application Studio, Enterprise Client/Server, Enterprise Connect, Enterprise Data Studio, Enterprise Manager, Enterprise SQL Server<br />

Manager, Enterprise Work Architecture, Enterprise Work Designer, Enterprise Work Modeler, eProcurement Accelerator, EWA,<br />

Financial Fusion, Financial Fusion Server, Gateway Manager, GlobalFIX, ImpactNow, Industry Warehouse Studio, InfoMaker,<br />

Information Anywhere, Information Everywhere, InformationConnect, InternetBuilder, iScript, Jaguar CTS, jConnect for JDBC, Mail<br />

Anywhere Studio, MainframeConnect, Maintenance Express, Manage Anywhere Studio, M-Business Channel, M-Business Network,<br />

M-Business Server, MDI Access Server, MDI Database Gateway, media.splash, MetaWorks, My AvantGo, My AvantGo Media Channel,<br />

My AvantGo Mobile Marketing, MySupport, Net-Gateway, Net-Library, New Era of Networks, ObjectConnect, ObjectCycle,<br />

OmniConnect, OmniSQL Access Module, OmniSQL Toolkit, Open Biz, Open Client, Open ClientConnect, Open Client/Server, Open<br />

Client/Server Interfaces, Open Gateway, Open Server, Open ServerConnect, Open Solutions, Optima++, PB-Gen, PC APT Execute, PC<br />

Net Library, PocketBuilder, Pocket PowerBuilder, Power++, power.stop, PowerAMC, PowerBuilder, PowerBuilder Foundation Class<br />

Library, PowerDesigner, PowerDimensions, PowerDynamo, PowerJ, PowerScript, PowerSite, PowerSocket, Powersoft, PowerStage,<br />

PowerStudio, PowerTips, Powersoft Portfolio, Powersoft Professional, PowerWare Desktop, PowerWare Enterprise, ProcessAnalyst,<br />

Rapport, Report Workbench, Report-Execute, Replication Agent, Replication Driver, Replication Server, Replication Server Manager,<br />

Replication Toolkit, Resource Manager, RW-DisplayLib, S-Designor, SDF, Secure SQL Server, Secure SQL Toolset, Security Guardian,<br />

SKILS, smart.partners, smart.parts, smart.script, SQL Advantage, SQL Anywhere, SQL Anywhere Studio, SQL Code Checker, SQL<br />

Debug, SQL Edit, SQL Edit/TPU, SQL Everywhere, SQL Modeler, SQL Remote, SQL Server, SQL Server Manager, SQL SMART,<br />

SQL Toolset, SQL Server/CFT, SQL Server/DBM, SQL Server SNMP SubAgent, SQL Station, SQLJ, STEP, SupportNow, S.W.I.F.T.<br />

Message Format Libraries, <strong>Sybase</strong> Central, <strong>Sybase</strong> Client/Server Interfaces, <strong>Sybase</strong> Financial Server, <strong>Sybase</strong> Gateways, <strong>Sybase</strong> MPP,<br />

<strong>Sybase</strong> SQL Desktop, <strong>Sybase</strong> SQL Lifecycle, <strong>Sybase</strong> SQL Workgroup, <strong>Sybase</strong> User Workbench, <strong>Sybase</strong>Ware, Syber Financial,<br />

SyberAssist, SyBooks, System 10, System 11, System XI (logo), SystemTools, Tabular Data Stream, TradeForce, Transact-SQL,<br />

Translation Toolkit, UltraLite.NET, UNIBOM, Unilib, Uninull, Unisep, Unistring, URK Runtime Kit for UniCode, Viewer, Visual<br />

Components, VisualSpeller, VisualWriter, VQL, WarehouseArchitect, Warehouse Control Center, Warehouse Studio, Warehouse<br />

WORKS, Watcom, Watcom SQL, Watcom SQL Server, Web Deployment Kit, Web.PB, Web.SQL, WebSights, WebViewer,<br />

WorkGroup SQL Server, XA-Library, XA-Server und XP Server sind Marken von <strong>Sybase</strong>, Inc.<br />

Unicode und das Unicode-Logo sind eingetragene Marken von Unicode Inc.<br />

Alle anderen Unternehmens- oder Produktbezeichnungen sind Marken oder eingetragene Marken des jeweiligen Inhabers.<br />

<strong>Sybase</strong>, Inc., One <strong>Sybase</strong> Drive, Dublin, CA 94568.


Inhalt<br />

KAPITEL 1 Server mit dem dataserver-Dienstprogramm einrichten............. 1<br />

Einführung........................................................................................ 1<br />

Ein neues Master-Device einrichten................................................. 2<br />

Betriebsumgebungen für dataserver ......................................... 3<br />

Einrichtmodus............................................................................ 4<br />

Start-Modus............................................................................... 7<br />

Upgrade zu einem Server mit größeren Seitengrößen ............. 7<br />

Die aktuellen Server-Beschränkungen anzeigen ...................... 7<br />

KAPITEL 2 Das isql-Dienstprogramm verwenden........................................... 9<br />

Vorbereitungen................................................................................. 9<br />

isql starten und stoppen ................................................................. 10<br />

Transact-SQL in isql verwenden .................................................... 10<br />

isql-Ausgabe formatieren ........................................................ 11<br />

Eingabe korrigieren ................................................................. 12<br />

set-Optionen, die sich auf die Ausgabe auswirken ................. 13<br />

Das Befehlsabschlusszeichen ändern ........................................... 13<br />

Wechselwirkung von Performance-Statistik und<br />

Befehlsabschlusszeichen-Werten .................................... 14<br />

Netzwerkpaketgröße einstellen...................................................... 15<br />

Eingabe- und Ausgabedateien....................................................... 16<br />

UNIX-Befehlszeile umleiten..................................................... 16<br />

KAPITEL 3 Daten mit bcp in und aus Adaptive Server übertragen ............. 17<br />

Methoden zum Verschieben von Daten ......................................... 18<br />

Daten mit bcp .......................................................................... 18<br />

bcp-Anforderungen ........................................................................ 19<br />

bcp-Modi ........................................................................................ 21<br />

bcp-Performance............................................................................ 22<br />

Schnellen oder langsamen bcp verwenden ............................ 22<br />

Daten mit schnellem bcp importieren ...................................... 25<br />

Mit dem Massenexport/-import Daten in partitionierte<br />

Tabellen kopieren ............................................................. 26<br />

<strong>Dienstprogramme</strong> iii


Inhalt<br />

Mit parallelem Massenexport/-import Daten in eine<br />

bestimmte Partition kopieren ............................................ 29<br />

Die bcp-Optionen verwenden......................................................... 35<br />

Die Standardformate verwenden............................................. 36<br />

Abschlusszeichen von der Befehlszeile ändern ...................... 38<br />

Die Standardwerte ändern: Interaktiver bcp................................... 38<br />

Auf bcp-Eingabeaufforderungen reagieren ............................. 39<br />

Dateispeichertyp...................................................................... 41<br />

Präfixlänge .............................................................................. 43<br />

Feldlänge................................................................................. 44<br />

Feld- und Zeilenabschlusszeichen .......................................... 47<br />

Formatdateien verwenden ............................................................. 50<br />

Elemente der bcp-Formatdatei................................................ 51<br />

Beispiele: Daten interaktiv exportieren........................................... 54<br />

Daten mit Feldlängen exportieren ........................................... 55<br />

Daten mit Begrenzern exportieren .......................................... 56<br />

Beispiele: Daten interaktiv importieren........................................... 57<br />

Daten mit Feldlängen importieren ........................................... 58<br />

Daten mit Begrenzern importieren .......................................... 60<br />

Daten mit einer Formatdatei importieren................................. 60<br />

bcp mit anderen Sprachen verwenden .......................................... 61<br />

bcp und Zugriffsregeln auf Zeilenebene......................................... 62<br />

Importieren und Anweisungsfolgedateien ...................................... 62<br />

Wiederherstellbarkeit erleichtern............................................. 63<br />

Anweisungsfolgen und partitionierte Tabellen......................... 64<br />

Exportieren und Text- und Bilddaten.............................................. 64<br />

Netzwerkpaketgröße festlegen ...................................................... 65<br />

Importieren und Fehlerdateien ....................................................... 65<br />

Exportieren und Fehlerdateien....................................................... 67<br />

Datenintegrität: Standardwerte, Regeln und Trigger...................... 67<br />

Standardwerte und Datentypen............................................... 67<br />

Regeln und Trigger.................................................................. 68<br />

Wie unterscheidet sich bcp von anderen<br />

<strong>Dienstprogramme</strong>n? ......................................................... 68<br />

KAPITEL 4 dsedit verwenden .......................................................................... 71<br />

Mit dsedit arbeiten.......................................................................... 71<br />

dsedit starten........................................................................... 71<br />

Eine Bearbeitungssitzung öffnen............................................. 73<br />

Servereinträge hinzufügen, anzeigen und bearbeiten ................... 75<br />

Servereinträge in Windows NT ändern ................................... 76<br />

Servereinträge auf UNIX-Plattformen ändern ......................... 79<br />

Servereinträge kopieren .......................................................... 82<br />

iv Adaptive Server Enterprise


Inhalt<br />

dsedit-Fehlerbehandlung ............................................................... 83<br />

Das dsedit-Dienstprogramm startet nicht ................................ 83<br />

Fehlermeldung: „Öffnen der X-Anzeige nicht möglich“ ........... 84<br />

Hinzufügen, Ändern oder Löschen von Servereinträgen<br />

nicht möglich..................................................................... 84<br />

KAPITEL 5 dscp verwenden............................................................................ 85<br />

Mit dscp arbeiten............................................................................ 85<br />

Eine dscp-Sitzung verwenden................................................. 86<br />

Mit Servereinträgen arbeiten.......................................................... 87<br />

Servereinträge hinzufügen und ändern ................................... 87<br />

Servereinträge kopieren .......................................................... 90<br />

Inhalte von Servereinträgen auflisten und anzeigen ............... 91<br />

Servereinträge löschen ........................................................... 92<br />

dscp beenden................................................................................. 93<br />

Übersicht über die dscp-Dienstprogrammbefehle.......................... 93<br />

KAPITEL 6 Migrations-Dienstprogramm........................................................ 95<br />

Überblick ........................................................................................ 95<br />

Bestehende Lösungen ............................................................ 96<br />

Vorteile von sybmigrate........................................................... 96<br />

Was sybmigrate durchführt ..................................................... 96<br />

Was sybmigrate nicht tut ......................................................... 98<br />

Vorbereitungen............................................................................. 100<br />

Erforderliche Komponenten für sybmigrate........................... 100<br />

Voraussetzungen .................................................................. 100<br />

Installation ............................................................................. 100<br />

Upgrade................................................................................. 100<br />

Berechtigungen ..................................................................... 101<br />

Plattformen ............................................................................ 102<br />

Umgebungsvariablen ............................................................ 102<br />

Migrationsprozess ........................................................................ 103<br />

Überblick über den Migrationsprozess .................................. 103<br />

Vorbereitung der Migration.................................................... 104<br />

Konfiguration und Optimierung für eine bessere<br />

Performance ................................................................... 107<br />

Fehlervermeidung ................................................................. 110<br />

Automatische Auswahl abhängiger Objekte für<br />

die Migration ................................................................... 110<br />

sybmigrate ausführen............................................................ 110<br />

GUI-Modus ............................................................................ 114<br />

Ressourcedatei-Modus ......................................................... 122<br />

Aufgaben nach der Migration ....................................................... 130<br />

<strong>Dienstprogramme</strong> v


Inhalt<br />

Daten aus Replication Server in Adaptive Server 12.5<br />

migrieren......................................................................... 130<br />

Vorbereitung der Datenbanken mit Replikationsdaten<br />

für die Migration.............................................................. 132<br />

Aufgaben für replizierte Datenbanken nach<br />

der Migration................................................................... 133<br />

Einschränkungen ......................................................................... 138<br />

Problembehebung und Fehlermeldungen.................................... 140<br />

Objekte werden nicht migriert................................................ 140<br />

Beginn der Datenbankmigration............................................ 140<br />

„Connection refused“ und „Unable to obtain<br />

connection to the server“ ................................................ 141<br />

Der Zielserver ist vom Quellserver nicht erreichbar .............. 141<br />

Wenn sybmigrate bei der Migration hängt............................. 141<br />

Zwei Datenbanken zusammenführen.................................... 142<br />

Bereinigen von Fehlern nach der Migration .......................... 142<br />

Datenbank erneut migrieren.................................................. 142<br />

Einzelne Objekte neu erstellen.............................................. 143<br />

Verbindung fehlgeschlagen................................................... 143<br />

„Insufficient memory in JVM shared class“............................ 143<br />

„There is not enough memory in the procedure cache“ ........ 144<br />

java.lang-Fehler..................................................................... 144<br />

KAPITEL 7 Adaptive Server Plug-In installieren .......................................... 145<br />

Einführung.................................................................................... 145<br />

Lieferung des Adaptive Server Plug-Ins................................ 146<br />

Funktionsunterschiede zwischen den Versionen<br />

im Vergleich.................................................................... 146<br />

Auf die Monitor Client-GUI zugreifen ........................................... 148<br />

Monitor Client-GUI als eigenständige Anwendung<br />

ausführen........................................................................ 148<br />

KAPITEL 8 Übersicht über die Dienstprogrammbefehle............................. 151<br />

Erste Orientierung ........................................................................ 152<br />

*_dce- und *_r-<strong>Dienstprogramme</strong>.......................................... 154<br />

Dienstprogramm-Überblick .......................................................... 155<br />

Installations- und Konfigurationsdienstprogramme ............... 155<br />

<strong>Dienstprogramme</strong> für Sprachen, Zeichensätze<br />

und Sortierreihenfolgen .................................................. 156<br />

<strong>Dienstprogramme</strong> zum Starten von Servern ......................... 156<br />

Erstellungs- und Bearbeitungsdienstprogramme<br />

für Datenbanken ............................................................. 157<br />

<strong>Dienstprogramme</strong> zum Sammeln von Informationen ............ 157<br />

vi Adaptive Server Enterprise


Inhalt<br />

backupserver................................................................................ 158<br />

bcp ............................................................................................... 163<br />

buildmaster................................................................................... 176<br />

certauth ........................................................................................ 176<br />

certpk12 ....................................................................................... 179<br />

certreq .......................................................................................... 182<br />

charset ......................................................................................... 185<br />

cobpre .......................................................................................... 186<br />

cpre .............................................................................................. 186<br />

dataserver .................................................................................... 187<br />

dataxtr .......................................................................................... 194<br />

ddlgen .......................................................................................... 194<br />

defncopy....................................................................................... 209<br />

dscp.............................................................................................. 216<br />

dsedit............................................................................................ 217<br />

extractjava.................................................................................... 218<br />

installjava ..................................................................................... 221<br />

isql................................................................................................ 226<br />

langinstall ..................................................................................... 236<br />

optdiag ......................................................................................... 239<br />

pwdcrypt....................................................................................... 246<br />

showserver................................................................................... 247<br />

sqldbgr ......................................................................................... 247<br />

sqlloc ............................................................................................ 253<br />

sqllocres ....................................................................................... 254<br />

sqlsrvr........................................................................................... 255<br />

sqlupgrade ................................................................................... 263<br />

sqlupgraderes .............................................................................. 264<br />

srvbuild......................................................................................... 264<br />

srvbuildres.................................................................................... 265<br />

startserver .................................................................................... 266<br />

sybmigrate.................................................................................... 269<br />

xpserver ....................................................................................... 273<br />

Index ........................................................................................................................................... 277<br />

<strong>Dienstprogramme</strong> vii


Inhalt<br />

viii Adaptive Server Enterprise


Über dieses Handbuch<br />

<strong>Dienstprogramme</strong> für Adaptive Server Enterprise ist ein Leitfaden für<br />

die <strong>Dienstprogramme</strong> in <strong>Sybase</strong> ® Adaptive Server ® Enterprise, die für<br />

UNIX-Plattformen und Windows NT verfügbar sind. <strong>Dienstprogramme</strong><br />

sind Befehle, die Sie direkt vom Betriebssystem aus aufrufen können.<br />

Zielgruppe Dieses Handbuch ist für Benutzer gedacht, die Transact-SQL ® und<br />

Adaptive Server Enterprise Version 12.5 verwenden. Es setzt voraus,<br />

dass Sie Grundkenntnisse über Adaptive Server und Ihr Betriebssystem<br />

besitzen.<br />

Umgang mit dieser<br />

Dokumentation<br />

Dieses Handbuch besteht aus folgenden Kapiteln:<br />

Kapitel 1, „Server mit dem dataserver-Dienstprogramm einrichten“,<br />

beschreibt, wie Sie mit dem Dienstprogramm dataserver neue Server<br />

erstellen.<br />

Kapitel 2, „Das isql-Dienstprogramm verwenden“, beschreibt, wie<br />

Sie das Dienstprogramm Interactive SQL (isql) verwenden, mit dem<br />

Sie von Ihrem Betriebssystem aus auf SQL zugreifen können.<br />

Kapitel 3, „Daten mit bcp in und aus Adaptive Server übertragen“,<br />

beschreibt detailliert das Dienstprogramm bcp für den Massenexport/<br />

-import von Daten, mit dem Sie Daten zwischen Adaptive Server und<br />

einer Betriebssystemdatei verschieben können.<br />

Kapitel 4, „dsedit verwenden“, beschreibt wie Sie das Verzeichnisdienst-Editor-Dienstprogramm<br />

dsedit verwenden, um die Interface-<br />

Datei sql.ini unter Windows NT zu bearbeiten, und um in X-Windows<br />

Servereinträge in der Interface-Datei auf UNIX-Plattformen<br />

anzuzeigen und zu bearbeiten.<br />

Kapitel 5, „dscp verwenden“, beschreibt, wie Sie mit dem<br />

Dienstprogramm dscp Servereinträge in der Interface-Datei auf<br />

UNIX-Plattformen anzeigen und bearbeiten.<br />

Kapitel 6, „Migrations-Dienstprogramm“, beschreibt, wie Sie mit<br />

dem Dienstprogramm sybmigrate Daten und Datenbankenschemata<br />

aus Datenbankversionen vor 12.5 in Datenbanken der Version 12.5<br />

übertragen.<br />

<strong>Dienstprogramme</strong> ix


Weiterführende<br />

Dokumentationen<br />

Kapitel 7, „Adaptive Server Plug-In installieren“, beschreibt das<br />

Adaptive Server Enterprise Plug-In sowie den Einsatz der Monitor<br />

Client-GUI als Teil des Adaptive Server Plug-In und als eigenständige<br />

Anwendung. Außerdem wird die Verwendung der C++-Version des<br />

Adaptive Server Plug-In erläutert.<br />

Kapitel 8, „Übersicht über die Dienstprogrammbefehle“, listet<br />

die Dienstprogrammbefehle und ihre Beschreibung auf, mit denen<br />

Sie Ihre Datenbanken und Adaptive Server Enterprise verwalten und<br />

pflegen können.<br />

Die Beispiele in diesem Handbuch basieren auf der Musterdatenbank pubs2.<br />

Ihr Systemadministrator kann Ihnen beim Zugriff auf eine saubere Kopie der<br />

Datenbank pubs2 behilflich sein.<br />

Die Dokumentation von <strong>Sybase</strong> ® Adaptive Server ® Enterprise umfasst<br />

Folgendes:<br />

Versionshinweise für Ihre Plattform – Diese Dokumentation enthält<br />

aktuelle Informationen, die in die anderen Dokumente nicht mehr<br />

aufgenommen werden konnten.<br />

Eine neuere Ausgabe dieser Versionshinweise finden Sie unter Umständen<br />

im World Wide Web. Um wichtige Produkt- oder Dokumentationsinformationen<br />

zu erhalten, die erst nach der Herausgabe der Produkt-CD<br />

verfasst wurden, benutzen Sie die „Technical Library“.<br />

Installationsanleitungen für Ihre Plattform – Diese Dokumentationen<br />

beschreiben Installations- und Upgrade-Prozeduren für alle Adaptive<br />

Server-Installationen und ähnliche <strong>Sybase</strong>-Produkte.<br />

What’s New in Adaptive Server Enterprise? (in englischer Sprache) –<br />

Diese Einführungsdokumentation beschreibt die neuen Funktionen der<br />

Version 12.5.1 von Adaptive Server Enterprise, die für die Unterstützung<br />

dieser Funktionen durchgeführten Systemänderungen und die<br />

Änderungen, die sich auf Ihre vorhandenen Anwendungen<br />

auswirken können.<br />

ASE Replicator User’s Guide (in englischer Sprache) – Diese<br />

Dokumentation beschreibt die Verwendungsweise der ASE Replicator-<br />

Funktion von Adaptive Server zur Umsetzung einer grundlegenden<br />

Replikation aus einem Primärserver auf einen oder mehrere entfernte<br />

Adaptive Server.<br />

Component Integration Services User’s Guide (in englischer Sprache) –<br />

In dieser Dokumentation wird erklärt, wie Sie die Adaptive Server<br />

Component Integration Services verwenden, um sich mit entfernten<br />

<strong>Sybase</strong>- und Nicht-<strong>Sybase</strong>-Datenbanken zu verbinden.<br />

x Adaptive Server Enterprise


Über dieses Handbuch<br />

Konfigurationsanleitung für Adaptive Server Enterprise für Ihre<br />

Plattform – Diese Dokumentation enthält Anweisungen für bestimmte<br />

Aufgaben zur Konfiguration von Adaptive Server.<br />

EJB Server User’s Guide (in englischer Sprache) – Dieses Benutzerhandbuch<br />

erläutert, wie EJB Server zur Bereitstellung und Ausführung<br />

von Enterprise JavaBeans in Adaptive Server eingesetzt wird.<br />

Error Messages and Troubleshooting Guide (in englischer Sprache) –<br />

Diese Dokumentation beschreibt, wie häufig auftretende Fehler behoben<br />

werden können, und bietet Lösungen zu Systemfehlern, auf die Benutzer<br />

häufig stoßen.<br />

Full-Text Search Specialty Data Store User’s Guide (in englischer<br />

Sprache) – Dieses Benutzerhandbuch beschreibt den Einsatz der Volltext-<br />

Recherchefunktion mit Verity zum Durchsuchen von Daten in Adaptive<br />

Server Enterprise-Datenbanken.<br />

Glossary (in englischer Sprache) – Im Glossar werden Fachbegriffe<br />

definiert, die in der Dokumentation von Adaptive Server verwendet<br />

werden.<br />

Historical Server User’s Guide (in englischer Sprache) – Dieses<br />

Handbuch beschreibt den Einsatz von Historical Server für den Abruf<br />

von Performancedaten von SQL Server ® und Adaptive Server.<br />

Java in Adaptive Server Enterprise (in englischer Sprache) – Diese<br />

Dokumentation beschreibt, wie Sie Java-Klassen als Datentypen sowie<br />

benutzerdefinierte Funktionen in der Adaptive Server-Datenbank<br />

installieren und einsetzen.<br />

Job Scheduler User’s Guide (in englischer Sprache) – Dieses<br />

Handbuch enthält Anleitungen zur Installation und Konfiguration sowie<br />

zur Erstellung und Planung von Aufträgen auf lokalen oder entfernten<br />

Adaptive Server-Installationen über die Befehlszeile oder eine grafische<br />

Benutzeroberfläche.<br />

Monitor Client Library Programmer’s Guide (in englischer Sprache) –<br />

Dieses Handbuch für Programmierer enthält Anleitungen zum<br />

Programmieren von Monitor Client Library-Anwendungen,<br />

die auf Performancedaten von Adaptive Server zugreifen.<br />

Monitor Server User’s Guide (in englischer Sprache) – Dieses Handbuch<br />

beschreibt den Einsatz von Monitor Server für den Abruf von<br />

Performancedaten von SQL Server und Adaptive Server.<br />

<strong>Dienstprogramme</strong> xi


Performance and Tuning Guide (in englischer Sprache) – In dieser<br />

vierteiligen Dokumentation wird erklärt, wie Adaptive Server so optimiert<br />

wird, dass er mit höchster Performance arbeitet:<br />

Basics – Dieses Dokument enthält grundlegende Informationen<br />

zum Verständnis und zur Untersuchung von Performancefragen in<br />

Adaptive Server.<br />

Locking – Dieses Dokument erläutert die Verwendungsweise der<br />

unterschiedlichen Sperrschemata zur Performanceverbesserung in<br />

Adaptive Server.<br />

Optimizer and Abstract Plans – Dieses Dokument erläutert,<br />

wie ein Optimierer Abfragen verarbeitet und wie Abstraktpläne<br />

zur Anpassung von Optimiererplänen verwendet werden können.<br />

Monitoring and Analyzing – Dieses Dokument beschreibt, wie<br />

statistische Daten abgerufen und zur Überwachung und Optimierung<br />

der Performance verwendet werden.<br />

Kurzreferenz – Diese Kurzübersicht bietet eine vollständige Liste der<br />

Namen und der Syntax von Befehlen, Funktionen, Systemprozeduren,<br />

erweiterten Systemprozeduren, Datentypen und <strong>Dienstprogramme</strong>n im<br />

handlichen Taschenbuchformat.<br />

Reference Manual (in englischer Sprache) – Diese vierteilige<br />

Dokumentation enthält folgende detaillierte Informationen zu<br />

Transact-SQL ® :<br />

Building Blocks – Enthält Transact-SQL-Datentypen, Funktionen,<br />

globale Variablen, Ausdrücke, Bezeichner und Wildcard-Zeichen<br />

sowie reservierte Wörter.<br />

Commands – Enthält Transact-SQL-Befehle.<br />

Procedures – Enthält Transact-SQL-Systemprozeduren, Katalog-<br />

Systemprozeduren, erweiterte Systemprozeduren sowie gespeicherte<br />

Prozeduren für dbcc.<br />

Tables – Enthält Transact-SQL-Systemtabellen und dbcc-Tabellen.<br />

Systemadministration für Adaptive Server Enterprise – Diese<br />

Dokumentation bietet detaillierte Informationen zur Verwaltung von<br />

Servern und Datenbanken. Außerdem werden darin Anleitungen und<br />

Richtlinien für die Verwaltung von physischen Ressourcen, Sicherheit<br />

und Benutzer- bzw. Systemdatenbanken sowie für die Definition der<br />

Zeichensatzkonvertierung, für internationale Sprachversionen und für<br />

Einstellungen der Sortierreihenfolge besprochen.<br />

xii Adaptive Server Enterprise


Über dieses Handbuch<br />

System Tables Diagram – Dieses Übersichtsschema zeigt die<br />

Systemtabellen und ihre Entitätsrelationen in Form eines Plakats.<br />

Nur in gedruckter Form verfügbar.<br />

Transact-SQL User’s Guide (in englischer Sprache) – Diese<br />

Dokumentation beschäftigt sich mit Transact-SQL, der von <strong>Sybase</strong><br />

erweiterten Version der Sprache für relationale Datenbanken. Dieses<br />

Handbuch dient als Lehrbuch für Erstbenutzer des Datenbank-<br />

Managementsystems. Außerdem enthält es Beschreibungen der<br />

Beispieldatenbanken pubs2 und pubs3.<br />

Using Adaptive Server Distributed Transaction Management<br />

Features (in englischer Sprache) – Diese Dokumentation erklärt, wie<br />

Sie Adaptive Server DTM-Funktionen in einer Umgebung mit verteilter<br />

Transaktionsverarbeitung konfigurieren und verwenden sowie eventuell<br />

auftretende Fehler beheben.<br />

Using <strong>Sybase</strong> Failover in a High Availability System (in englischer<br />

Sprache) – Diese Dokumentation enthält Anweisungen zur Arbeit mit<br />

<strong>Sybase</strong> Failover, um Adaptive Server als Begleitserver-Konfiguration<br />

in einem System mit hoher Verfügbarkeit zu konfigurieren.<br />

<strong>Dienstprogramme</strong> – Dieses Handbuch dokumentiert die Adaptive Server-<br />

<strong>Dienstprogramme</strong> wie isql und bcp, die auf Betriebssystemebene<br />

ausgeführt werden.<br />

Web Services User’s Guide (in englischer Sprache) – Dieses Handbuch<br />

erläutert die Konfiguration und Verwendung von Web Services für<br />

Adaptive Server sowie Maßnahmen zur Fehlerbehebung.<br />

XA Interface Integration Guide for CICS, Encina, and TUXEDO<br />

(in englischer Sprache) – Dieses Handbuch für die Integration von<br />

Schnittstellen enthält Anweisungen zur Verwendung der <strong>Sybase</strong>-<br />

DTM-XA-Schnittstelle mit X/Open XA-Transaktionsmanagern.<br />

XML Services in Adaptive Server Enterprise (in englischer Sprache) –<br />

Dieses Dokument beschreibt den <strong>Sybase</strong>-eigenen XML-Prozessor und<br />

den Java-basierten XML-Support von <strong>Sybase</strong>, gibt eine Einführung in<br />

XML in Datenbanken und legt die Abfrage- und Zuordnungsfunktionen<br />

der XML Services dar.<br />

<strong>Dienstprogramme</strong> xiii


<strong>Sybase</strong>-<br />

Zertifizierungen<br />

im Internet<br />

<strong>Sybase</strong>-EBFs und<br />

Software-Updates<br />

Die technischen Informationen auf der <strong>Sybase</strong>-Website werden in<br />

regelmäßigen Abständen aktualisiert.<br />

❖ So finden Sie die neuesten Informationen zu Produkt-Zertifizierungen:<br />

1 Gehen Sie in Ihrem Webbrowser zur Adresse Technical Documents<br />

http://www.sybase.com/support/techdocs/.<br />

2 Wählen Sie „Products“ aus der Navigationsleiste auf der linken Seite.<br />

3 Wählen Sie ein Produkt aus der Auswahlliste aus und klicken Sie<br />

auf „Go“.<br />

4 Wählen Sie den Filter „Certification Report“ aus, geben Sie einen<br />

Zeitrahmen an, und klicken Sie auf „Go“.<br />

5 Klicken Sie auf den gewünschten Titel, um den Report anzuzeigen.<br />

❖ So erstellen Sie eine auf Ihre persönlichen Bedürfnisse angepasste<br />

Ansicht der <strong>Sybase</strong>-Website (einschließlich Support-Seiten):<br />

Richten Sie ein My<strong>Sybase</strong>-Profil ein. My<strong>Sybase</strong> ist eine kostenlose<br />

Serviceleistung, mit der Sie eine auf Ihre persönlichen Anforderungen<br />

angepasste Ansicht der <strong>Sybase</strong>-Website erstellen können.<br />

1 Gehen Sie in Ihrem Webbrowser zur Adresse Technical Documents<br />

http://www.sybase.com/support/techdocs/.<br />

2 Klicken Sie auf „My<strong>Sybase</strong>“ und erstellen Sie ein My<strong>Sybase</strong>-Profil.<br />

❖ So finden Sie die neuesten Informationen zu EBFs und Software-<br />

Updates:<br />

1 Gehen Sie in Ihrem Webbrowser zur Adresse the <strong>Sybase</strong> Support Page<br />

http://www.sybase.com/support.<br />

2 Wählen Sie „EBFs/Maintenance“ aus. Geben Sie einen Benutzernamen<br />

und ein Kennwort ein, falls Sie dazu aufgefordert werden, oder erstellen<br />

Sie ein neues Konto (ein kostenloser Dienst).<br />

3 Wählen Sie ein Produkt aus.<br />

4 Geben Sie einen Zeitrahmen an und klicken Sie auf „Go“.<br />

5 Klicken Sie zur Anzeige des EBF/Maintenance-Reports auf das<br />

Info-Symbol, oder klicken Sie auf die Produktbeschreibung, um die<br />

entsprechende Software herunterzuladen.<br />

xiv Adaptive Server Enterprise


Über dieses Handbuch<br />

Konventionen Im normalen Fließtext dieses Handbuchs werden Namen von Dateien,<br />

Datenträgern und Verzeichnissen kursiv gesetzt, zum Beispiel:<br />

Unter Windows NT: %SYBASE%\bin<br />

Auf UNIX-Plattformen: $SYBASE<br />

Hinweis Setzen Sie Ihr <strong>Sybase</strong>-Installationslaufwerk und -verzeichnis<br />

unter UNIX auf $SYBASE und unter Windows NT auf %SYBASE%.<br />

Tabelle 1 beschreibt die typographischen (Schriftart- und Syntax-)<br />

Konventionen, die in dieser Dokumentation benutzt werden.<br />

Tabelle 1: Schriftart- und Syntaxkonventionen in diesem Handbuch<br />

Element Beispiel<br />

Die Namen von Befehlen, Befehlsoptionen, dsedit<br />

Datenbanken, Datentypen, <strong>Dienstprogramme</strong>n,<br />

Dienstprogramm-Parametern und anderen<br />

Schlüsselwörtern werden in Helvetica dargestellt.<br />

Variablen oder Wörter, die durch einen<br />

select Spaltenname<br />

entsprechenden Wert ersetzt werden müssen, from Tabellenname<br />

werden kursiv dargestellt.<br />

where Suchbedingungen<br />

Runde Klammern sind ein Teil des Befehls und compute row_aggregate (Spaltenname)<br />

müssen eingegeben werden.<br />

Geschweifte Klammern bedeuten, dass<br />

{Käse, Soße}<br />

Sie zumindest eine der darin angegebenen<br />

Optionen wählen müssen (siehe Komma).<br />

Hinweis Die geschweiften Klammern selbst dürfen nicht<br />

eingegeben werden.<br />

Eckige Klammern bedeuten, dass die darin<br />

angegebenen Optionen wahlfrei sind.<br />

Der Senkrechtstrich bedeutet, dass Sie nur eine<br />

der angegebenen Optionen auswählen können.<br />

Das Komma bedeutet, dass Sie beliebig viele der<br />

angegebenen Optionen durch Kommas voneinander<br />

getrennt eingeben können.<br />

[Salat, grüne_Bohnen, Sauerkraut]<br />

Hinweis Die Klammern selbst dürfen nicht eingegeben<br />

werden.<br />

{Barzahlung | Scheck | Kreditkarte}<br />

Hinweis Die geschweiften Klammern selbst dürfen nicht<br />

eingegeben werden.<br />

[Schmelzkäse, Avocados, Sahne]<br />

Hinweis Die Klammern selbst dürfen nicht eingegeben<br />

werden.<br />

<strong>Dienstprogramme</strong> xv


Element Beispiel<br />

Auslassungspunkte (...) bedeuten, dass Sie den<br />

vorhergehenden Eintrag beliebig oft wiederholen<br />

können.<br />

Syntaxanweisungen, die die Syntax der<br />

<strong>Dienstprogramme</strong> mit all ihren Optionen zeigen,<br />

werden wie folgt dargestellt: entweder in der Schrift<br />

San Serif bei Dienstprogramm-Parametern und<br />

Optionen (-v) oder kursiv bei vom Benutzer<br />

gelieferten Werten (Benutzername).<br />

Beispiele, die Computerausgaben zeigen, werden in<br />

Courier dargestellt:<br />

Falls Sie Hilfe<br />

brauchen<br />

Dinge kaufen = Preis [Bargeld | Scheck |<br />

Kreditkarte]<br />

[, Dinge = Preis [Bargeld | Scheck |<br />

Kreditkarte] ]...<br />

Sie müssen zumindest ein Ding (Objekt) kaufen und den<br />

Preis dafür bezahlen.<br />

Sie können die Zahlungsart aussuchen: eine der Optionen<br />

in den eckigen Klammern.<br />

Sie können auch zusätzliche Objekte kaufen, so viele<br />

Sie wollen. Für jedes Objekt, das Sie kaufen, geben<br />

Sie seinen Namen, seinen Preis und (fakultativ) die<br />

Zahlungsart an.<br />

charset<br />

[-PKennwort]<br />

[-SServer]<br />

[-ISchnittstelle]<br />

Sortierreihenfolge | Zeichensatz<br />

pub_id pub_name city state<br />

------ --------- ---------- -----<br />

0736 New Age Books Boston MA<br />

0877 Binnet & Hardley Washington DC<br />

(2 rows affected)<br />

Für jede <strong>Sybase</strong>-Installation, für die ein Kundendienst-Vertrag abgeschlossen<br />

wurde, werden Personen bestimmt, die im Bedarfsfall Kontakt zum<br />

technischen Kundendienst von <strong>Sybase</strong> aufnehmen. Wenn Sie ein Problem<br />

haben, das Sie weder mit der Dokumentation noch mit der Online-Hilfe lösen<br />

können, bitten Sie die in Ihrer Organisation vorgesehene Person, mit dem<br />

technischen Kundendienst von <strong>Sybase</strong> oder der <strong>Sybase</strong>-Geschäftsstelle in<br />

Ihrem Bereich Kontakt aufzunehmen.<br />

xvi Adaptive Server Enterprise


KAPITEL 1 Server mit dem dataserver-<br />

Dienstprogramm einrichten<br />

Einführung<br />

Adaptive Server Version 12.5 verwendet nicht mehr die buildmaster-<br />

Binärdatendatei, um das Master-Device zu erstellen. Stattdessen hat<br />

<strong>Sybase</strong> die buildmaster-Funktionalität in dataserver integriert. In diesem<br />

Kapitel wird beschrieben, wie Sie dataserver zum Einrichten Ihres Servers<br />

verwenden.<br />

Thema Seite<br />

Einführung 1<br />

Ein neues Master-Device einrichten 2<br />

Hinweis Die dataserver-Binärdatendatei hat unter Windows NT den<br />

Namen sqlsrvr.exe. Wenn Sie die Windows NT-Plattform verwenden,<br />

ersetzen Sie alle Verweise auf dataserver in diesem Kapitel durch sqlsrvr.<br />

Eine ausführliche Beschreibung der dataserver-Syntax finden Sie unter<br />

dataserver auf Seite 188. Eine ausführliche Beschreibung der sqlsrvr-<br />

Syntax finden Sie unter sqlsrvr auf Seite 259.<br />

Mit dem Befehl dataserver können Sie Master-Devices und Datenbanken<br />

mit logischen Seitengrößen von 2 KByte, 4 KByte, 8 KByte oder<br />

16 KByte erstellen. Größere logische Seiten ermöglichen Ihnen, größere<br />

Zeilen zu erstellen, die Adaptive Server die Möglichkeit geben, auf mehr<br />

Daten bei jedem Seitenlesen zuzugreifen. Eine 16-KByte-Seite zum<br />

Beispiel kann das Achtfache der Datenmenge einer 2-KByte-Seite<br />

aufnehmen, eine 8-KByte-Seite das Vierfache einer 2-KByte-Seite<br />

usw.; dies gilt für alle Größen von logischen Seiten.<br />

<strong>Dienstprogramme</strong> 1


Ein neues Master-Device einrichten<br />

Da die logische Seitengröße eine serverweite Einstellung ist, können Sie keine<br />

Datenbanken mit unterschiedlichen logischen Seitengrößen auf demselben<br />

Server einrichten. Die Größe aller Tabellen wird entsprechend angepasst,<br />

so dass die Zeilengröße die aktuelle Seitengröße des Servers nicht<br />

überschreitet. Das heißt, Zeilen können sich nicht über mehrere Seiten<br />

erstrecken.<br />

Ein neues Master-Device einrichten<br />

In diesem Abschnitt wird der Vorgang zur Erstellung eines neuen Master-<br />

Device anhand des Dienstprogramms dataserver beschrieben. Das Master-<br />

Device wird unter Verwendung des build-Modus in dataserver eingerichtet.<br />

Nachdem das Master-Device eingerichtet worden ist, fährt der Server herunter.<br />

Sie müssen nun den Server manuell im start-Modus starten. Danach können<br />

Sie Adaptive Server nach Bedarf jederzeit starten, stoppen und erneut starten,<br />

ohne dass Sie das Master-Device neu einrichten müssen.<br />

Adaptive Server verwendet drei Typen von Seitengrößen:<br />

Logische Seitengröße – dies sind die Seiten, mit denen die<br />

Datenbankobjekte eingerichtet werden. Eine Datenbank und alle sich<br />

auf sie beziehenden Objekte müssen dieselbe logische Seitengröße<br />

verwenden. Logische Seitengrößen sind 2 KByte, 4 KByte, 8 KByte<br />

und 16 KByte.<br />

Virtuelle Seitengröße – dies ist die physische Seitenzuweisung auf der<br />

Plattenspeicher-Ebene, die immer in 2-KByte-Seiten erfolgt. Alle I/O-<br />

Vorgänge werden als Vielfaches der virtuellen Seitengröße durchgeführt.<br />

Speicher-Seitengröße – der Speicher, der innerhalb von Adaptive Server<br />

zugewiesen und verwaltet wird. Die Speicher-Seitengröße besteht immer<br />

aus Einheiten von 2-KByte-Seiten.<br />

Die folgende Syntax erstellt ein neues Master-Device mit dataserver:<br />

dataserver -dDevice_Name<br />

. . .<br />

-b [Master_Device_Größe [k|K|m|M|g|G]<br />

[-z logische_Seitengröße [k|K]<br />

-h<br />

2 Adaptive Server Enterprise


Wobei gilt:<br />

Kapitel 1 Das isql-Dienstprogramm verwenden<br />

-d Device_Name ist der vollständige Pfad des Device für die master-<br />

Datenbank. Das Master-Datenbankdevice muss für den Benutzer,<br />

der Adaptive Server startet, beschreibbar sein. Der standardmäßige<br />

master-Datenbankdevicename lautet d_master.<br />

-b gibt an, dass dataserver sich im Einrichtmodus befindet und ein neues<br />

Master-Device erstellt, und zeigt die Größe des Master-Device an. Wenn<br />

Sie keine Einheit (k, m oder g) für die Größe des Device anführen, nimmt<br />

dataserver eine Größe in virtuellen Seiten an. Die Größe einer virtuellen<br />

Seite ist immer 2 KByte. Beispiel:<br />

-b 51204 legt ein Device von 51.204 virtuellen Seiten (100,0078125<br />

MByte) fest.<br />

-b 100M gibt ein Device von 100 MByte an.<br />

-z legt die logische Seitengröße fest, die immer 2K, 4K, 8K oder 16K beträgt.<br />

Das heißt, eine logische Seite = N virtuelle Seiten. Dieser Parameter ist<br />

während der Einrichtphase fakultativ und wird im Start-Modus ignoriert.<br />

Wenn Sie keinen -z-Parameter während des Einrichtmodus angeben,<br />

wird das Master-Device mit logischen Seiten von 2 KByte erstellt.<br />

-h druckt die Syntax für den dataserver-Befehl.<br />

Unter dataserver auf Seite 188 finden Sie eine vollständige Liste der<br />

dataserver-Parameter sowie ihre Definitionen.<br />

Betriebsumgebungen für dataserver<br />

Wenn Sie eine Adaptive Server-Installation mit dem dataserver-Programm<br />

starten, entnimmt Adaptive Server seine Betriebsumgebung aus:<br />

der Konfigurationsdatei, die Sie in -c Konfigurationsdatei festgelegt haben<br />

der Standard-Konfigurationsdatei servername.cfg, sofern Sie den<br />

Parameter -c nicht angegeben haben<br />

Standardwerten, sofern Sie weder -c Konfigurationsdatei noch<br />

servername.cfg angegeben haben<br />

Weitere Hinweise zu diesen Konfigurationsparametern finden Sie in<br />

Kapitel 17, „Konfigurationsparameter einstellen“, in der Dokumentation<br />

Systemadministration für Adaptive Server Enterprise.<br />

<strong>Dienstprogramme</strong> 3


Ein neues Master-Device einrichten<br />

Einrichtmodus<br />

Um eine neue Adaptive Server-Installation einzurichten, verwenden Sie<br />

dataserver mit den Optionen -b und -z. Zum Beispiel:<br />

So richten Sie ein 100-MByte-Master-Device ein, wobei die logische<br />

Standard-Seitengröße (2 KByte) verwendet wird, und starten den Server:<br />

dataserver -d /var/sybase/masterdb.dat -b100M -sMASTER2K<br />

So richten Sie ein 100-MByte-Master-Device mit einer logischen<br />

Seitengröße von 4 KByte ein:<br />

dataserver -d /var/sybase/masterdb.dat -b100M -z4K -sMASTER4K<br />

So richten Sie ein Master-Device von 102.400 virtuellen Seiten mit<br />

der Größe von 2 KByte ein, erstellen Datenbanken mit einer logischen<br />

Seitengröße von 8 KByte und fahren den Server hoch:<br />

dataserver -d /var/sybase/masterdb.dat -b102400 -z8K -sMASTER8K<br />

Wenn der angeforderte Platzbedarf (102.400 x 2 KByte = 200 MByte)<br />

nicht ausreicht, um alle benötigten Systemdatenbanken mit der angegebenen<br />

logischen Seitengröße einzurichten, wird eine Fehlermeldung ausgegeben,<br />

und der Vorgang schlägt fehl.<br />

Beispiel Es folgt ein Beispiel der Ausgabe von dataserver, wobei ein 200-MByte-<br />

Device mit einer logischen Seitengröße von 2 KByte namens personnel2k<br />

eingerichtet wird:<br />

dataserver -d /var/sybase/personnel2k.dat -b200M -z2k -sPERSONNEL2K<br />

dataserver verwendet eine Standard-Konfigurationsdatei, wenn Sie keine<br />

angeben:<br />

00:00000:00000:2001/04/16 10:24:31.73 kernel Warning: Using default file<br />

'/var/sybase/PERSONNEL2K.cfg' since a configuration file was not specified.<br />

Specify a configuration file name in the RUNSERVER file to avoid this<br />

message.<br />

Um Ihre eigene Konfigurationsdatei anzugeben, verwenden Sie den Parameter<br />

-c von dataserver. Weitere Hinweise finden Sie in Kapitel 11, „Konfigurationsparameter<br />

einstellen“, in der Dokumentation Systemadministration für<br />

Adaptive Server Enterprise.<br />

4 Adaptive Server Enterprise


Kapitel 1 Das isql-Dienstprogramm verwenden<br />

Adaptive Server Version 12.5 behandelt jede Installation als ein Upgrade,<br />

unabhängig davon, ob Sie bereits eine Version von Adaptive Server haben oder<br />

nicht. Daher erhalten Sie bei Ausführung von dataserver die folgende Ausgabe:<br />

00:00000:00001:2001/04/16 10:24:32.63 server Database 'master' appears to<br />

be at an older revision than the present installation; SQL Server will assess<br />

it, and upgrade it as required.<br />

00:00000:00001:2001/04/16 10:24:32.66 server Database 'master': beginning<br />

upgrade step [ID 1]: Initialize disk and create empty allocation units on<br />

master device.<br />

00:00000:00001:2001/04/16 10:24:34.74 server Database 'master': beginning<br />

upgrade step [ID 2]: Bootstrap basic system catalogs in database.<br />

dataserver fährt mit der Erstellung der master-Datenbank fort, einschließlich<br />

aller Tabellen wie systypes, sysobjects und sysusages:<br />

00:00000:00001:2001/04/16 10:24:35.21 server Database 'master': beginning<br />

upgrade step [ID 3]: creating index (table systypes, index ncsystypes)<br />

00:00000:00001:2001/04/16 10:24:35.36 server Database 'master': beginning<br />

upgrade step [ID 4]: creating index (table sysobjects, index ncsysobjects)<br />

00:00000:00001:2001/04/16 10:24:35.44 server Database 'master': beginning<br />

upgrade step [ID 20]: creating table (table sysusages)<br />

[...]<br />

Wenn dataserver die master-Datenbank erstellt hat, wird die model-Datenbank<br />

erstellt:<br />

[...]<br />

00:00000:00001:2001/04/16 10:24:43.14 server Database 'model' appears to<br />

be at an older revision than the present installation; SQL Server will assess<br />

it, and upgrade it as required.<br />

00:00000:00001:2001/04/16 10:24:43.14 server Database 'model': beginning<br />

upgrade step [ID 1]: Initialize disk and create empty allocation units on<br />

master device.<br />

00:00000:00001:2001/04/16 10:24:43.83 server Database 'model': beginning<br />

upgrade step [ID 2]: Bootstrap basic system catalogs in database.<br />

00:00000:00001:2001/04/16 10:24:43.89 server Database 'model': beginning<br />

upgrade step [ID 3]: creating index (table systypes, index ncsystypes)<br />

00:00000:00001:2001/04/16 10:24:43.91 server Database 'model': beginning<br />

upgrade step [ID 4]: creating index (table sysobjects, index ncsysobjects)<br />

[...]<br />

<strong>Dienstprogramme</strong> 5


Ein neues Master-Device einrichten<br />

Wenn dataserver die model-Datenbank erstellt hat, werden die Datenbanken<br />

tempdb und sybsystemdb erstellt:<br />

[...]<br />

00:00000:00001:2001/04/16 10:24:45.23 server CREATE DATABASE: allocating<br />

1024 logical pages (2.0 megabytes) on disk 'master'.<br />

00:00000:00001:2001/04/16 10:24:46.79 server Database sybsystemdb<br />

successfully created.<br />

[...]<br />

dataserver war erfolgreich, wenn der Server die standardmäßige<br />

Sortierreihenfolge ändert und herunterfährt:<br />

[...]<br />

00:00000:00001:2001/04/16 10:24:47.23 server Now loading SQL Server's new<br />

default sort order and character set<br />

[...]<br />

00:00000:00001:2001/04/16 10:24:47.31 server Default Sort Order<br />

successfully changed.<br />

00:00000:00001:2001/04/16 10:24:47.37 server SQL Server shutdown after<br />

verifying System Indexes.<br />

00:00000:00001:2001/04/16 10:24:47.37 kernel ueshutdown: exiting<br />

Fehlermeldungen Falls dataserver fehlgeschlagen ist, können Sie den Server nicht auf dem<br />

Master-Device hochfahren, und es wird folgende Fehlermeldung ausgegeben:<br />

00:00000:00001:2001/04/16 19:02:39.53 kernel Use license file<br />

/var/sybase/SYSAM-1_0/licenses/license.dat.<br />

00:00000:00001:2001/04/16 19:02:39.54 kernel The master device's<br />

configuration area appears to be corrupt. The server needs this data to boot,<br />

and so cannot continue. The server will shut down.<br />

Wenn Sie dataserver mit einer benutzerdefinierten Konfigurationsdatei<br />

ausführen, die Optionen enthält, die die Zuweisung eines gemeinsam<br />

genutzten Segments und den Start eines Servers verhindern, schlägt dataserver<br />

fehl und gibt eine Fehlermeldung aus. Sie können in diesem Fall den Server<br />

nicht auf dem Master-Device hochfahren:<br />

00:00000:00001:2001/04/16 19:04:01.11 kernel Use license file<br />

/var/sybase/SYSAM-1_0/licenses/license.dat.<br />

00:00000:00000:2001/02/09 19:04:01.25 kernel Using config area from primary<br />

master device.<br />

00:00000:00001:2001/04/16 19:04:01.36 server The value of the 'max<br />

total_memory' parameter (33792) defined in the configuration file is not<br />

high enough to set the other parameter values specified in the configuration<br />

file. 'max total_memory' should be greater than the logical memory '34343'.<br />

6 Adaptive Server Enterprise


Start-Modus<br />

Kapitel 1 Das isql-Dienstprogramm verwenden<br />

Um eine vorhandene Adaptive Server-Installation zu starten, geben Sie<br />

dataserver ohne die Optionen -b und -z aus.<br />

dataserver -d /sybase/masterdb.dat<br />

Upgrade zu einem Server mit größeren Seitengrößen<br />

Adaptive Server vor der Version 12.5 haben logische Seitengrößen von<br />

2 KByte verwendet. Sie können die Seitengrößen einer Installation nicht<br />

durch ein Upgrade ändern. Das heißt, wenn Ihre derzeitige Adaptive Server-<br />

Installation logische Seiten von 2 KByte verwendet, kann das Ergebnis des<br />

Upgrades nur ein Adaptive Server sein, der ebenfalls logische Seiten von<br />

2 KByte verwendet.<br />

Sie können allerdings Datenbanken mit logischen 2-KByte-Seiten aus früheren<br />

Versionen von Adaptive Server migrieren. Hinweise dazu, wie Sie das dataxtr-<br />

Datenmigrations-Tool einsetzen, finden Sie in den Adaptive Server Enterprise-<br />

Versionshinweisen für Ihre Plattform.<br />

Die aktuellen Server-Beschränkungen anzeigen<br />

So zeigen Sie Informationen über die Beschränkungen einer Adaptive Server-<br />

Installation an:<br />

Die Ausgabe von dbcc serverlimits enthält die logische Seitengröße Ihres<br />

Servers. Dazu geben Sie beispielsweise ein:<br />

dbcc serverlimits<br />

Suchen Sie nach der Zeichenfolge „logical page size“ im Fehlerlog.<br />

Die globale Variable @@maxpagesize zeigt die logische Seitengröße des<br />

Servers an. Geben Sie an der isql-Eingabeaufforderung Folgendes ein:<br />

select @@maxpage size<br />

-----------<br />

8192<br />

<strong>Dienstprogramme</strong> 7


Ein neues Master-Device einrichten<br />

8 Adaptive Server Enterprise


KAPITEL 2 Das isql-Dienstprogramm<br />

verwenden<br />

Vorbereitungen<br />

Dieses Kapitel beschreibt das interaktive SQL-Dienstprogramm isql.<br />

Thema Seite<br />

Vorbereitungen 9<br />

isql starten und stoppen 10<br />

Transact-SQL in isql verwenden 10<br />

Das Befehlsabschlusszeichen ändern 13<br />

Wechselwirkung von Performance-Statistik und<br />

Befehlsabschlusszeichen-Werten<br />

14<br />

Netzwerkpaketgröße einstellen 15<br />

Eingabe- und Ausgabedateien 16<br />

Eine ausführliche Beschreibung der isql-Syntax finden Sie unter isql auf<br />

Seite 227.<br />

Wenn Sie Open Client Version 11.1 oder später ausführen und eine<br />

externe <strong>Sybase</strong>-Konfigurationsdatei verwenden, müssen Sie Folgendes<br />

Ihrer Konfigurationsdatei hinzufügen, um isql zu aktivieren:<br />

[CTISQL]<br />

<strong>Dienstprogramme</strong> 9


isql starten und stoppen<br />

isql starten und stoppen<br />

Um isql zu starten, geben Sie an der Betriebssystem-Eingabeaufforderung<br />

den folgenden Befehl ein:<br />

isql<br />

Wenn die Eingabeaufforderung erscheint, geben Sie Ihr Kennwort ein.<br />

Das Kennwort wird während der Eingabe nicht angezeigt. Die isql-<br />

Eingabeaufforderung wird angezeigt:<br />

1><br />

Sie können nun Transact-SQL-Befehle eingeben.<br />

Um isql zu beenden, geben Sie einen der folgenden Befehle in einer neuen<br />

Zeile ein:<br />

quit<br />

exit<br />

Transact-SQL in isql verwenden<br />

isql sendet Transact-SQL-Befehle an Adaptive Server, wobei die Ergebnisse<br />

formatiert und an die Standardausgabe ausgegeben werden. Es gibt keine<br />

maximale Größe für eine isql-Anweisung. Weitere Hinweise zur Verwendung<br />

von Transact-SQL finden Sie in der Dokumentation Transact-SQL<br />

User’s Guide.<br />

Hinweis Um Transact-SQL mit dem Dienstprogramm isql direkt vom<br />

Betriebssystem aus verwenden zu können, müssen Sie ein Konto (Login)<br />

auf Adaptive Server haben.<br />

Um einen Transact-SQL-Befehl auszuführen, geben Sie das Standard-<br />

Befehlsabschlusszeichen „go“ auf einer neuen Zeile ein.<br />

10 Adaptive Server Enterprise


Beispiel:<br />

isql<br />

Kennwort:<br />

isql-Ausgabe formatieren<br />

1> use pubs2<br />

2> go<br />

1> select *<br />

2> from authors<br />

3> where city = "Oakland"<br />

4> go<br />

Kapitel 2 Das isql-Dienstprogramm verwenden<br />

Tabelle 2-1 beschreibt die Optionen, die das Format der isql-Ausgabe ändern:<br />

Tabelle 2-1: Formatoptionen bei isql<br />

Option Standardwerte Bedeutung<br />

-h Headers 1 Anzahl der Zeilen, die zwischen Spaltentiteln<br />

anzuzeigen ist<br />

-s Spaltentrennzeichen Einzelne Leerstelle Ändert das Spaltentrennzeichen<br />

-w Spaltenbreite 80 Zeichen Ändert die Zeilenbreite<br />

-e Bezieht jeden an isql ausgegebenen Befehl in die<br />

Ausgabe ein<br />

-n Entfernt Nummerierung und<br />

Eingabeaufforderungssymbole<br />

In diesem Beispiel werden die Ergebnisse der Abfrage in eine Datei namens<br />

output geschrieben:<br />

isql -Uuser_name -Ppassword -Sserver -e -n -o output<br />

use pubs2<br />

go<br />

select *<br />

from authors<br />

where city = "Oakland"<br />

go<br />

quit<br />

Um den Inhalt von output anzuzeigen, geben Sie Folgendes ein:<br />

Unter Windows NT:<br />

type output<br />

<strong>Dienstprogramme</strong> 11


Transact-SQL in isql verwenden<br />

Auf UNIX-Plattformen:<br />

cat output<br />

select *<br />

from authors<br />

where city = "Oakland"<br />

au_id au_lname au_fname<br />

phone address<br />

city state country postalcode<br />

----------- -------------------------------------------- -----------<br />

--------<br />

---------- ----------------------------------------<br />

------------------ ---- ----------- -----------<br />

213-46-8915 Green Marjorie<br />

415 986-7020 309 63rd St. #411<br />

Oakland CA USA 94618<br />

274-80-9391 Straight Dick<br />

415 834-2919 5420 College Av.<br />

Oakland CA USA 94609<br />

724-08-9931 Stringer Dirk<br />

415 843-2991 5420 Telegraph Av.<br />

Oakland CA USA 94609<br />

724-80-9391 MacFeather Stearns<br />

415 354-7128 44 Upland Hts.<br />

Oakland CA USA 94612<br />

756-30-7391 Karsen Livia<br />

415 534-9219 5720 McAuley St.<br />

Oakland CA USA 94609<br />

Eingabe korrigieren<br />

Hinweis Die output-Datei enthält nicht das Befehlsabschlusszeichen.<br />

Wenn Sie einen Fehler machen, während Sie einen Transact-SQL-Befehl<br />

eingeben, haben Sie folgende Möglichkeiten:<br />

Drücken Sie Strg-c oder geben Sie das Wort „reset“ auf einer eigenen<br />

Zeile ein. Daraufhin wird der Abfragepuffer bereinigt und die isql-<br />

Eingabeaufforderung angezeigt.<br />

Schreiben Sie den Namen Ihres Texteditors auf eine eigene Zeile. Dadurch<br />

wird eine Textdatei geöffnet, in der Sie die Abfrage bearbeiten können.<br />

Wenn Sie die Datei bearbeitet und gespeichert haben, kehren Sie zu isql<br />

zurück, und die korrigierte Abfrage wird angezeigt. Geben Sie „go“ ein,<br />

um sie auszuführen.<br />

12 Adaptive Server Enterprise


set-Optionen, die sich auf die Ausgabe auswirken<br />

Kapitel 2 Das isql-Dienstprogramm verwenden<br />

Tabelle 2-2 listet die set-Optionen auf, die die Transact-SQL-Ausgabe<br />

betreffen. Ausführliche Hinweise zu set finden Sie in der Dokumentation<br />

Reference Manual.<br />

Tabelle 2-2: set-Optionen, die sich auf die Transact-SQL-Ausgabe<br />

auswirken<br />

set-Option Standardwerte Bedeutung<br />

char_convert Aus Schaltet die Zeichensatzkonvertierung zwischen Adaptive Server und<br />

einem Client ein und aus; startet außerdem eine Konvertierung zwischen<br />

dem Serverzeichensatz und einem unterschiedlichen Clientzeichensatz.<br />

fipsflagger Aus Warnt, falls irgendwelche Transact-SQL-Erweiterungen zur Einstiegsebene<br />

SQL92 verwendet werden. Mit dieser Option werden die SQL-<br />

Erweiterungen nicht deaktiviert. Die Prozessverarbeitung wird fortgesetzt,<br />

wenn Sie den nicht zum ANSI-Standard gehörenden SQL-Befehl eingeben.<br />

flushmessage Aus Versendet Meldungen, während sie erzeugt werden.<br />

language us_english Stellt die Sprache für Systemmeldungen ein.<br />

nocount Aus Schaltet die Ausgabe der Anzahl der betroffenen Zeilen aus.<br />

noexec Aus Kompiliert jede Abfrage, führt sie jedoch nicht aus; häufig mit showplan<br />

verwendet.<br />

parseonly Aus Überprüft die Syntax von Abfragen und gibt Fehlermeldungen aus,<br />

ohne die Abfragen zu kompilieren oder auszuführen.<br />

showplan Aus Erzeugt eine Beschreibung des Verarbeitungsplans für eine Abfrage;<br />

gibt keine Ergebnisse aus, wenn die Option innerhalb einer gespeicherten<br />

Prozedur oder eines Triggers verwendet wird.<br />

statistics io<br />

statistics time<br />

Aus Zeigt die Performance-Statistik nach jeder Ausführung an.<br />

statistics Aus Zeigt die Anzahl der Cachetreffer, Cachefehlanzeigen und Zeilen im<br />

subquerycache<br />

Unterabfragencache für jede Unterabfrage an.<br />

textsize 32KB Steuert die Anzahl der Bytes von ausgegebenen Text- oder Bild-Daten.<br />

Das Befehlsabschlusszeichen ändern<br />

Wenn Sie das Befehlsabschlusszeichen-Argument (-c) verwenden, können Sie<br />

Ihr eigenes Abschlusszeichensymbol festlegen. go ist der Standartwert dieser<br />

Option. Sie müssen das Befehlsabschlusszeichen immer ohne vorangestellte<br />

Tabulatoren oder Leerzeichen eingeben.<br />

<strong>Dienstprogramme</strong> 13


Wechselwirkung von Performance-Statistik und Befehlsabschlusszeichen-Werten<br />

Um zum Beispiel einen Punkt als Befehlsabschlusszeichen zu verwenden,<br />

rufen Sie isql folgendermaßen auf:<br />

isql -c.<br />

Eine isql-Mustersitzung mit diesem Befehlsabschlusszeichen sieht<br />

folgendermaßen aus:<br />

1> select name from sysusers<br />

2> .<br />

name<br />

----------sandy<br />

kim<br />

leslie<br />

(3 rows affected)<br />

Wenn Sie die isql-Befehlsabschlusszeichen-Option in Skripten verwenden<br />

wollen, müssen Sie Ihre Programmierarbeit entsprechend planen:<br />

In Adaptive Server mitgelieferte Skripten, z.B. installmaster, verwenden<br />

„go“. Ändern Sie das Befehlsabschlusszeichen nicht für Sitzungen, die<br />

diese Skripten verwenden.<br />

Ihre eigenen Skripten enthalten möglicherweise bereits „go“. Vergessen<br />

Sie nicht, Ihre Skripten zu aktualisieren, um das Abschlusszeichen<br />

einzufügen, das Sie verwenden möchten.<br />

Wechselwirkung von Performance-Statistik und<br />

Befehlsabschlusszeichen-Werten<br />

isql stellt eine Performance-Statistikoption (-p) zur Verfügung.<br />

Diese Syntax zum Beispiel gibt folgende Statistikdaten zurück:<br />

isql -p<br />

1> select * from sysobjects<br />

2> go<br />

Execution Time (ms.): 1000 Clock Time (ms.): 1000<br />

1 xact:<br />

14 Adaptive Server Enterprise


Kapitel 2 Das isql-Dienstprogramm verwenden<br />

Die Ausgabe bedeutet, dass eine einzelne Transaktion 100 Millisekunden<br />

gebraucht hat. Der Uhrzeitwert bezieht sich auf die gesamte Transaktion,<br />

die beginnt, wenn Client-Library die Abfrage kompiliert, und endet,<br />

wenn Client-Library die Information von Adaptive Server zurückmeldet.<br />

Sie können die Performance-Statistik auf der Grundlage von einer oder<br />

mehreren Transaktionen zusammenstellen. Um die Statistik aus mehr als<br />

einer Transaktion zusammenzustellen, geben Sie eine Zahl nach dem<br />

Befehlsabschlusszeichen ein.<br />

Der folgende Befehl zum Beispiel weist Adaptive Server an, drei select *-<br />

Transaktionen auszuführen und die Performance-Statistik auszugeben:<br />

isql -p<br />

1> select * from sysobjects<br />

2> go 3<br />

Netzwerkpaketgröße einstellen<br />

Execution Time (ms.): 1000 Clock Time (ms.): 1000<br />

Execution Time (ms.): 1000 Clock Time (ms.): 2000<br />

Execution Time (ms.): 1000 Clock Time (ms.): 1000<br />

Execution Time (ms.): 1000 Clock Time (ms.): 4000<br />

3xact:<br />

Das korrekte Einstellen der Netzwerkpaketgröße kann die Performance von<br />

Adaptive Server erheblich verbessern.<br />

Die Option -A Größe gibt die Netzwerkpaketgröße an, die in einer isql-Sitzung<br />

verwendet werden soll. Um zum Beispiel die Paketgröße auf 2048 Byte für die<br />

aktuelle isql-Sitzung einzustellen, geben Sie Folgendes ein:<br />

Auf UNIX-Plattformen:<br />

isql -A 2048<br />

Unter Windows NT:<br />

load isql -A 2048<br />

Um Ihre Netzwerkpaketgröße zu überprüfen, geben Sie Folgendes ein:<br />

select * from sysprocesses<br />

<strong>Dienstprogramme</strong> 15


Eingabe- und Ausgabedateien<br />

Der Wert für diese isql-Sitzung wird unterhalb des network_pktsz-Titels in der<br />

Tabelle sysprocesses angezeigt.<br />

Weitere Hinweise zum Einstellen der Netzwerkpaketgröße finden Sie in der<br />

Dokumentation Systemadministration für Adaptive Server Enterprise.<br />

Eingabe- und Ausgabedateien<br />

UNIX-Befehlszeile umleiten<br />

Sie können in der Befehlszeile mit den Optionen -i und -o Eingabe- und<br />

Ausgabedateien festlegen.<br />

isql stellt keine Formatierungsoptionen für die Ausgabe zur Verfügung. Sie<br />

können allerdings die Option -n verwenden, um die isql-Eingabeaufforderungen<br />

und andere Tools zu entfernen, wenn Sie die Ausgabe neu<br />

formatieren möchten.<br />

Wenn Sie die Option -e verwenden, zeigt isql die Eingabe in der Ausgabe an<br />

(Echo). Die resultierende Ausgabedatei enthält sowohl die Abfragen als auch<br />

ihre Ergebnisse.<br />

Die UNIX-Umleitungssymbole „“ stellen einen ähnlichen<br />

Mechanismus wie die Optionen -i und -o zur Verfügung, und zwar<br />

folgendermaßen:<br />

isql -Usa < input > output<br />

Sie können isql anweisen, die Eingabe vom Terminal zu beziehen, wie im<br />

folgenden Beispiel gezeigt:<br />

isql -Usa -PKennwort -SServername Ausgabe<br />

use pubs2<br />

go<br />

select * from table<br />

go<br />

EOF<br />


KAPITEL 3 Daten mit bcp in und aus<br />

Adaptive Server übertragen<br />

Dieses Kapitel beschreibt, wie Sie mit dem Dienstprogramm für den<br />

Massenexport/-import von Daten, bcp, Daten zwischen Adaptive Server<br />

und einer Betriebssystemdatei verschieben.<br />

Thema Seite<br />

Methoden zum Verschieben von Daten 18<br />

bcp-Anforderungen 19<br />

bcp-Modi 21<br />

bcp-Performance 22<br />

Die bcp-Optionen verwenden 35<br />

Die Standardwerte ändern: Interaktiver bcp 38<br />

Formatdateien verwenden 50<br />

Beispiele: Daten interaktiv exportieren 54<br />

Beispiele: Daten interaktiv importieren 57<br />

bcp mit anderen Sprachen verwenden 61<br />

Importieren und Anweisungsfolgedateien 62<br />

Exportieren und Text- und Bilddaten 64<br />

Netzwerkpaketgröße festlegen 65<br />

Importieren und Fehlerdateien 65<br />

Exportieren und Fehlerdateien 67<br />

Datenintegrität: Standardwerte, Regeln und Trigger 67<br />

Wie unterscheidet sich bcp von anderen <strong>Dienstprogramme</strong>n? 68<br />

bcp ist eine bequeme und schnelle Methode zum Übertragen von Daten<br />

zwischen einer Datenbanktabelle oder Ansicht und einer Betriebssystemdatei.<br />

bcp kann Dateien in verschiedenen Formaten lesen oder schreiben.<br />

Wenn Sie aus einer Datei in die Tabelle kopieren, fügt bcp Daten in eine<br />

vorhandene Datenbanktabelle ein. Wenn Sie aus einer Tabelle in eine<br />

Datei kopieren, überschreibt bcp den vorhandenen Inhalt der Datei.<br />

Ausführliche Hinweise zur Syntax von bcp finden Sie unter bcp auf<br />

Seite 164.<br />

<strong>Dienstprogramme</strong> 17


Methoden zum Verschieben von Daten<br />

Methoden zum Verschieben von Daten<br />

Daten mit bcp<br />

Sie können die folgenden Methoden verwenden, um Daten in und aus Ihren<br />

Adaptive Server-Datenbanken zu verschieben:<br />

bcp als Standalone-Programm vom Betriebssystem. Dieses Kapitel enthält<br />

Hinweise zu dieser Methode.<br />

Client Library, um Bibliotheks-Routinen für die Massenmaterialisierung<br />

aufzurufen. Ausführliche Hinweise zur Client Library finden Sie in der<br />

Dokumentation Open Client and Open Server Common Libraries<br />

Reference Manual.<br />

Transact-SQL-Befehle können Daten nicht mit Massenmaterialisierung<br />

übertragen. Daher müssen Sie bei großen Übertragungsmengen bcp<br />

verwenden. Sie können bcp für die folgenden Aufgaben verwenden:<br />

Daten importieren, die vorher einem anderen Programm zugeordnet<br />

waren, wie zum Beispiel Datensätze von einem anderen Datenbank-<br />

Managementsystem. Dies ist die gängigste Verwendung von bcp.<br />

Bevor Sie bcp verwenden können, müssen Sie eine Datei der zu<br />

importierenden Datensätze erstellen. Gehen Sie folgendermaßen vor:<br />

a Legen Sie die zu übertragenden Daten in eine Betriebssystemdatei.<br />

b Führen Sie bcp von der Befehlszeile des Betriebssystems aus.<br />

Verschieben Sie Tabellen zwischen Adaptive Server-Installationen oder<br />

zwischen einer Adaptive Server-Installation und anderen Datenquellen,<br />

die eine Betriebssystemdatei generieren können.<br />

Kopieren Sie Daten aus einer Ansicht. Unter bcp auf Seite 164 wird die<br />

Syntax beschrieben, mit der bcp Daten aus einer Ansicht kopiert.<br />

Hinweis Sie können mit bcp keine Daten in eine Ansicht kopieren.<br />

18 Adaptive Server Enterprise


cp-Anforderungen<br />

Grundlegende<br />

Anforderungen<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Übertragen Sie Daten zur Verwendung mit anderen Programmen, zum<br />

Beispiel mit einem Tabellenkalkulationsprogramm. Führen Sie folgende<br />

Schritte durch, um Daten zu übertragen:<br />

a Verwenden Sie bcp, um die Daten von einer Adaptive Server-<br />

Installation in eine Betriebssystemdatei zu verschieben. Von hier<br />

aus kann das andere Programm die Daten importieren.<br />

b Wenn Sie die Bearbeitung Ihrer Daten mit dem anderen Programm<br />

abgeschlossen haben, kopieren Sie die Daten in eine Betriebssystemdatei<br />

und übertragen Sie sie mit bcp in die Adaptive Server-<br />

Installation.<br />

Adaptive Server kann Daten in jedem Zeichen- oder Binärformat annehmen,<br />

solange die Datendatei entweder die Länge der Felder oder die<br />

Abschlusszeichen (Zeichen zur Trennung von Spalten) angibt.<br />

Für bcp müssen die Strukturen der von der Übertragung betroffenen Tabellen<br />

nicht identisch sein, und zwar aus folgenden Gründen:<br />

Beim Import aus einer Datei werden die Daten an eine vorhandene<br />

Datenbanktabelle angehängt.<br />

Beim Export in eine Datei wird der vorherige Inhalt der Datei<br />

überschrieben.<br />

Nach dem Abschluss des Kopiervorgangs gibt bcp die folgenden<br />

Informationen aus: Anzahl der Zeilen, in die erfolgreich Daten kopiert wurden,<br />

Anzahl der Zeilen (falls vorhanden), die nicht kopiert werden konnten,<br />

Gesamtdauer des Kopiervorgangs, durchschnittliche Zeit in Millisekunden<br />

für das Kopieren einer Zeile, Anzahl der kopierten Zeilen pro Sekunde.<br />

Bevor Sie das Dienstprogramm bcp verwenden können, müssen Sie einige<br />

grundlegende Informationen eingeben sowie die Daten für die Übertragung<br />

und den Befehl für den Datenzugriff vorbereiten.<br />

Sie müssen die folgenden Informationen zur Verfügung stellen, um erfolgreich<br />

Daten in eine und aus einer Adaptive Server-Installation zu übertragen:<br />

Name der Datenbank und der Tabelle oder Ansicht<br />

Name der Betriebssystemdatei<br />

Richtung der Übertragung (in oder out)<br />

<strong>Dienstprogramme</strong> 19


cp-Anforderungen<br />

Darüber hinaus können Sie bcp verwenden, um wahlweise den Speichertyp,<br />

die Speicherlänge und das Abschlusszeichen der einzelnen Spalten zu ändern.<br />

Berechtigungen Um bcp verwenden zu können, müssen Sie ein Adaptive Server-Konto und die<br />

entsprechenden Berechtigungen für die Datenbanktabellen oder Ansichten und<br />

Betriebssystemdateien haben, die Sie übertragen werden.<br />

Um Daten in eine Tabelle kopieren zu können, müssen Sie über die insertund<br />

select-Berechtigung für die Tabelle verfügen.<br />

Um eine Tabelle in eine Betriebssystemdatei kopieren zu können, müssen<br />

Sie über die select-Berechtigung für die folgenden Tabellen verfügen:<br />

die zu kopierende Tabelle<br />

sysobjects<br />

syscolumns<br />

sysindexes<br />

Vorbereitende Tasks Bevor Sie bcp in verwenden können, müssen Sie den Befehl und die Daten für<br />

die Übertragung vorbereiten:<br />

Um schnellen oder langsamen bcp zu verwenden, stellen Sie select<br />

into/bulkcopy/pllsort auf true ein. Beispiel: Um diese Option für die<br />

Datenbank pubs2 zu aktivieren, können Sie Folgendes eingeben:<br />

sp_dboption pubs2, "select into/bulkcopy/pllsort", true<br />

Weitere Informationen finden Sie unter „bcp-Modi“ auf Seite 21.<br />

Um schnellen bcp zu verwenden, entfernen Sie Indizes und Trigger in<br />

der Zieltabelle. Weitere Hinweise zu dieser Anforderung finden Sie unter<br />

„bcp-Performance“ auf Seite 22.<br />

Zusätzlich:<br />

Wenn Sie Open Client Version 11.1 oder später ausführen und eine<br />

externe <strong>Sybase</strong>-Konfigurationsdatei verwenden, müssen Sie Folgendes<br />

hinzufügen, um bcp zu aktivieren:<br />

[BCP]<br />

Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version des Adaptive Servers einstellen, bevor Sie bcp<br />

verwenden können.<br />

20 Adaptive Server Enterprise


cp-Modi<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Um eine frühere Version von bcp verwenden zu können, müssen Sie<br />

die CS_BEHAVIOR-Eigenschaft im [bcp]-Abschnitt der ocs.cfg-<br />

Datei einstellen:<br />

[bcp]<br />

CS_BEHAVIOR = CS_BEHAVIOR_100<br />

Wenn CS_BEHAVIOR nicht auf CS_BEHAVIOR_100 eingestellt ist,<br />

können Sie die Funktionalität nur für bcp 11.1 oder später verwenden.<br />

bcp in kann in zwei Modi ausgeführt werden:<br />

Langsamer bcp – protokolliert alle durchgeführten Zeileneinfügungen;<br />

wird bei Tabellen verwendet, die ein oder mehrere Indizes oder<br />

Trigger haben.<br />

Schneller bcp – protokolliert nur Seitenzuweisungen, wobei Daten so<br />

schnell wie möglich in Tabellen ohne Indizes oder Trigger kopiert werden.<br />

Um den für Ihre Kopieraufgabe geeigneten bcp-Modus zu bestimmen,<br />

berücksichtigen Sie folgende Punkte:<br />

Die Größe der Tabelle, in die Sie Daten kopieren<br />

Die Menge der Daten, die Sie importieren<br />

Die Anzahl der Indizes auf der Tabelle<br />

Die Menge an freiem Datenbankdevice-Speicherplatz, der Ihnen zum<br />

Wiedererstellen der Indizes zur Verfügung steht<br />

Hinweis Schneller bcp steigert zwar möglicherweise die Performance,<br />

langsamer bcp erleichtert Ihnen jedoch die Wiederherstellbarkeit der Daten.<br />

<strong>Dienstprogramme</strong> 21


cp-Performance<br />

bcp-Performance<br />

Wenn Indizes und Trigger auf der Tabelle verbleiben, wird beim<br />

Massenexport/-import der Daten automatisch langsamer bcp verwendet.<br />

Allerdings füllt langsamer bcp das Transaktionslog sehr schnell.<br />

Wenn Sie eine große Anzahl von Zeilen kopieren, können die<br />

Performance-Einbußen und der Logspeicherplatz-Bedarf bei der<br />

Verwendung von langsamem bcp entscheidend sein.<br />

Bei extrem großen Tabellen ist die Verwendung von langsamem bcp keine<br />

echte Option, weil die Ausführung durch das ausführliche Log extrem<br />

verlangsamt wird.<br />

So können Sie die Performance von bcp steigern:<br />

Verwenden Sie partitionierte Tabellen. Mehrere bcp-Sitzungen mit einer<br />

partitionierten Tabelle können die Zeit, die zum Kopieren von Daten<br />

benötigt wird, deutlich reduzieren. Solche Performance-Steigerungen<br />

sind bei schnellem bcp deutlicher als bei langsamem bcp.<br />

Verwenden Sie bcp im parallelen Modus, um die Performance deutlich<br />

zu verbessern. Paralleler Massenexport/-import der Daten kann eine<br />

ausgeglichene Datenverteilung in den Partitionen bewirken. Weitere<br />

Hinweise finden Sie unter „Mit parallelem Massenexport/-import Daten<br />

in eine bestimmte Partition kopieren“ auf Seite 29.<br />

Schnellen oder langsamen bcp verwenden<br />

Das Vorhandensein von Indizes und Triggern auf Tabellen wirkt sich<br />

auf die Geschwindigkeit der Übertragung aus. Wenn Sie bcp auf solchen<br />

Tabellen verwenden, verwendet bcp automatisch den langsamen Modus,<br />

der Dateneinfügungen im Transaktionslog protokolliert. Dadurch kann<br />

das Transaktionslog sehr groß werden.<br />

Um diese Datenmassen zu bewältigen und um sicherzustellen, dass die<br />

Datenbank bei einem Ausfall voll wiederherstellbar ist, können Sie das<br />

Log mit dump transaction sichern.<br />

Hinweis bcp löst keinen Trigger auf der Zieltabelle aus.<br />

22 Adaptive Server Enterprise


Tabellen mit Indizes<br />

oder Triggern<br />

kopieren<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Schneller bcp protokolliert nur Seitenzuweisungen. Beim Kopieren von Daten<br />

in eine Tabelle ist bcp am schnellsten, wenn Ihre Datenbanktabelle keine<br />

Indizes oder Trigger hat.<br />

Wenn Sie allerdings langsamen bcp verwendet haben, um Dateneinfügungen<br />

durchzuführen (die vom schnellen bcp nicht protokolliert werden), können Sie<br />

das Transaktionslog nicht mit einem dump-Befehl auf einem Device sichern.<br />

Die Änderungen sind nicht im Log verzeichnet und ein Zurückladen der nicht<br />

vorhandenen Sicherungsdaten ist nicht möglich. Die erforderliche Sicherung<br />

(dump transaction) erzeugt eine Fehlermeldung, in der Sie aufgefordert werden,<br />

statt dessen dump database zu verwenden. Diese Einschränkung bleibt bis zur<br />

erfolgreichen Ausführung von dump database bestehen.<br />

Weitere Hinweise zu dump database und dump transaction finden Sie in den<br />

Dokumentationen Systemadministration für Adaptive Server Enterprise und<br />

Reference Manual.<br />

Das bcp-Programm ist optimal darauf abgestimmt, Daten in Tabellen zu laden,<br />

die keine ihnen zugeordneten Indizes oder Trigger haben. Das Programm<br />

kopiert so schnell wie möglich Daten in Tabellen ohne Indizes oder Trigger<br />

und beschränkt dabei die Protokollierung im Transaktionslog auf ein<br />

Minimum. Seitenzuordnungen werden logmäßig erfasst, die Einfügung<br />

von Zeilen hingegen nicht.<br />

Wenn Sie Daten in eine Tabelle kopieren, die einen oder mehrere Indizes oder<br />

Trigger hat, wird automatisch eine langsamere Version von bcp verwendet, die<br />

die Zeileneinfügungen protokolliert. Dies gilt auch für Indizes, die implizit mit<br />

der eindeutigen Identitätsregel einer create table-Anweisung erstellt wurden.<br />

bcp erzwingt jedoch keine anderen Integritätsregeln, die für eine Tabelle<br />

definiert sind.<br />

Standardmäßig ist die select into/bulkcopy/pllsort-Option in neu erstellten<br />

Datenbanken auf false (aus) eingestellt. Um diesen Standardwert zu ändern,<br />

schalten Sie diese Option in der model-Datenbank ein.<br />

Hinweis Das Log kann während langsamem bcp stark anwachsen, da<br />

das bcp-Programm Einfügungen in einer Tabelle mit Indizes und Triggern<br />

protokolliert. Nachdem der Massenexport/-import der Daten abgeschlossen ist,<br />

stellen Sie mit dump database eine Sicherung der Datenbank her und kürzen<br />

dann das Log mit dump transaction, nachdem der Massenexport/-import<br />

der Daten abgeschlossen ist und Sie Ihre Datenbank mit dump database<br />

gesichert haben.<br />

<strong>Dienstprogramme</strong> 23


cp-Performance<br />

Während die select into/bulkcopy/pllsort-Option eingeschaltet ist, können<br />

Sie das Transaktionslog nicht sichern. Die Ausgabe der Anweisung dump<br />

transaction erzeugt eine Fehlermeldung, in der Sie aufgefordert werden,<br />

stattdessen dump database zu verwenden.<br />

Achtung! Sichern Sie Ihre Datenbank, bevor Sie die select into/bulkcopy/pllsort-<br />

Option ausschalten. Wenn Sie unprotokollierte Daten in Ihre Datenbank<br />

eingefügt haben und Sie dump transaction vor dump database durchführen,<br />

werden Sie nicht in der Lage sein, Ihre Daten wiederherzustellen.<br />

Schneller bcp läuft langsamer, während ein dump database-Befehl<br />

ausgeführt wird.<br />

Tabelle 3-1 zeigt, welche Version von bcp beim Importieren verwendet wird,<br />

welche Einstellungen für die select into/bulkcopy/pllsort-Option erforderlich<br />

sind und ob ein Transaktionslog geführt wird und gesichert werden kann.<br />

Tabelle 3-1: Vergleiche von schnellem und langsamem bcp<br />

select into/bulkcopy/pllsort ein aus<br />

schneller bcp (keine Indizes oder OK<br />

bcp nicht zulässig<br />

Trigger auf Zieltabelle)<br />

dump transaction nicht zulässig dump transaction<br />

langsamer bcp (ein oder mehrere<br />

Indizes oder Trigger)<br />

Hinweis Die Performance-Einbuße beim Kopieren von Daten in eine Tabelle,<br />

die Indizes und Trigger enthält, kann schwerwiegend sein. Wenn Sie eine sehr<br />

große Anzahl von Zeilen kopieren, kann es schneller sein, alle Indizes und<br />

Trigger im Voraus mit drop index (oder alter table bei Indizes, die mit einer<br />

Eindeutigkeits-Integritätsregel erstellt sind) und drop trigger zu löschen, die<br />

Datenbankoption einzustellen, die Daten in die Tabelle zu kopieren, die Indizes<br />

und Trigger neu zu erstellen und dann die Datenbank zu sichern. Denken<br />

Sie daran, Plattenspeicherplatz für die Erstellung der Indizes und Trigger<br />

zuzuweisen: ungefähr 2,2 Mal die Menge des Speicherplatzes, der für die<br />

Daten benötigt wird.<br />

24 Adaptive Server Enterprise<br />

OK<br />

dump transaction nicht zulässig<br />

OK<br />

dump transaction OK


Datenbanken für<br />

schnellen bcp<br />

konfigurieren<br />

Indizes und<br />

Trigger löschen<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Um einem Benutzer das Kopieren von Daten mit schnellem bcp zu<br />

ermöglichen, muss der Systemadministrator oder Datenbankeigentümer<br />

zunächst mit sp_dboption den Befehl select into/bulkcopy/pllsort auf der<br />

Datenbank, die die Zieltabellen enthält, auf true einstellen. Wenn die Option<br />

auf false gesetzt ist und ein Benutzer versucht, mit schnellem bcp Daten in<br />

eine Tabelle zu kopieren, die keine Indizes oder Trigger hat, erzeugt Adaptive<br />

Server eine Fehlermeldung.<br />

Hinweis Sie müssen die select into/bulkcopy/pllsort-Option nicht auf true setzen,<br />

um Daten aus einer Tabelle zu exportieren oder in eine Tabelle zu importieren,<br />

die Indizes und Trigger hat. Langsames bcp kopiert stets Tabellen mit Indizes<br />

und Triggern und protokolliert alle Einfügungen.<br />

Standardmäßig ist die Option select into/bulkcopy/pllsort in neu erstellten<br />

Datenbanken auf false (aus) eingestellt. Um die Standardeinstellung für<br />

zukünftige Datenbanken zu ändern, aktivieren Sie die Option (eingestellt<br />

auf true) in der model-Datenbank.<br />

Wenn Sie eine große Anzahl von Zeilen kopieren, muss der Speicherplatz<br />

1,2 Mal größer sein als die vorhandene Datenmenge. Außerdem muss der<br />

Speicherplatz für den Server groß genug sein, um einen Clustered-Index<br />

wieder aufzubauen.<br />

Wenn ausreichend Platz vorhanden ist, können Sie mit drop index und drop<br />

trigger alle Indizes und Trigger vorher löschen.<br />

Wenn nicht genügend Platz vorhanden ist, um die Daten zu sortieren und<br />

den Index oder die Indizes zu kompilieren, verwenden Sie langsames bcp.<br />

Daten mit schnellem bcp importieren<br />

Tabelle 3-2 fasst die Schritte beim Importieren von Daten in eine Adaptive<br />

Server-Installation unter Verwendung von schnellem bcp zusammen.<br />

Tabelle 3-2: Schritte beim Importieren von Daten mit schnellem bcp<br />

Schritt Berechtigung<br />

Stellen Sie den Befehl select into/bulkcopy/pllsort mit sp_dboption Systemadministrator oder<br />

auf true ein.<br />

Datenbankeigentümer<br />

Führen Sie in der geänderten Datenbank den Befehl checkpoint aus.<br />

Vergewissern Sie sich, dass Sie genügend Speicherplatz haben, um etwaige<br />

Indizes oder Trigger auf der Tabelle neu erstellen zu können.<br />

Löschen Sie die Indizes und Trigger auf der Tabelle.<br />

Tabelleneigentümer<br />

<strong>Dienstprogramme</strong> 25


cp-Performance<br />

Schritt Berechtigung<br />

Vergewissern Sie sich, dass Sie über die insert-Berechtigung für<br />

die Tabelle verfügen.<br />

Vom Tabelleneigentümer erteilt<br />

Führen Sie den Import mit bcp aus. Alle Benutzer mit insert-Berechtigung<br />

Erstellen Sie die Indizes und Trigger neu. Tabelleneigentümer<br />

Stellen Sie sp_dboption gegebenenfalls neu ein und führen Sie checkpoint<br />

in der Datenbank aus, die geändert wurde.<br />

Systemadministrator oder<br />

Datenbankeigentümer<br />

Verwenden Sie dump database, um die eben eingefügten Daten zu sichern. Systemadministrator, Operator oder<br />

Datenbankeigentümer<br />

Führen Sie gespeicherte Prozeduren oder Abfragen aus, um festzustellen,<br />

ob die neu geladenen Daten Regeln verletzen.<br />

Tabelleneigentümer oder Eigentümer<br />

der gespeicherten Prozedur<br />

Mit dem Massenexport/-import Daten in partitionierte Tabellen<br />

kopieren<br />

Unter bestimmten Umständen können Sie die Performance von bcp deutlich<br />

steigern, indem Sie mehrere bcp-Sitzungen mit einer partitionierten Tabelle<br />

ausführen.<br />

Partitionierte Tabellen erhöhen die Einfügegeschwindigkeit, indem<br />

Sperrenkonflikte vermindert und I/O-Vorgänge über mehrere Devices verteilt<br />

werden. Die bcp-Performance mit partitionierten Tabellen wird hauptsächlich<br />

durch verteilte I/O-Vorgänge gesteigert.<br />

Wenn Sie eine bcp-Sitzung ausführen, bedenken Sie Folgendes:<br />

Eine partitionierte Tabelle erhöht die Performance nur, wenn Sie mit dem<br />

Massenexport/-import Daten in die Tabelle kopieren (importieren).<br />

Die Performance-Steigerung von langsamem bcp ist bei partitionierten<br />

Tabellen nicht so deutlich festzustellen. Löschen Sie stattdessen alle<br />

Indizes und Trigger und verwenden Sie zur Performance-Steigerung<br />

schnelles bcp, wie in Tabelle 3-2 auf Seite 25 beschrieben.<br />

Im Netzwerkverkehr können Engpässe eintreten, wenn mehrere bcp-<br />

Sitzungen ausgeführt werden. Verwenden Sie wenn möglich eine lokale<br />

Verbindung zur Adaptive Server-Installation, um dieses Problem zu<br />

vermeiden.<br />

26 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Es gibt zwei Methoden, Daten in eine partitionierte Heap-Tabelle zu kopieren:<br />

Die Daten nach dem Zufallsprinzip (ungesteuert) kopieren, ohne Bezug<br />

auf die Partition, in die Daten kopiert werden<br />

Die Daten in eine bestimmte Partition kopieren<br />

Wenn die Tabelle einen Clustered-Index hat, wird bcp verwendet, und der<br />

Index steuert die Platzierung der Zeilen.<br />

❖ Daten ungesteuert in Partitionen kopieren<br />

Um Daten ungesteuert in partitionierte Tabellen unter Verwendung mehrerer<br />

bcp-Sitzungen zu kopieren, führen Sie die folgenden Schritte durch:<br />

1 Konfigurieren Sie die Tabelle mit so vielen Partitionen und physischen<br />

Devices, wie es Ihr System erfordert.<br />

Weitere Hinweise finden Sie in der Dokumentation Performance and<br />

Tuning Guide und unter „Mit parallelem Massenexport/-import Daten<br />

in eine bestimmte Partition kopieren“ auf Seite 29 dieses Handbuchs.<br />

2 Achten Sie darauf, dass Adaptive Server mit genug Sperren konfiguriert<br />

ist, um mehrere bcp-Sitzungen zu unterstützen. Informationen zum<br />

Konfigurieren von Sperren finden Sie in der Dokumentation<br />

Systemadministration für Adaptive Server Enterprise.<br />

3 Entfernen Sie Trigger und Indizes auf der Tabelle und aktivieren Sie<br />

schnellen bcp. Anleitungen finden Sie unter „Schnellen oder langsamen<br />

bcp verwenden“ auf Seite 22.<br />

Hinweis Wenn Sie langsamen bcp verwenden, erhöht sich die<br />

Performance möglicherweise nicht im gewünschten Ausmaß, nachdem<br />

Sie Trigger und Indizes entfernt haben. Wenn die Tabelle Indizes enthält,<br />

kann es zusätzlich Deadlocks auf den Indexseiten geben.<br />

4 Teilen Sie die bcp-Eingabedatei auf so viele gleich große Dateien auf,<br />

wie die Anzahl der geplanten bcp-Sitzungen beträgt.<br />

Sie können auch die Optionen -F first_row und -L last_row verwenden,<br />

um den Start und das Ende der einzelnen Eingabedateien anzugeben.<br />

5 Führen Sie die bcp-Sitzungen mit separaten Dateien parallel und wenn<br />

möglich auf der lokalen Adaptive Server-Installation aus.<br />

Auf UNIX-Plattformen können Sie zum Beispiel verschiedene Sitzungen<br />

in verschiedenen Shell-Fenstern ausführen oder einzelne bcp-Sitzungen<br />

im Hintergrund starten.<br />

<strong>Dienstprogramme</strong> 27


cp-Performance<br />

Eine ausführliche Beschreibung des Kopierens von Daten in partitionierte<br />

Tabellen finden Sie in der Dokumentation Performance and Tuning Guide.<br />

bcp-Sitzungen mit dbcc checktable und sp_helpsegment überwachen<br />

Wenn Sie nicht festlegen, welche Partitionen die bcp-Sitzungen verwenden<br />

sollen, ordnet Adaptive Server die mehrfachen bcp-Sitzungen nach eigenem<br />

Ermessen den verfügbaren Partitionen der Tabelle zu. Wenn Sie diese<br />

ungesteuerte Zuordnung verwenden, stellen Sie sicher, dass der Prozess die<br />

Einfügungen gleichmäßig verteilt hat, indem Sie eines der folgenden Verfahren<br />

verwenden:<br />

dbcc checktable – um in regelmäßigen Abständen die Gesamtseitenanzahl<br />

für die einzelnen Partitionen zu prüfen<br />

sp_helpsegment oder sp_helpartition – um eine ähnliche Prüfung<br />

durchzuführen, aber ohne die Datenbankobjekte zu sperren<br />

Weitere Hinweise zu dbcc checktable finden Sie in der Dokumentation<br />

Systemadministration für Adaptive Server Enterprise. Weitere Hinweise<br />

zu sp_helpsegment und sp_helpartition finden Sie in der Dokumentation<br />

Reference Manual.<br />

Weitere Hinweise zu Tabellenpartitionen finden Sie in der Dokumentation<br />

Performance and Tuning Guide.<br />

Vermindertes Protokollieren durch Erhöhung der Seitenzuweisungen<br />

Wenn Sie schnelles bcp verwenden, bedenken Sie, dass jede bcp in -<br />

Anweisungsfolge den Seiten-Manager veranlasst, einen oder mehrere Extents<br />

zuzuweisen. Jede solche Seitenzuweisung erzeugt einen einzelnen Logeintrag.<br />

Mit dem Konfigurationsparameter number of preallocated extents können Sie<br />

festlegen, wie viele Extents Adaptive Server durch den Seiten-Manager<br />

zuweisen soll.<br />

Für den Konfigurationsparameter number of preallocated extents sind<br />

Werte von 0 bis 31 zulässig. Der Standardwert ist 2.<br />

Sie müssen Adaptive Server neu starten, um diesen Wert zu ändern.<br />

Erhöhen Sie diese Zahl, wenn Sie große bcp-Vorgänge durchführen,<br />

um zu verhindern, dass Seitenzuweisungen das Log auffüllen.<br />

Setzen Sie diesen Wert auf 0, um umfangreiche Extent-Zuweisungen zu<br />

verhindern, damit der Seiten-Manager nur einzelne Seitenzuweisungen<br />

durchführt.<br />

28 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Da Adaptive Server möglicherweise mehr Seiten zuordnet, als tatsächlich<br />

benötigt werden, sollten Sie diesen Wert niedrig halten, wenn der Speicherplatz<br />

beschränkt ist. Diese Seiten werden am Ende der Anweisungsfolge<br />

freigegeben.<br />

Weitere Hinweise finden Sie in der Dokumentation Systemadministration für<br />

Adaptive Server Enterprise.<br />

Mit parallelem Massenexport/-import Daten in eine bestimmte<br />

Partition kopieren<br />

Verwenden Sie den parallelen Massenexport/-import von Daten, um parallel in<br />

eine bestimmte Partition zu kopieren. Das Bulk-Copy-Dienstprogramm erhöht<br />

die Performance während bcp-Sitzungen deutlich, weil große bcp-Aufträge in<br />

mehrere Sitzungen aufgeteilt und gleichzeitig ausgeführt werden können.<br />

So verwenden Sie den parallelen Massenexport/-import der Daten:<br />

Die Zieltabelle muss partitioniert sein.<br />

Mit sp_helpartition können Sie die Anzahl der Partitionen auf der<br />

Tabelle anzeigen.<br />

Verwenden Sie alter table ... partition, um die Tabelle aufzuteilen,<br />

wenn die Tabelle noch nicht partitioniert ist.<br />

Die Zieltabelle sollte aus folgenden Gründen keine Indizes enthalten:<br />

Wenn die Tabelle einen Clustered-Index hat, bestimmt der Index die<br />

physische Platzierung der Daten, und die Partitionsspezifikation im<br />

bcp-Befehl wird ignoriert.<br />

Wenn irgendein Index vorhanden ist, verwendet bcp automatisch die<br />

langsame statt der schnellen Version.<br />

Wenn Nonclustered-Indizes auf den Tabellen vorkommen, kann der<br />

Massenexport/-import der Daten leicht zu Deadlocks auf Indexseiten<br />

führen.<br />

Die beste Performance erhalten Sie, wenn sich jede Partition auf einer<br />

anderen physischen Festplatte befindet.<br />

<strong>Dienstprogramme</strong> 29


cp-Performance<br />

Große Datei aufgeteilt in<br />

vier kleinere Dateien<br />

Datei 1<br />

Datei 2<br />

Datei 3<br />

Datei 4<br />

Bevor Sie Daten in Ihre Datenbank kopieren, müssen Sie die Tabelle<br />

aufteilen, die die Daten enthalten wird.<br />

Paralleler Massenexport/-import der Daten kann in eine Tabelle<br />

aus mehreren Betriebssystemdateien kopieren. Hierzu führen Sie<br />

Folgendes aus:<br />

bcp Tabellenname :Partitionsnummer in Dateiname<br />

Abbildung 3-1 zeigt den parallelen Massenexport/-import der Daten.<br />

Abbildung 3-1: Daten in eine partitionierte Tabelle mit parallelem<br />

Massenexport/-import kopieren<br />

bcp mydb..bigtable:1 in Datei 2 &<br />

Kopie in Partition 1<br />

bcp mydb..bigtable:2 in Datei 2 &<br />

Kopie in Partition 2<br />

Kopie in Partition 3<br />

bcp mydb..bigtable:3 in Datei 2 &<br />

Kopie in Partition 4<br />

bcp mydb..bigtable:4 in Datei 2 &<br />

Partitionierte Tabelle<br />

Weitere Hinweise zur Partitionierung von Tabellen finden Sie in der<br />

Dokumentation Performance and Tuning Guide.<br />

Hinweis Wenn Sie den parallelen Massenexport/-import der Daten verwenden,<br />

um Daten zu exportieren, können Sie nicht bestimmen, welche Partitionen bcp<br />

verwenden soll.<br />

30 Adaptive Server Enterprise


cp-Import und Sperren<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Wenn Sie in eine Tabelle mit bcp importieren, und besonders wenn Sie mit<br />

parallelem bcp kopieren, erwirbt der Kopierprozess die folgenden Sperren:<br />

Eine exklusive Absichtssperre für die Tabelle<br />

Eine exklusive Seitensperre für jede Datenseite<br />

Eine exklusive Sperre für Indexseiten, falls vorhanden<br />

Wenn Sie in sehr große Tabellen kopieren, und vor allem, wenn Sie<br />

gleichzeitiges Kopieren in partitionierte Tabellen verwenden, kann dies eine<br />

sehr große Anzahl von Sperren bedeuten.<br />

So können Sie einen Sperrenmangel vermeiden:<br />

Erhöhen Sie die Anzahl der Sperren.<br />

Mit folgender Formel können Sie die Anzahl der erforderlichen<br />

Sperren schätzen:<br />

#Nr_gleichzeitige_Stapel * (Zeilen_pro_Stapel / (2016/Zeilenlänge))<br />

Um die Zeilenlänge bei einer Tabelle einzusehen, führen Sie<br />

Folgendes aus:<br />

1> select maxlen<br />

2> from sysindexes<br />

3> where id = object_id("Tabellenname") and (indid = 0 or indid = 1)<br />

Weitere Hinweise zur Einstellung der Sperrenanzahl finden Sie in der<br />

Dokumentation Systemadministration für Adaptive Server Enterprise.<br />

Verwenden Sie die Markierung -b Größe_der_Anweisungsfolge,<br />

um kleinere Anweisungsfolgen zu kopieren.<br />

Führen Sie weniger Anweisungsfolgen gleichzeitig aus.<br />

Methoden des parallelen Massenexports/-imports<br />

Verwenden Sie eine der folgenden Methoden, um Daten mit dem<br />

Massenexport/-import zu importieren:<br />

Starten Sie mehrere bcp-Sitzungen im Hintergrund und führen Sie<br />

folgende Schritte aus:<br />

Geben Sie das Kennwort in die Befehlszeile ein.<br />

Verwenden Sie den nativen Modus, den Zeichenmodus oder eine<br />

Formatdatei.<br />

Sie können bcp so oft starten, wie die Tabelle aufgeteilt ist.<br />

<strong>Dienstprogramme</strong> 31


cp-Performance<br />

Erstellen und verwenden Sie eine Formatdatei:<br />

a Starten Sie bcp im interaktiven Modus.<br />

b Beantworten Sie die Eingabeaufforderungen.<br />

c Erstellen Sie eine Formatdatei, die Ihre Antworten speichert.<br />

d Legen Sie den Prozess in den Hintergrund, wenn der Kopiervorgang<br />

anfängt.<br />

e Geben Sie den nächsten bcp-Befehl ein und geben Sie die Formatdatei<br />

an, die mit dem ersten bcp erstellt wurde.<br />

Starten Sie bcp-Sitzungen in mehreren Fenstern.<br />

Syntax des parallelen Massenexport/-import von Daten<br />

Die Syntax bei parallelem Massenexport/-import von Daten lautet:<br />

bcp Tabellenname[:Partitionsnummer] in Dateiname -PMeinKennwort<br />

Dabei gilt Folgendes:<br />

Tabellenname ist der Name der Tabelle, in die Sie die Daten kopieren<br />

Partitionsnummer ist die Nummer der Partition, in die Sie kopieren<br />

Dateiname ist die Hostdatei, die die Daten enthält<br />

MeinKennwort ist Ihr Kennwort<br />

Parallelen Massenexport/-import auf partitionierten Tabellen verwenden<br />

So kopieren Sie sortierte Daten parallel in eine bestimmte Partition:<br />

Geben Sie die Partitionsnummer an, indem Sie einen Doppelpunkt (:)<br />

und die Partitionsnummer an den Tabellennamen anfügen. Beispiel:<br />

publishers:10<br />

Hinweis Die angegebene Partition muss vorhanden sein, bevor Sie den<br />

bcp-Befehl eingeben.<br />

32 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Teilen Sie die sortierten Daten in separate Dateien auf oder legen Sie<br />

den Bereich der Zeilen in den „Dateien“ fest, indem Sie die erste Zeile<br />

(-F erste_Zeile) und die letzte Zeile (-L letzte_Zeile) der Hostdatei angeben.<br />

Notieren Sie die Anzahl der Partitionen in der Tabelle. Diese Zahl limitiert<br />

die Anzahl von parallelen Massenexport/-importprozessen, die Sie<br />

starten können.<br />

Wenn eine Tabelle zum Beispiel vier Partitionen hat und Sie fünf parallele<br />

Massenexport/-import-Sitzungen starten, können nur die ersten vier<br />

Aufträge parallel ausgeführt werden; der fünfte Auftrag startet erst,<br />

wenn einer der vier anderen Aufträge beendet wird.<br />

bcp kopiert jede Datei oder Menge von Zeilennummern in eine separate<br />

Partition. Um zum Beispiel mit dem parallelen Massenexport/-import sortierte<br />

Daten in mydb..bigtable aus vier Dateien in vier Partitionen zu kopieren, geben<br />

Sie Folgendes ein:<br />

bcp mydb..bigtable:1 in file1 -Pmypassword -c &<br />

bcp mydb..bigtable:2 in file2 -Pmypassword -c &<br />

bcp mydb..bigtable:3 in file3 -Pmypassword -c &<br />

bcp mydb..bigtable:4 in file4 -Pmypassword -c &<br />

Paralleler Massenexport/-import und Identity-Spalten<br />

Wenn Sie den parallelen Massenexport/-import verwenden, können Identity-<br />

Spalten einen Engpass verursachen. Während bcp die Daten liest, erzeugt<br />

das Dienstprogramm die Werte für die Identity-Spalte und aktualisiert<br />

den Höchstwert der Identity-Spalte bei jeder Zeile. Dieser zusätzliche<br />

Arbeitsschritt kann sich auf die Performance-Steigerung auswirken,<br />

die Sie sich von der Verwendung des Massenexport/-imports der Daten<br />

erwartet haben.<br />

Um diesen Engpass zu vermeiden, können Sie explizit den Identity-Startpunkt<br />

für jede Sitzung festlegen.<br />

<strong>Dienstprogramme</strong> 33


cp-Performance<br />

Sortierreihenfolge aufrecht erhalten<br />

Wenn Sie sortierte Daten in die Tabelle kopieren, ohne den Identity-Startpunkt<br />

explizit anzugeben, erstellt bcp möglicherweise die Identity-Spaltenwerte<br />

nicht in der sortierten Reihenfolge. Der parallele Massenexport/-import<br />

der Daten liest die Informationen in alle Partitionen gleichzeitig ein und<br />

aktualisiert die Werte der Identity-Spalte, während die Daten gelesen werden.<br />

Eine bcp-Anweisung ohne expliziten Startpunkt würde Identity-<br />

Spaltennummern erzeugen, die den in Abbildung 3-2 gezeigten ähnlich sind:<br />

Abbildung 3-2: Identity-Spalten in Sortierreihenfolge erzeugen<br />

Partition 1 Partition 2 Partition 3 Partition 4<br />

ID-Spalte<br />

100 A<br />

104 A<br />

107 B<br />

108 B<br />

114 B<br />

ID-Spalte<br />

102 C<br />

106 C<br />

109 C<br />

112 D<br />

117 E<br />

ID-Spalte<br />

103 F<br />

105 F<br />

111 F<br />

116 G<br />

119 G<br />

Die Tabelle hat eine maximale Identity-Spaltennummer von 119, aber die<br />

Reihenfolge ist nicht mehr sinnvoll.<br />

Wenn Adaptive Server eindeutige Identity-Spaltenwerte erzwingen soll,<br />

müssen Sie bcp entweder mit dem Parameter -g oder -E ausführen.<br />

Den Startpunkt von der Befehlszeile aus angeben<br />

Verwenden Sie die Option -g ID_Anfangswert, um den Startpunkt der Identity-<br />

Spalte für eine Sitzung in der Befehlszeile festzulegen.<br />

Der -g-Parameter fordert Adaptive Server auf, eine Sequenz von Identity-<br />

Spaltenwerten für die bcp-Sitzung zu generieren, ohne den Höchstwert der<br />

Identity-Spalte der Tabelle für jede Zeile zu überprüfen und zu aktualisieren.<br />

Statt einer Prüfung aktualisiert Adaptive Server den Höchstwert am Ende jeder<br />

Anweisungsfolge.<br />

Achtung! Sie können aus Versehen mehrfach vorhandene Identity-Werte<br />

erstellen, wenn Sie Identity-Bereiche festlegen, die sich überschneiden.<br />

Um einen Identity-Anfangswert anzugeben, geben Sie ein:<br />

bcp [-gID_Anfangswert]<br />

ID-Spalte<br />

101 H<br />

110 H<br />

113 I<br />

115 J<br />

118 J<br />

34 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Um zum Beispiel in vier Dateien mit jeweils 100 Zeilen zu kopieren,<br />

geben Sie ein:<br />

bcp mydb..bigtable in file1 -g100<br />

bcp mydb..bigtable in file2 -g200<br />

bcp mydb..bigtable in file3 -g300<br />

bcp mydb..bigtable in file4 -g400<br />

Die Verwendung des -g -Parameters stellt nicht sicher, dass die Identity-<br />

Spaltenwerte eindeutig sind. Um Eindeutigkeit zu erzwingen, ist Folgendes<br />

notwendig:<br />

Sie müssen wissen, wie viele Zeilen in der Eingabedatei sind und was der<br />

höchste vorhandene Wert ist. Verwenden Sie diese Informationen, um die<br />

Startwerte mit dem -g-Parameter festzulegen, damit Sie Bereiche<br />

generieren, die nicht überlappen.<br />

Wenn im obenstehenden Beispiel eine Datei mehr als 100 Zeilen enthält,<br />

überlappen die Identity-Werte die nächsten 100 Zeilen von Daten,<br />

wodurch doppelte Identity-Werte erstellt werden.<br />

Sie müssen auch sicherstellen, dass niemand sonst Daten einfügt,<br />

die widersprechende Identity-Werte erzeugen können.<br />

Den Startpunkt mit der Datendatei angeben<br />

Verwenden Sie den -E-Parameter, um den Identity-Startpunkt explizit von der<br />

Datendatei aus zu setzen.<br />

Der -E-Parameter bewirkt, dass Sie von bcp aufgefordert werden, einen<br />

expliziten Identity-Spaltenwert für die einzelnen Zeilen einzugeben.<br />

Wenn dabei der höchstmögliche Identity-Spaltenwert überschritten<br />

wird, gibt Adaptive Server einen Fehler aus.<br />

Die bcp-Optionen verwenden<br />

Im vorliegenden Abschnitt werden einige der komplexeren Optionen der bcp-<br />

Syntax genauer beschrieben. Ausführliche Hinweise zur Syntax finden Sie<br />

unter bcp auf Seite 164.<br />

<strong>Dienstprogramme</strong> 35


Die bcp-Optionen verwenden<br />

Die Standardformate verwenden<br />

Natives Format<br />

bcp stellt zwei Programm-Startparameter zur Verfügung, die Dateien mit<br />

häufig verwendeten Standardformaten erstellen. Diese Optionen bieten die<br />

einfachste Möglichkeit, Daten in und aus einer Adaptive Server-Installation<br />

zu kopieren.<br />

Die -n -Option verwendet „native“ Formate (Betriebssystemformate).<br />

Die Option -c verwendet für alle Spalten „Zeichen“ (Datentyp char).<br />

Dieser Datentyp verwendet Tabulator-Trennzeichen zwischen Feldern in<br />

einer Zeile und ein Neue-Zeile-Abschlusszeichen (z.B. Zeilenschaltung)<br />

am Ende jeder Zeile.<br />

Wenn Sie die Optionen „nativ“ oder „Zeichen“ verwenden, operiert bcp nicht<br />

interaktiv und fragt Sie nur nach Ihrem Kennwort in Adaptive Server.<br />

Die Option -n erstellt Dateien mit nativen (betriebssystemspezifischen)<br />

Formaten. Native Formate erstellen gewöhnlich eine kompaktere<br />

Betriebssystemdatei. Mit dem folgenden Befehl wird beispielsweise die<br />

Tabelle publishers in eine Datei namens pub_out kopiert, wobei das native<br />

Datenformat verwendet wird:<br />

bcp pubs2..publishers out pub_out -n<br />

Inhalt von pub_out:<br />

0736^MNew Age Books^FBoston^BMA0877^PBinnet & Hardley^J<br />

Washington^BDC1389^TAlgodata Infosystems^HBerkeley^BCA<br />

bcp stellt jedem Feld, außer pub_id, dem der Datentyp char(4) zugeordnet ist,<br />

ein ASCII-Zeichen voran, das der Länge der Daten im Feld entspricht. Zum<br />

Beispiel besteht „New Age Books“ aus 13 Zeichen, und ^M (Strg-m) ist<br />

ASCII 13.<br />

Alle in der Datei pub_out gespeicherten Tabellendaten sind Daten des<br />

Typs char oder varchar und daher in einer lesbaren Form. In einer Tabelle mit<br />

nummerischen Daten schreibt bcp die Informationen im Datendarstellungsformat<br />

des Betriebssystems in die Datei; diese Daten sind möglicherweise für den<br />

Benutzer nicht lesbar.<br />

36 Adaptive Server Enterprise


Zeichenformat<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

bcp kopiert Daten aus einer Tabelle in eine Datei entweder unter Beibehaltung<br />

ihrer Datenbankdatentypen oder mit Umwandlung in einen Datentyp, bei<br />

dem implizite Konvertierung unterstützt wird. bcp kopiert benutzerdefinierte<br />

Datentypen als Basis-Datentyp oder beliebigen Datentyp, für den die implizite<br />

Konvertierung unterstützt wird. Weitere Informationen zur Datentypkonvertierung<br />

finden Sie unter dbconvert in der Dokumentation Open Client DB-<br />

Library/C Reference Manual oder der Dokumentation <strong>Sybase</strong> Adaptive Server<br />

Enterprise Reference Manual.<br />

Hinweis Das Dienstprogramm bcp unterstützt nicht das Kopieren von Daten<br />

im nativen Format von verschiedenen Betriebssystemen (zum Beispiel von NT<br />

auf UNIX). Verwenden Sie die Option -c, wenn Sie mit bcp Dateien von einem<br />

Betriebssystem auf ein anderes kopieren.<br />

Achtung! Verwenden Sie keine Zeilenabschlusszeichen-Parameter (-t)<br />

oder Feldabschlusszeichen-Parameter (-r) mit bcp im nativen Format. Die<br />

Ergebnisse sind nicht vorhersehbar und die Daten könnten beschädigt werden.<br />

Das Zeichenformat (-c) verwendet für alle Spalten den Datentyp char. Es fügt<br />

Tabulatoren zwischen die Felder jeder Zeile ein und setzt ein Neue-Zeile-<br />

Abschlusszeichen am Ende jeder Zeile.<br />

Mit dem folgenden Befehl werden beispielsweise die Daten aus der Tabelle<br />

publishers im Zeichenformat in die Datei pub_out kopiert:<br />

bcp pubs2..publishers out pub_out -c<br />

Der Befehl erzeugt die folgende bcp-Ausgabe:<br />

0736 New Age Books Boston MA<br />

0877 Binnet & Hardley Washington DC<br />

1389 Algodata Infosystems Berkeley CA<br />

<strong>Dienstprogramme</strong> 37


Die Standardwerte ändern: Interaktiver bcp<br />

Abschlusszeichen von der Befehlszeile ändern<br />

Abschlusszeichen sind die Zeichen, die Datenfelder trennen (Feldabschlusszeichen).<br />

Das Zeilenabschlusszeichen ist das Feldabschlusszeichen des letzten<br />

Felds in der Tabelle oder der Datei. Verwenden Sie die Programm-Startparameter<br />

-tFeldabschlusszeichen und -rrow_terminator Zeilen-Abschlusszeichen<br />

mit der Zeichenformatoption (-c), um die Abschlusszeichen von der Befehlszeile<br />

zu ändern.<br />

Das folgende Beispiel verwendet das Komma (,) als Feldabschlusszeichen<br />

und die Zeilenschaltung (\r) als Zeilenabschlusszeichen.<br />

Auf UNIX-Plattformen:<br />

bcp pubs2..publishers out pub_out -c -t , -r \\r<br />

Vergessen Sie nicht, den Rückstrich mit Escape-Zeichen zu markieren,<br />

falls das bei Ihrer Betriebssystem-Befehlsoberfläche erforderlich ist.<br />

Unter Windows NT:<br />

bcp pubs2..publishers out pub_out -c -t , -r \r<br />

Diese bcp-Befehlszeile gibt die folgenden Informationen aus:<br />

0736,New Age Books,Boston,MA<br />

0877,Binnet & Hardley,Washington,DC<br />

1389,Algodata Infosystems,Berkeley,CA<br />

Hinweis Mit den Optionen -t und -r können Sie die Standard-Abschlusszeichen<br />

ohne Berücksichtigung der Zeichenoption (-c) ändern.<br />

Die Standardwerte ändern: Interaktiver bcp<br />

Wenn Sie kein natives Format (-n) oder Zeichenformat (-c) angeben, werden<br />

Sie von bcp interaktiv aufgefordert, die folgenden Informationen<br />

bereitzustellen:<br />

Dateispeichertyp<br />

Präfixlänge<br />

Abschlusszeichen für alle zu kopierenden Datenspalten<br />

Länge für Felder, die als char oder binary<br />

gespeichert werden sollen<br />

38 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Die Standardwerte für diese Eingabeaufforderungen führen zu denselben<br />

Ergebnissen wie das Verwenden des nativen Formats und bieten eine einfache<br />

Methode, Daten aus einer Datenbank zu exportieren, um sie später wieder in<br />

die Adaptive Server-Installation zurückzuladen.<br />

Wenn Sie Daten zur Verwendung mit anderen Programmen in die oder aus<br />

der Adaptive Server-Installation kopieren, sollten Sie Ihre Antworten auf die<br />

Eingabeaufforderungen auf dem Format aufbauen, das für die andere Software<br />

erforderlich ist.<br />

Diese vier Eingabeaufforderungen sind ein äußerst flexibles System,<br />

mit dem Sie eine Datei aus einer anderen Software lesen können oder eine<br />

Datei erstellen können, die nach geringer oder keiner Bearbeitung mit vielen<br />

anderen Datenformaten kompatibel ist.<br />

In den folgenden Abschnitten werden diese Eingabeaufforderungen, ihre<br />

Wechselbeziehungen und ihre Auswirkungen auf die Daten erörtert.<br />

Auf bcp-Eingabeaufforderungen reagieren<br />

Wenn Sie Daten mit den Parametern -n (natives Format) oder -c<br />

(Zeichenformat) importieren oder exportieren, fordert Sie bcp zur Eingabe<br />

Ihres Kennworts auf, wenn es nicht bereits mit dem Parameter -P angegeben<br />

wurde. Wenn Sie den Parameter -n, -c oder -f Formatdatei nicht angeben, fordert<br />

bcp Sie auf, Daten in die einzelnen Felder der Tabelle oder Ansicht einzugeben.<br />

Jede Eingabeaufforderung zeigt in Klammern einen Standardwert an,<br />

den Sie durch Drücken der Eingabetaste bestätigen können.<br />

Diese Eingabeaufforderungen sind:<br />

Der Dateispeichertyp – entweder character oder ein anderer in<br />

Adaptive Server gültiger Datentyp<br />

Die Präfixlänge, eine Ganzzahl, die die Länge der nachfolgenden<br />

Daten in Byte anzeigt<br />

Die Speicherlänge der Daten in der Datei für Nicht-NULL-Felder<br />

Das Feldabschlusszeichen – eine beliebige Zeichenfolge<br />

(Windows NT) – Dezimalstellen und Gesamtstellenzahl bei<br />

nummerischen und Dezimal-Datentypen<br />

Das Zeilenabschlusszeichen ist das Feldabschlusszeichen des letzten<br />

Felds in der Tabelle, Ansicht oder Datei.<br />

<strong>Dienstprogramme</strong> 39


Die Standardwerte ändern: Interaktiver bcp<br />

Die in Klammern gefassten Standardwerte sind angemessene Werte für die<br />

Datentypen der betreffenden Felder. Die wirkungsvollste Ausnutzung des<br />

Speicherplatzes erzielen Sie, wenn Sie beim Kopieren von Daten aus einer<br />

Tabelle folgende Hinweise berücksichtigen:<br />

Bestätigen Sie die vorgeschlagenen Standardwerte.<br />

Kopieren Sie alle Daten in den Datentypen, wie sie von ihrer Tabelle<br />

definiert sind.<br />

Verwenden Sie die angegebenen Präfixe.<br />

Verwenden Sie keine Abschlusszeichen.<br />

Akzeptieren Sie die Standardlängen.<br />

Tabelle 3-3 zeigt die bcp-Eingabeaufforderungen, Standardwerte und die<br />

möglichen Benutzerantworten:<br />

Tabelle 3-3: Standardwerte und Benutzerantworten für<br />

bcp-Eingabeaufforderungen<br />

Eingabeaufforderung Verfügbarer Standard Mögliche Benutzerreaktion<br />

Dateispeichertyp Verwenden Sie den Datenbankspeichertyp<br />

für die meisten Felder, ausgenommen:<br />

char für varchar<br />

binary für varbinary<br />

Präfixlänge 0 für Felder, die mit dem Datentyp char<br />

(nicht Speichertyp) definiert sind und<br />

alle Datentypen mit festen Längen<br />

1 für die meisten anderen Datentypen<br />

2 für binary und varbinary gespeichert<br />

als char<br />

4 für text und image<br />

Speicherlänge Verwenden Sie für char und varchar<br />

die definierte Länge.<br />

Verwenden Sie für binary und<br />

varbinary gespeichert als char das<br />

Doppelte der definierten Länge.<br />

Verwenden Sie für alle anderen<br />

Datentypen die erforderliche<br />

Mindestlänge, um Kürzen oder<br />

Datenüberlauf zu verhindern.<br />

char, um eine benutzerlesbare Datei<br />

zu erstellen; alle Adaptive Server-<br />

Datentypen, die implizite Konvertierung<br />

unterstützen.<br />

0, wenn kein Präfix gewünscht wird;<br />

Standardwerte werden empfohlen.<br />

Standardwerte oder höher werden<br />

empfohlen.<br />

40 Adaptive Server Enterprise


Feld- oder<br />

Zeilenabschlusszeichen<br />

Dateispeichertyp<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Eingabeaufforderung Verfügbarer Standard Mögliche Benutzerreaktion<br />

Keiner Bis zu 30 Zeichen oder eines der<br />

folgenden:<br />

\t – Tabulator<br />

\n – Zeilenschaltung<br />

\r – Wagenrücklauf<br />

\0 – Nullabschlusszeichen<br />

\ – Rückstrich<br />

Die Eingabeaufforderung für den Datentyp bietet Ihnen eine Auswahl von<br />

Optionen, wie die Daten in der Datei zu speichern sind. Sie können Daten<br />

folgendermaßen in eine Datei kopieren:<br />

Als ihr Datenbanktabellentyp<br />

Als Zeichenfolge oder<br />

Als beliebiger Datentyp, für den implizite Konvertierung unterstützt wird.<br />

Hinweis bcp kopiert benutzerdefinierte Datentypen als Basistypen.<br />

Tabelle 3-4 zeigt den Standard-Speichertyp für alle Adaptive Server-<br />

Datentypen und die Abkürzungen, die von bcp akzeptiert werden.<br />

Am kompaktesten können Sie mit den Standortwerten speichern.<br />

Verwenden Sie für Zeichendateien den Datentyp char.<br />

Beachten Sie, dass der Speichertyp date das interne Speicherformat<br />

von Adaptive Server für datetime und nicht das Format des Host-<br />

Betriebssystems für das Datum ist.<br />

timestamp-Daten werden als binary(8) behandelt.<br />

In Tabelle 3-4 bedeuten eckige Klammern [ ], dass Sie das erste Zeichen oder<br />

die Anfangszeichen des Wortes verwenden können. Für „bit“ können Sie zum<br />

Beispiel „b“, „bi“ oder „bit“ verwenden.<br />

<strong>Dienstprogramme</strong> 41


Die Standardwerte ändern: Interaktiver bcp<br />

Tabelle 3-4: Datentypen für den Dateispeicher für bcp<br />

Tabellendatentyp Speichertyp<br />

char, varchar c[har]<br />

text T[ext]<br />

int i[nt]<br />

smallint s[mallint]<br />

tinyint t[inyint]<br />

float f[loat]<br />

money m[oney]<br />

bit b[it]<br />

datetime d[atetime]<br />

binary, varbinary x<br />

image I[mage]<br />

smalldatetime D<br />

real r<br />

smallmoney M<br />

numeric n<br />

decimal e<br />

Um diese Liste anzuzeigen, während Sie bcp interaktiv ausführen,<br />

geben Sie ein Fragezeichen (?) als Antwort auf die Eingabeaufforderung<br />

„Dateispeichertyp eingeben“ ein.<br />

Die vorgeschlagenen Werte, die in den Eingabeaufforderungen angezeigt<br />

werden, sind die Standardwerte. Vergessen Sie nicht, dass Ihre Antwort<br />

festlegt, wie Ihre Daten in der Ausgabedatei gespeichert werden. Sie müssen<br />

den Typ der Spalte in der Datenbanktabelle nicht angeben.<br />

bcp wird nicht erfolgreich ausgeführt, wenn Sie einen Datentyp eingeben, der<br />

weder implizit konvertierbar noch char ist. Beispiel: Sie können smallint nicht<br />

für int-Daten verwenden (es kann zu Überlaufsfehlern kommen). Sie können<br />

jedoch int für smallint verwenden.<br />

Wenn Sie Nicht-Zeichen-Datentypen in Form ihrer Datenbanktypen speichern,<br />

schreibt bcp die Daten in eine Datei im internen Datendarstellungsformat von<br />

Adaptive Server für das Host-Betriebssystem und nicht in einem für den<br />

Benutzer lesbaren Format.<br />

42 Adaptive Server Enterprise


Präfixlänge<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Bevor Sie Daten im Zeichenformat von einer Datei in eine Datenbanktabelle<br />

kopieren, überprüfen Sie die Datentypeingaberegeln in der Dokumentation<br />

Reference Manual. Zeichendaten, die mit bcp in eine Datenbank kopiert<br />

werden, müssen diesen Regeln entsprechen. Beachten Sie, dass<br />

Datumsangaben im nicht begrenzten Format (yy)yymmdd einen<br />

Überlauf bewirken können, wenn das Jahr nicht zuerst angegeben wird.<br />

Wenn Sie Host-Datendateien an Standorte versenden, die Terminals mit<br />

einem anderen Zeichensatz verwenden, geben Sie mit datafile_charset<br />

den Zeichensatz bekannt, den Sie zum Erstellen der Datei verwendet haben.<br />

Standardmäßig stellt bcp jedem Feld, das eine variable Speicherlänge hat, eine<br />

Zeichenfolge von einem oder mehreren Byte voran, die die Länge des Feldes<br />

anzeigt. Durch dieses Präfix wird die kompakteste Feldspeicherung erreicht.<br />

Die Standardwerte in den Eingabeaufforderungen zeigen die effizienteste<br />

Präfixlänge an:<br />

Bei Feldern mit fester Länge sollte das Präfix 0 betragen.<br />

Bei Feldern von 255 Bytes oder weniger ist der Standardwert 1.<br />

Für die Datentypen text oder image beträgt die Standard-Präfixlänge 4.<br />

Für die Datentypen binary und varbinary, die in char-Speichertypen<br />

konvertiert werden, lautet die Standard-Präfixlänge 2, da pro Byte<br />

Tabellendaten 2 Byte Dateispeicher erforderlich ist.<br />

Verwenden Sie für Daten des Datentyps binary, varbinary und image gerade<br />

Zahlen für Präfix und Länge. Diese Bedingung sorgt für Konsistenz mit<br />

Adaptive Server, der Daten als eine gerade Zahl von hexadezimalen<br />

Ziffern speichert.<br />

Verwenden Sie für alle Datenspalten, die Nullwerte zulassen, eine<br />

Präfixlänge (nicht 0) oder ein Abschlusszeichen, um die Länge der Daten<br />

der einzelnen Zeilen anzugeben. bcp behandelt diese Spalten wie auch<br />

Spalten mit ganzzahligen Datentypen, die normalerweise wie Spalten<br />

mit fester Länge behandelt werden, wie Spalten mit variabler Länge.<br />

Verwenden Sie für Daten ohne Präfix vor der Spalte eine Präfixlänge<br />

von 0.<br />

<strong>Dienstprogramme</strong> 43


Die Standardwerte ändern: Interaktiver bcp<br />

Feldlänge<br />

Eine Präfixlänge ist eine Ganzzahl von 1, 2 oder 4 Byte, die die Länge jedes<br />

Datenwerts in Byte wiedergibt. Sie steht dem Datenwert in der Hostdatei<br />

unmittelbar voran.<br />

Wenn Sie kein Abschlusszeichen eingeben, füllt bcp jedes gespeicherte<br />

Feld mit Leerstellen auf die volle Länge auf, die an der nächsten<br />

Eingabeaufforderung, „Länge“, angegeben wird.<br />

Da Präfixlängen aus nativen Formatganzzahlen bestehen, enthält die<br />

resultierende Hostdatei nicht-druckbare Zeichen. Dadurch sind Sie<br />

möglicherweise nicht in der Lage, die Hostdatei auszudrucken oder sie<br />

mittels eines Kommunikationsprogramms zu übermitteln, das ausschließlich<br />

druckbare Zeichen handhaben kann.<br />

Weitere Hinweise zu Präfixlängen finden Sie unter Tabelle 3-9 auf Seite 53.<br />

In den meisten Fällen können Sie für das Exportieren von Daten den<br />

Standardwert von bcp für die Speicherlänge verwenden.<br />

Hinweis In diesem Abschnitt beziehen sich „Länge“ und „Speicherlänge“ auf<br />

die Betriebssystemdatei und nicht auf die Feldlängen von Adaptive Server.<br />

Wenn Sie eine Datei zum Wiederladen in Adaptive Server erstellen,<br />

schränken Standardpräfixe und -länge den benötigten Speicherplatz<br />

auf ein Minimum ein.<br />

Wenn Sie eine vom Benutzer lesbare Datei erstellen, verhindert<br />

die Standardlänge ein Kürzen der Daten oder die Erzeugung von<br />

Überlauffehlern, die zum Scheitern von bcp führen.<br />

Da es möglich ist, die Standardlänge zu ändern, indem Sie einen anderen Wert<br />

eingeben, müssen Sie mit den Daten vertraut sein, die übertragen werden.<br />

Wenn Sie Zeichendaten von anderer Software kopieren, sollten Sie die<br />

Quelldatei genauestens überprüfen, bevor Sie Längenwerte auswählen.<br />

Hinweis Wenn der Speicherungstyp Nichtzeichen ist, speichert bcp die Daten<br />

in der nativen Datendarstellung des Betriebssystems und fordert Sie nicht zur<br />

Eingabe der Länge auf.<br />

44 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Wenn bcp Nichtzeichen-Daten in Zeichenspeicherung konvertiert, wird eine<br />

Standardfeldlänge vorgeschlagen, die groß genug zum Speichern der Daten ist,<br />

ohne dass datetime-Daten abgeschnitten werden oder ein Überlauf von<br />

nummerischen Daten verursacht wird.<br />

Die Standardlänge ist die Byteanzahl, die benötigt wird, um den längsten<br />

Wert für den Adaptive Server-Datentyp anzuzeigen. Tabelle 3-5 listet<br />

die Standardfeldlängen für die Datenkonvertierung in<br />

Zeichenspeicherung auf.<br />

Tabelle 3-5: Standard-Feldlängen bei der Konvertierung von<br />

Nichtzeichen- in Zeichendatentypen<br />

Datentyp Standardgröße<br />

int 12 Byte<br />

smallint 6 Byte<br />

tinyint 3 Byte<br />

float 25 Byte<br />

money 24 Byte<br />

bit 1 Byte<br />

datetime 26 Byte<br />

smalldatetime 26 Byte<br />

real 25 Byte<br />

smallmoney 24 Byte<br />

Wenn Sie eine Feldlänge angeben, die beim Kopieren von Daten aus einer<br />

Tabelle für nummerische Daten zu kurz ist, gibt bcp eine Überlaufmeldung<br />

aus und kopiert die Daten nicht.<br />

Die Standardlänge für die Felder binary und varbinary entspricht zweimal<br />

der für die Spalte definierten Länge, da pro Byte des Feldes 2 Byte<br />

Feldspeicherung erforderlich sind.<br />

Wenn Sie die Standard-Speicherlänge akzeptieren, hängt die tatsächlich<br />

zugewiesene Menge an Speicherplatz davon ab, ob Sie eine Präfixlänge<br />

und Abschlusszeichen angeben.<br />

Wenn Sie eine Präfixlänge von 1, 2 oder 4 angeben, verwendet bcp als<br />

Speicherplatz die tatsächliche Datenlänge plus die Länge des Präfixes<br />

plus etwaige Abschlusszeichen.<br />

<strong>Dienstprogramme</strong> 45


Die Standardwerte ändern: Interaktiver bcp<br />

Wenn Sie eine Präfixlänge von 0 und kein Abschlusszeichen angeben,<br />

weist bcp die maximale Menge des in der Eingabeaufforderung<br />

angezeigten Speicherplatzes zu. Dies entspricht dem maximalen<br />

Platzbedarf für den betreffenden Datentyp. Mit anderen Worten:<br />

bcp behandelt das Feld so, als hätte es eine feste Länge, um zu<br />

bestimmen, wo ein Feld endet und das nächste beginnt.<br />

Wenn zum Beispiel das Feld als varchar(30) definiert ist, verwendet<br />

bcp 30 Byte für jeden Wert, auch wenn manche Werte nur 1 Zeichen<br />

lang sind.<br />

Felder, die in der Datenbank als char, nchar und binary definiert sind,<br />

und Felder, die keine Nullwerte zulassen, werden stets mit Leerstellen<br />

(null Byte bei binär) auf die volle in der Datenbank definierte Länge<br />

aufgefüllt. timestamp-Daten werden als binary(8) behandelt.<br />

Wenn Daten in den Feldern varchar und varbinary länger als die Länge<br />

sind, die Sie zum Exportieren angeben, kürzt bcp die Daten in der Datei<br />

stillschweigend auf die festgelegte Länge.<br />

bcp weiß nicht, wie lang ein beliebiger Datenwert sein wird, bevor nicht<br />

alle Daten kopiert sind. Daher werden char-Datentypen immer vollständig<br />

bis zur angegebenen Länge aufgefüllt.<br />

Der Dateispeichertyp und die Länge einer Spalte müssen nicht unbedingt<br />

dem Typ und der Länge der Spalte in der Datenbanktabelle entsprechen.<br />

Wenn die in die Tabelle kopierten Typen und Formate nicht mit der<br />

Struktur der Datenbanktabelle kompatibel sind, scheitert der<br />

Kopiervorgang.<br />

Die Dateispeicherlänge stellt gewöhnlich die größte Menge von zu<br />

übertragenden Daten für die Spalte dar, ausgenommen Abschlusszeichen<br />

und/oder Präfixe.<br />

Wenn Sie Daten in eine Tabelle kopieren, beachtet bcp die Standardwerte,<br />

die für Spalten und benutzerdefinierte Datentypen definiert sind.<br />

Allerdings ignoriert bcp Regeln, damit das Laden von Daten mit der<br />

optimalen Geschwindigkeit durchgeführt werden kann.<br />

Da bcp alle Datenspalten, die Nullwerte enthalten, als Spalten mit<br />

variabler Länge einstuft, sollten Sie entweder ein Längenpräfix oder ein<br />

Abschlusszeichen verwenden, um die Länge der einzelnen Zeilen von<br />

Daten zu kennzeichnen.<br />

Der Dateispeichertyp und die Länge einer Spalte müssen nicht unbedingt<br />

dem Typ und der Länge der Spalte in der Datenbanktabelle entsprechen.<br />

(Wenn die importierten Typen und Formate nicht mit der Struktur der<br />

Datenbanktabelle kompatibel sind, scheitert der Kopiervorgang.)<br />

46 Adaptive Server Enterprise


Feld- und Zeilenabschlusszeichen<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Sie können ein Abschlusszeichen verwenden, um das Ende einer Spalte oder<br />

Zeile zu markieren und von der folgenden abzugrenzen. Als Standard ist kein<br />

Abschlusszeichen angegeben.<br />

Feldabschlusszeichen trennen Tabellenspalten.<br />

Das Zeilenabschlusszeichen ist das Feldabschlusszeichen des letzten<br />

Felds in der Zeile der Tabelle oder Datei.<br />

Abschlusszeichen sind sehr nützlich beim Arbeiten mit Zeichendaten, weil<br />

Sie für sie ein vom Benutzer lesbares Format auswählen können. Die bcp-<br />

Zeichenoption, die zwischen den Spalten Tabulatoren und am Ende jeder Zeile<br />

ein Neue-Zeile-Abschlusszeichen verwendet, ist ein Beispiel für den Einsatz<br />

von Abschlusszeichen zur besseren Lesbarkeit einer Datendatei.<br />

Wenn Sie Daten in anderen Programmen verwenden und mit bcp Tabellendaten<br />

vorbereiten möchten, geben Sie Ihre eigenen Abschlusszeichen ein.<br />

Die verfügbaren Abschlusszeichen sind:<br />

Tabulatoren, gekennzeichnet durch \t<br />

Neue Zeilen, gekennzeichnet durch \n<br />

Zeilenschaltungen, gekennzeichnet durch \r<br />

Rückstrich, gekennzeichnet durch \<br />

Nullabschlusszeichen (kein sichtbares Abschlusszeichen),<br />

gekennzeichnet durch \0<br />

Jedes druckbare Zeichen, zum Beispiel *, A, t, |<br />

Zeichenketten von bis zu 10 druckbaren Zeichen, einschließlich mancher<br />

oder aller Abschlusszeichen, die oben aufgelistet sind (zum Beispiel<br />

**\t**, end, !!!!!!!!!! und \t--\n)<br />

Hinweis Steuerzeichen (ASCII 0–25) können nicht gedruckt werden.<br />

<strong>Dienstprogramme</strong> 47


Die Standardwerte ändern: Interaktiver bcp<br />

Abschlusszeichen auswählen<br />

Wählen Sie Abschlusszeichen mit Mustern aus, die sonst nirgendwo in den<br />

Daten auftreten.<br />

So kann beispielsweise die Verwendung eines Tabulator-Abschlusszeichens<br />

mit einer Zeichenfolge von Daten, die ebenfalls einen Tabulator enthält,<br />

zweideutig sein: Welcher Tabulator stellt das Ende der Zeichenfolge dar? bcp<br />

sucht immer nach dem ersten möglichen Abschlusszeichen, was in diesem Fall<br />

nicht korrekt wäre, da das erste Tabulatorzeichen, auf das das Programm stößt,<br />

Teil der Zeichenfolge ist.<br />

Daten im nativen Format können auch Konflikte mit Abschlusszeichen<br />

bewirken. Bei einer Spalte, die eine 4-Byte Ganzzahl im nativen Format<br />

enthält, ist es unmöglich, ein Abschlusszeichen auszuwählen, das ganz sicher<br />

nicht innerhalb der Daten vorkommt, außer wenn die Werte dieser Ganzzahlen<br />

streng begrenzt sind. Verwenden Sie die native Formatoption von bcp bei<br />

Daten im nativen Format.<br />

Hinweis „Kein Abschlusszeichen“ entspricht nicht dem „Nullabschlusszeichen“,<br />

das ein unsichtbares, jedoch reales Zeichen ist.<br />

Eine Feldabschlusszeichenfolge kann bis zu 30 Zeichen lang sein. Die<br />

häufigsten Abschlusszeichen sind das Tabulatorzeichen (eingegeben als<br />

\t und in allen Spalten mit Ausnahme der letzten Spalte verwendet) und<br />

die Zeilenschaltung (eingegeben als \n und im letzten Feld einer Zeile<br />

verwendet). Andere Abschlusszeichen: \0 (Nullabschlusszeichen),<br />

\ (Rückstrich) und \r (Zeilenschaltung). Stellen Sie bei Auswahl eines<br />

Abschlusszeichens sicher, dass es in keinen Zeichendaten vorkommt,<br />

denn bcp sucht immer nach dem ersten möglichen Abschlusszeichen.<br />

Beispiel: Wenn Sie Tabulator-Abschlusszeichen für eine Zeichenfolge<br />

verwenden, in der ein Tabulatorzeichen enthalten ist, kann bcp nicht<br />

beurteilen, welches der beiden Tabulatorzeichen das Abschlusszeichen<br />

ist. Da bcp immer nach dem ersten möglichen Abschlusszeichen sucht,<br />

würde das Programm in diesem Fall das falsche Tabulatorzeichen als<br />

Abschlusszeichen interpretieren.<br />

48 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Ein Abschlusszeichen oder ein Präfix wirkt sich auf die tatsächliche Länge<br />

der übertragenen Daten aus:<br />

Wenn ein Abschlusszeichen oder ein Präfix vorhanden ist, wirkt es<br />

sich auf die Länge der übertragenen Daten aus. Wenn die Länge eines<br />

Eintrags, der aus einer Tabelle in eine Datei kopiert wird, kürzer als die<br />

Speicherlänge ist, wird ihm das Abschlusszeichen oder das Präfix des<br />

nächsten Feldes unmittelbar angefügt. Der Eintrag wird nicht auf die<br />

volle Speicherlänge aufgefüllt (char, nchar und binary-Daten wurden<br />

von Adaptive Server bereits auf die volle Länge aufgefüllt).<br />

Wenn bcp aus einer Datei in eine Tabelle kopiert, werden Daten so<br />

lange übertragen, bis die in der Eingabeaufforderung „Länge“ angegebene<br />

Byteanzahl erreicht ist oder das Programm auf ein Abschlusszeichen stößt.<br />

Sobald so viele Byte kopiert sind, wie es in der Längenangabe festgelegt<br />

wurde, wird der Rest der Daten gelöscht, bis das Abschlusszeichen<br />

auftritt. Werden keine Abschlusszeichen verwendet, so wird die<br />

Speicherlänge der Tabelle strikt eingehalten.<br />

Felder, die als char (außer char, nchar und binary-Felder) und nicht als ihre<br />

Datenbank-Datentypen gespeichert sind, benötigen weniger Speicherplatz<br />

mit der Standardlänge und Präfix oder Abschlusszeichen. bcp kann sowohl<br />

ein Abschlusszeichen als auch ein Präfix verwenden, um eine optimale<br />

Nutzung des verfügbaren Speicherplatzes zu gewährleisten. bcp schlägt<br />

die maximale Menge für den Speicherplatz vor, der für jedes Feld als<br />

Standard erforderlich ist. Für char oder varchar -Daten akzeptiert bcp<br />

jede Länge.<br />

Tabelle 3-6 und Tabelle 3-7 zeigen die Auswirkung von Präfixlängen,<br />

Abschlusszeichen und Feldlängen auf die Daten in der Datei. „P“ zeigt<br />

das Präfix in der gespeicherten Tabelle, „T“ das Abschlusszeichen und<br />

Bindestriche (--) zeigen angefügte Leerstellen an. Auslassungspunkte (...)<br />

zeigen an, dass sich das Muster bei jedem Feld wiederholt. Die Feldlänge<br />

ist bei jeder Spalte 8 Byte; „string“ stellt immer das 6-Zeichen-Feld dar.<br />

Tabelle 3-6: char-Daten von Adaptive Server<br />

Präfixlänge = 0 Präfixlänge–1, 2 oder 4<br />

Kein<br />

Zeichenfolge-- PZeichenfolge--<br />

Abschlusszeichen Zeichenfolge--... PZeichenfolge--...<br />

Abschlusszeichen Zeichenfolge-- PZeichenfolge--<br />

TZeichenfolge--T... TPZeichenfolge--T...<br />

<strong>Dienstprogramme</strong> 49


Formatdateien verwenden<br />

Formatdateien verwenden<br />

Tabelle 3-7: Andere Datentypen konvertiert in char-Speicher<br />

Präfixlänge = 0 Präfixlänge–1, 2 oder 4<br />

Kein<br />

Zeichenfolge--<br />

PZeichenfolgePZeichenfolge...<br />

Abschlusszeichen Zeichenfolge--...<br />

Abschlusszeichen ZeichenfolgeTZeichenfolgeT... PZeichenfolgeTPZeichenfolgeT...<br />

Nachdem Informationen über alle Felder in der Tabelle gesammelt wurden,<br />

fragt Sie bcp, ob Sie die Informationen in einer Formatdatei speichern wollen,<br />

und fordert Sie zur Eingabe eines Dateinamens auf.<br />

Wenn Sie eine Formatdatei verwenden, die für die mit dem bcp-<br />

Dienstprogramm zu kopierenden Daten erstellt wurde, können Sie die<br />

Daten ohne Interaktion importieren und exportieren, d.h. bcp wird Sie<br />

nicht zur Eingabe von Informationen auffordern. Die Formatdatei liefert die<br />

Informationen, die bcp benötigt. Verwenden Sie diese Formatdatei, um Daten<br />

in die Adaptive Server-Installation zurückzukopieren oder um Daten aus einer<br />

Tabelle zu einem beliebigen Zeitpunkt zu exportieren.<br />

Abbildung 3-3 zeigt das Format der bcp-Formatdateien. Sie zeigt die<br />

publishers-Tabelle aus der pubs2-Datenbank. Alle Spalten der Hostdatei<br />

werden im Zeichenformat ohne Präfix angezeigt und verwenden Standard-<br />

Datenlänge, Neue-Zeile-Abschlusszeichen am Ende der letzten Spalte einer<br />

Zeile sowie Tabulatoren als Abschlusszeichen für alle anderen Spalten.<br />

50 Adaptive Server Enterprise


Nummer<br />

von<br />

Spalten<br />

Hostdatei-<br />

Spaltenreihenfolge<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Abbildung 3-3: bcp-Formatdatei<br />

TDS-<br />

Ebene<br />

Elemente der bcp-Formatdatei<br />

10.0<br />

4<br />

1 SYBCHAR 0 4 "\t" 1 pub_id<br />

2 SYBCHAR 0 20 "\t" 2 pub_name<br />

3 SYBCHAR 0 20 "\t" 3 city<br />

4 SYBCHAR 0 2 "\n" 4 state<br />

Hostdatei-<br />

Datentyp<br />

Präfixlänge Abschlusszeichen<br />

Hostdatei-<br />

Datenlänge<br />

Server-<br />

Spaltenname<br />

Server-<br />

Spaltenreihenfolge<br />

Die folgende Liste führt die verschiedenen Elemente einer bcp-Formatdatei<br />

auf. Verwenden Sie Abbildung 3-3 auf Seite 51 als Beispiel für die<br />

Formatdatei.<br />

Die Tabular Data Stream-Version (TDS) ist immer die erste Zeile der<br />

Datei. Sie gibt die Version von TDS an, die Sie verwenden, und nicht die<br />

Adaptive Server-Version, und wird als eine literale Zeichenfolge ohne<br />

Anführungszeichen dargestellt. In Abbildung 3-3 ist die Version 10.0.<br />

Die zweite Zeile einer bcp-Formatdatei gibt die Anzahl der Spalten an,<br />

die sich auf die Anzahl von Datensätzen in der Formatdatei bezieht,<br />

ohne dabei die Zeilen 1 und 2 mitzuzählen. Alle Spalten in der Host-<br />

Tabelle verfügen über eine Zeile.<br />

Der ersten und zweiten Zeile folgt eine Zeile für jede Spalte in der<br />

Datenbanktabelle. Jede Zeile besteht aus Elementen, die üblicherweise<br />

durch Tabulatoren getrennt werden, ausgenommen der Hostdatei-<br />

Datentyp und die Präfixlänge, die gewöhnlich durch eine Leerstelle<br />

getrennt werden. Die Elemente sind folgende:<br />

Hostdatei-Spaltenreihenfolge<br />

Hostdatei-Datentyp<br />

<strong>Dienstprogramme</strong> 51


Formatdateien verwenden<br />

Hostdatei-<br />

Spaltenreihenfolge<br />

Präfixlänge<br />

Hostdatei-Datenlänge<br />

Abschlusszeichen<br />

Server-Spaltenreihenfolge<br />

Server-Spaltenname<br />

Spalten-Gesamtstellenzahl<br />

Spalten-Dezimalstellen<br />

Die folgenden Abschnitte beschreiben die Spaltenelemente in der Formatdatei.<br />

Die Hostdatei-Spaltenreihenfolge ist die sequenzielle Zahl des Felds in der<br />

Hostdatendatei, beginnend mit 1.<br />

Hostdatei-Datentyp Hostdatei-Datentyp bezieht sich auf das Speicherungsformat des Felds in der<br />

Hostdatendatei, und nicht auf den Datentyp der Datenbanktabellenspalte.<br />

Tabelle 3-8 listet die gültigen Speicherungsformate auf.<br />

Tabelle 3-8: Speicherungsformat von Hostdatei-Datentypen<br />

Speicherungsformat Adaptive Server-Datentyp<br />

SYBCHAR char, varchar (ASCII)<br />

SYBTEXT text<br />

SYBBINARY binary<br />

SYBIMAGE image<br />

SYBINT1 tinyint<br />

SYBINT2 smallint<br />

SYBINT4 int<br />

SYBFLT8 float<br />

SYBREAL real<br />

SYBBIT bit<br />

SYBNUMERIC numeric<br />

SYBDECIMAL decimal<br />

SYBMONEY money<br />

SYBMONEY4 smallmoney<br />

SYBDATETIME datetime<br />

SYBDATETIME4 smalldatetime<br />

52 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Daten, die in ihrem Betriebssystemformat in eine Host-Datei geschrieben<br />

werden, behalten ihre Gesamtstellenzahl. datetime und float-Werte behalten<br />

ihre Gesamtstellenzahl ebenfalls, auch wenn sie in das Zeichenformat<br />

konvertiert werden. Adaptive Server speichert money-Werte mit einer<br />

Gesamtstellenanzahl von einem Zehntausendstel einer Währungseinheit.<br />

Wenn money-Werte in das Zeichenformat konvertiert werden, werden ihre<br />

Zeichenformatwerte allerdings nur auf zwei Stellen genau aufgezeichnet.<br />

Beschreibungen und entsprechende Anwendungen von Datentypen in<br />

Adaptive Server finden Sie in Kapitel 1, „System and User-Defined<br />

Datatypes“, der Dokumentation Reference Manual.<br />

Präfixlänge Präfixlänge zeigt die Byteanzahl im Feldlängen-Präfix an. Die Präfixlänge ist<br />

ein ganzzahliger Wert ohne Vorzeichen von 0, 1, 2 oder 4 Byte, der in die Host-<br />

Datendatei eingebettet ist, die die tatsächliche Länge der im Feld enthaltenen<br />

Daten angibt. Es ist möglich, dass manche Felder Längenpräfixe haben, andere<br />

hingegen nicht.<br />

Tabelle 3-9 zeigt die zulässigen Präfixlängenwerte.<br />

Tabelle 3-9: Erlaubte Präfixlängenwerte<br />

Länge (in Byte) Bereich<br />

0 Kein Präfix<br />

1 2 8 -1; 0-255<br />

2 216-1; 0-65535<br />

4 2 32 -1; 0-4,294,967,295<br />

Hostdatei-Datenlänge Hostdatei-Datenlänge bezieht sich auf die maximale Anzahl von zu<br />

kopierenden Bytes im Feld. Um zu bestimmen, wie viele Daten zu importieren<br />

oder exportieren sind, verwendet bcp einen der folgenden Werte:<br />

Die maximale Feldlänge<br />

Die Präfixlänge (falls vorhanden)<br />

Die Feldabschlusszeichen-Zeichenfolge (falls vorhanden)<br />

Wenn mehr als eine Methode der Feldlängenspezifikation angegeben wird,<br />

wählt bcp diejenige aus, die die geringste Menge an Daten kopiert.<br />

Abschlusszeichen Das Abschlusszeichen kann bis zu 30 Byte Zeichen enthalten, die in<br />

Anführungszeichen („ “) eingeschlossen werden. Das Abschlusszeichen<br />

kennzeichnet das Ende der Daten für das Host-Datendateifeld.<br />

Server-<br />

Spaltenreihenfolge<br />

Die Server-Spaltenreihenfolge stellt die colid (Spaltenkennung) der<br />

syscolumns-Spalte dar, in die die Spalte der Hostdatendatei eingelesen<br />

werden soll. Zusammen mit der Hostdatei-Spaltenreihenfolge bildet dieses<br />

Element die Host-Datendatei-Felder der Datenbank-Tabellenspalten ab.<br />

<strong>Dienstprogramme</strong> 53


Beispiele: Daten interaktiv exportieren<br />

Server-Spaltenname Der Server-Spaltenname ist der Name der Datenbank-Tabellenspalte,<br />

in die das Feld eingelesen wird.<br />

Spalten-<br />

Gesamtstellenzahl<br />

Spalten-<br />

Dezimalstellen<br />

Die Spalten-Gesamtstellenzahl ist die Gesamtstellenzahl der Datenbank-<br />

Tabellenspalte, in die dieses Feld geladen wird. Dieses Element ist nur<br />

vorhanden, wenn als Speicherungsformat numeric oder decimal vorgegeben ist.<br />

Die Spalten-Dezimalstellen sind die Dezimalstellen der Datenbank-<br />

Tabellenspalte, in die dieses Feld geladen wird. Dieses Element ist nur<br />

vorhanden, wenn als Speicherungsformat numeric oder decimal vorgegeben ist.<br />

Beispiele: Daten interaktiv exportieren<br />

Indem Sie die Standardwerte der Eingabeaufforderungen für bcp ändern,<br />

können Sie Daten so aufbereiten, dass sie von anderer Software verarbeitet<br />

werden können.<br />

Um eine vom Benutzer lesbare Datei zu erstellen, beantworten Sie die bcp-<br />

Eingabeaufforderungen wie folgt:<br />

Dateispeichertyp – Geben Sie 0 ein.<br />

Präfixlänge – Geben Sie 0 ein.<br />

Feldlänge – Übernehmen Sie den Standardwert.<br />

Abschlusszeichen – Das einzugebende Feldabschlusszeichen hängt von<br />

der von Ihnen verwendeten Software ab.<br />

Wählen Sie zwischen begrenzten Feldern oder Feldern mit fester<br />

Länge. Verwenden Sie stets \n, das Neue-Zeile-Abschlusszeichen,<br />

um das letzte Feld abzuschließen.<br />

Bei Feldern mit fester Länge dürfen Sie kein Abschlusszeichen<br />

verwenden. Jedes Feld hat eine feste Länge, wobei Leerstellen die<br />

Felder auffüllen. Benachbarte Felder, in denen die Daten das erste<br />

Feld vollständig anfüllen, scheinen ineinander überzugehen, da es<br />

keine Feldseparatoren in jeder Zeile der Ausgabe gibt. Siehe<br />

untenstehendes Beispiel.<br />

Für eine Komma-begrenzte Ausgabe verwenden Sie ein Komma (,)<br />

als Abschlusszeichen für die einzelnen Felder. Um eine tabulare<br />

Ausgabe zu erzielen, verwenden Sie das Tabulatorzeichen (\t).<br />

54 Adaptive Server Enterprise


Daten mit Feldlängen exportieren<br />

bcp pubs2..sales out sal_out<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Das folgende Beispiel verwendet Felder mit fester Länge, um eine Ausgabe im<br />

Personal-Computer-Format namens SDF (System Data Format) zu erstellen.<br />

Dieses Format kann von anderer Software problemlos gelesen oder erzeugt<br />

werden.<br />

Hinweis Hinweise zu Formatdateien finden Sie unter „Formatdateien<br />

verwenden“ auf Seite 50.<br />

Die Ergebnisse werden folgendermaßen in der sal_out-Datei gespeichert:<br />

5023 AB-123-DEF-425-1Z3 Oct 31 1985 12:00AM<br />

5023 AB-872-DEF-732-2Z1 Nov 6 1985 12:00AM<br />

5023 AX-532-FED-452-2Z7 Dec 1 1990 12:00AM<br />

5023 BS-345-DSE-860-1F2 Dec 12 1986 12:00AM<br />

5023 GH-542-NAD-713-9F9 Mar 15 1987 12:00AM<br />

5023 NF-123-ADS-642-9G3 Jul 18 1987 12:00AM<br />

5023 XS-135-DER-432-8J2 Mar 21 1991 12:00AM<br />

5023 ZA-000-ASD-324-4D1 Jul 27 1988 12:00AM<br />

5023 ZD-123-DFG-752-9G8 Mar 21 1991 12:00AM<br />

5023 ZS-645-CAT-415-1B2 Mar 21 1991 12:00AM<br />

5023 ZZ-999-ZZZ-999-0A0 Mar 21 1991 12:00AM<br />

6380 234518 Sep 30 1987 12:00AM<br />

6380 342157 Dec 13 1985 12:00AM<br />

6380 356921 Feb 17 1991 12:00AM<br />

7066 BA27618 Oct 12 1985 12:00AM<br />

7066 BA52498 Oct 27 1987 12:00AM<br />

7066 BA71224 Aug 5 1988 12:00AM<br />

7067 NB-1.142 Jan 2 1987 12:00AM<br />

7067 NB-3.142 Jun 13 1990 12:00AM<br />

7131 Asoap132 Nov 16 1986 12:00AM<br />

7131 Asoap432 Dec 20 1990 12:00AM<br />

7131 Fsoap867 Sep 8 1987 12:00AM<br />

7896 124152 Aug 14 1986 12:00AM<br />

7896 234518 Feb 14 1991 12:00AM<br />

8042 12-F-9 Jul 13 1986 12:00AM<br />

8042 13-E-7 May 23 1989 12:00AM<br />

8042 13-J-9 Jan 13 1988 12:00AM<br />

8042 55-V-7 Mar 20 1991 12:00AM<br />

8042 91-A-7 Mar 20 1991 12:00AM<br />

8042 91-V-7 Mar 20 1991 12:00AM<br />

<strong>Dienstprogramme</strong> 55


Beispiele: Daten interaktiv exportieren<br />

Die Formatdatei sal_fmt sieht wie folgt aus:<br />

10.0<br />

3<br />

1 SYBCHAR 04 "" 1 stor_id<br />

2 SYBCHAR 020 "" 2 ord_num<br />

3 SYBCHAR 026 "" 3 date<br />

Daten mit Begrenzern exportieren<br />

Hinweise zu Formatdateien finden Sie unter „Formatdateien verwenden“ auf<br />

Seite 50.<br />

In diesem Beispiel kopiert bcp interaktiv Daten aus der publishers-Tabelle in<br />

eine Datei.<br />

Hinweis Hinweise zu Formatdateien finden Sie unter „Formatdateien<br />

verwenden“ auf Seite 50.<br />

Komma- und Neue-Zeile-begrenzte Ausgabe mit Formatdatei<br />

Das erste Beispiel erstellt eine Ausgabe mit Kommas zwischen allen Feldern<br />

in einer Zeile und einem Neue-Zeile-Abschlusszeichen am Ende jeder Zeile.<br />

Es erstellt eine Formatdatei (pub_fmt), die Sie später verwenden können,<br />

um dieselben oder ähnliche Daten in die Adaptive Server-Installation<br />

zurückzukopieren.<br />

bcp pubs2..publishers out pub_out<br />

Die Ergebnisse werden folgendermaßen in der pub_out-Datei gespeichert:<br />

0736,New Age Books,Boston,MA<br />

0877,Binnet & Hardley,Washington,DC<br />

1389,Algodata Infosystems,Berkeley,CA<br />

56 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Der Inhalt der pub_fmt-Formatdatei sieht wie folgt aus:<br />

10.0<br />

4<br />

1 SYBCHAR 0 4 "," 1 pub_id<br />

2 SYBCHAR 0 40 "," 2 pub_name<br />

3 SYBCHAR 0 20 "," 3 city<br />

4 SYBCHAR 0 2 "\n" 4 state<br />

Tabulator-begrenzte Ausgabe mit Formatdatei<br />

Entsprechend erstellt das folgende Beispiel eine tabulator-begrenzte Ausgabe<br />

von der Tabelle pubs2..publishers in der Datei pub_out.<br />

bcp pubs2..publishers out pub_out<br />

Die Ergebnisse werden in der pub_out-Datei folgendermaßen gespeichert:<br />

0736 New Age Books Boston MA<br />

0877 Binnet & Hardley Washington DC<br />

1389 Algodata Infosystems Berkeley CA<br />

Der Inhalt der pub_fmt-Formatdatei sieht wie folgt aus:<br />

10.0<br />

4<br />

1 SYBCHAR 04 "\t" 1 pub_id<br />

2 SYBCHAR 040 "\t" 2 pub_name<br />

3 SYBCHAR 020 "\t" 3 city<br />

4 SYBCHAR 02 "\n" 4 state<br />

Beispiele: Daten interaktiv importieren<br />

Um Daten einer Datei erfolgreich in eine Tabelle zu kopieren, müssen Sie<br />

wissen, welche Abschlusszeichen die Datei enthält, oder welche Werte die<br />

Feldlängen haben. Die entsprechenden Angaben sind einzugeben, wenn Sie<br />

bcp verwenden.<br />

Die folgenden Beispiele zeigen, wie man Daten entweder mit Feldern fester<br />

Länge oder mit Begrenzern importiert, wobei bcp mit oder ohne eine<br />

Formatdatei verwendet wird.<br />

<strong>Dienstprogramme</strong> 57


Beispiele: Daten interaktiv importieren<br />

Daten mit Feldlängen importieren<br />

In diesem Beispiel kopiert bcp Daten aus der Datei salesnew in die Tabelle<br />

pubs2..sales.<br />

In der salesnew-Datei gibt es drei Felder: das erste ist 4, das zweite 20<br />

und das dritte 26 Zeichen lang. Jede Zeile endet mit einem Neue-Zeile-<br />

Abschlusszeichen (\n), und zwar folgendermaßen:<br />

5023ZS-731-AAB-780-2B9 May 24 1993 12:00:00:000AM<br />

5023XC-362-CFB-387-3Z5 May 24 1993 12:00:00:000AM<br />

6380837206 May 24 1993 12:00:00:000AM<br />

6380838441 May 24 1993 12:00:00:000AM<br />

Mit dem folgenden Befehl werden die Daten interaktiv aus salesnew in die<br />

Tabelle kopiert:<br />

bcp pubs2..sales in salesnew<br />

Das System antwortet folgendermaßen auf den bcp-Befehl:<br />

Password:<br />

Enter the file storage type of field stor_id [char]:<br />

Enter prefix-length of field stor_id [0]:<br />

Enter length of field stor_id [4]:<br />

Enter field terminator [none]:<br />

Enter the file storage type of field ord_num [char]:<br />

Enter prefix-length of field ord_num [1]: 0<br />

Enter length of field ord_num [20]:<br />

Enter field terminator [none]:<br />

Enter the file storage type of field date [datetime]: char<br />

Enter prefix-length of field date [1]: 0<br />

Enter length of field date [26]:<br />

Enter field terminator [none]: \n<br />

Do you want to save this format information in a file? [Y/n] y<br />

Host filename [bcp.fmt]: salesin_fmt<br />

Starting copy...<br />

4 rows copied.<br />

Clock Time (ms.): total = 1 Avg = 0 (116000.00 rows per sec.)<br />

Wenn Sie sich bei Adaptive Server anmelden und auf sales zugreifen, können<br />

Sie die folgenden Daten aus salesnew sehen, die an die Tabelle angehängt sind:<br />

select * from sales<br />

stor_id ord_num date<br />

------- -------------------- -------------------------<br />

5023 AB-123-DEF-425-1Z3 Oct 31 1985 12:00AM<br />

5023 AB-872-DEF-732-2Z1 Nov 6 1985 12:00AM<br />

58 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

5023 AX-532-FED-452-2Z7 Dec 1 1990 12:00AM<br />

5023 BS-345-DSE-860-1F2 Dec 12 1986 12:00AM<br />

5023 GH-542-NAD-713-9F9 Mar 15 1987 12:00AM<br />

5023 NF-123-ADS-642-9G3 Jul 18 1987 12:00AM<br />

5023 XS-135-DER-432-8J2 Mar 21 1991 12:00AM<br />

5023 ZA-000-ASD-324-4D1 Jul 27 1988 12:00AM<br />

5023 ZD-123-DFG-752-9G8 Mar 21 1991 12:00AM<br />

5023 ZS-645-CAT-415-1B2 Mar 21 1991 12:00AM<br />

5023 ZZ-999-ZZZ-999-0A0 Mar 21 1991 12:00AM<br />

6380 234518 Sep 30 1987 12:00AM<br />

6380 342157 Dec 13 1985 12:00AM<br />

6380 356921 Feb 17 1991 12:00AM<br />

7066 BA27618 Oct 12 1985 12:00AM<br />

7066 BA52498 Oct 27 1987 12:00AM<br />

7066 BA71224 Aug 5 1988 12:00AM<br />

7067 NB-1.142 Jan 2 1987 12:00AM<br />

7067 NB-3.142 Jun 13 1990 12:00AM<br />

7131 Asoap132 Nov 16 1986 12:00AM<br />

7131 Asoap432 Dec 20 1990 12:00AM<br />

7131 Fsoap867 Sep 8 1987 12:00AM<br />

7896 124152 Aug 14 1986 12:00AM<br />

7896 234518 Feb 14 1991 12:00AM<br />

8042 12-F-9 Jul 13 1986 12:00AM<br />

8042 13-E-7 May 23 1989 12:00AM<br />

8042 13-J-9 Jan 13 1988 12:00AM<br />

8042 55-V-7 Mar 20 1991 12:00AM<br />

8042 91-A-7 Mar 20 1991 12:00AM<br />

8042 91-V-7 Mar 20 1991 12:00AM<br />

(34 rows affected)<br />

Da es einen eindeutigen Clustered-Index auf den Spalten stor_id- und ord_num<br />

von sales gibt, werden die neuen Zeilen sortiert.<br />

Ein Konflikt oder Regelverstoß kann sich auf den Kopierprozess<br />

folgendermaßen auswirken:<br />

Wenn es in den Daten, die aus der Datei kopiert wurden, eine Verletzung<br />

des eindeutigen Indizes auf den Spalten gegeben hätte, wäre von bcp die<br />

gesamte Anweisungsfolge verworfen worden, in der die problematische<br />

Zeile aufgetreten ist.<br />

Eine Anweisungsfolgengröße von 1 berechnet jede Zeile einzeln, lädt<br />

jedoch langsamer und erstellt eine separate Datenseite für jede Zeile<br />

während einer bcp-Sitzung.<br />

Wenn die kopierten Typen nicht mit den Datenbanktypen kompatibel sind,<br />

scheitert der gesamte Kopiervorgang.<br />

<strong>Dienstprogramme</strong> 59


Beispiele: Daten interaktiv importieren<br />

Daten mit Begrenzern importieren<br />

In diesem Beispiel kopiert bcp Daten aus der Datei newpubs in die Tabelle<br />

pubs2..publishers. In der newpubs-Datei endet jedes Feld in einer Zeile mit<br />

einem Tabulatorzeichen (\t), und jede Zeile mit einem Neue-Zeile-<br />

Abschlusszeichen (\n). Dies sieht so aus:<br />

1111 Stone Age Books Boston MA<br />

2222 Harley & Davidson Washington DC<br />

3333 Infodata Algosystems Berkeley CA<br />

Da newpubs nur Zeichendaten enthält, können Sie die Zeichen-<br />

Befehlszeilenmarkierung verwenden und die Abschlusszeichen mit<br />

den Befehlszeilenoptionen folgendermaßen angeben:<br />

Auf UNIX-Plattformen:<br />

Daten mit einer Formatdatei importieren<br />

bcp pubs2..publishers in newpubs -c -t\\t -r\\n<br />

Unter Windows NT:<br />

bcp pubs2..publishers in newpubs -c -t\t -r\n<br />

Um Daten unter Verwendung der gespeicherten Formatdatei pub_fmt<br />

zurück in die Adaptive Server-Installation zu kopieren, verwenden Sie<br />

den folgenden Befehl:<br />

bcp pubs2..publishers in pub_out -fpub_fmt<br />

Sie können die pub_fmt-Datei verwenden, um Daten mit demselben Format<br />

in die Adaptive Server-Installation zu kopieren. Wenn Sie eine ähnliche<br />

Datendatei mit anderen Begrenzern haben, können Sie die Begrenzer in der<br />

Formatdatei ändern.<br />

Auf gleiche Weise können Sie die Formatdatei bearbeiten, um etwaige<br />

Änderungen von Feldlängen zu berücksichtigen, solange alle Felder dieselbe<br />

Länge haben. Die Datei moresales enthält beispielsweise die folgenden Daten:<br />

804213-L-9 Jan 21 1993 12:00AM<br />

804255-N-8 Mar 12 1993 12:00AM<br />

804291-T-4 Mar 23 1993 12:00AM<br />

804291-W-9 Mar 23 1993 12:00AM<br />

60 Adaptive Server Enterprise


Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Bearbeiten Sie die Formatdatei sal_fmt, damit sie folgendermaßen aussieht:<br />

10.0<br />

3<br />

1 SYBCHAR 0 4 "" 1 stor_id<br />

2 SYBCHAR 0 7 "" 2 stor_id<br />

3 SYBCHAR 0 21 "\n" 3 date<br />

Dann geben Sie folgenden Befehl ein:<br />

Auf UNIX-Plattformen:<br />

bcp pubs2..sales in moresales -fsal_fmt<br />

Unter Windows NT:<br />

bcp pubs2..sales in moresale -fsal_fmt<br />

Das System meldet sich wie folgt:<br />

Starting copy...<br />

4 rows copied.<br />

Clock Time (ms.): total = 1 Avg = 0 (116000.00 rows per sec.)<br />

bcp mit anderen Sprachen verwenden<br />

Adaptive Server speichert Daten mit dem Standard-Zeichensatz, der<br />

während der Installation konfiguriert wurde. Wenn Ihr Terminal diesen<br />

Standard-Zeichensatz nicht unterstützt, kann er irreführende Zeichen an bcp<br />

versenden, sobald Sie einer Eingabeaufforderung durch Eingabe von Zeichen<br />

nachkommen oder Hostdatei-Skripts verwenden.<br />

Wenn Sie keine Zeichensatz-Optionen auswählen, verwendet bcp den<br />

Zeichensatz, der als Standardwert für die Plattform angegeben wurde.<br />

Dieser Standardwert kann folgende Kommunikationsprobleme entwickeln:<br />

Der Standardwert ist nicht unbedingt der gleiche Zeichensatz, der für<br />

den Adaptive Server konfiguriert wurde.<br />

Der Standard ist nicht unbedingt der Zeichensatz, den der Client<br />

verwendet.<br />

Weitere Hinweise über Zeichensätze und zugeordnete Optionen finden Sie<br />

in Kapitel 8, „Konfiguration der Client/Server-Zeichensatzkonvertierung“,<br />

der Dokumentation Systemadministration für Adaptive Server Enterprise.<br />

<strong>Dienstprogramme</strong> 61


cp und Zugriffsregeln auf Zeilenebene<br />

bcp und Zugriffsregeln auf Zeilenebene<br />

Wenn Adaptive Server für den Zugriff auf Zeilenebene aktiviert ist und<br />

Sie Daten aus einer Tabelle kopieren, kopiert bcp nur die Zeilen, auf die Sie<br />

Zugriff haben. Um die gesamte Tabelle zu kopieren, müssen Sie zuerst die<br />

Zugriffsregeln löschen und dann bcp out ausführen. Richten Sie im Anschluss<br />

die Zugriffsregeln wieder ein, falls zutreffend.<br />

Wenn Sie große Datenmengen mit bcp in eine Tabelle kopieren,<br />

für die Zugriffsregeln aktiv sind, gibt Adaptive Server möglicherweise<br />

Fehlermeldungen bezüglich einer „Verletzung der Eindeutigkeit“ aus. Wenn<br />

Sie z.B. Daten aus einer bcp-Datendatei einlesen, die erzeugt wurde, bevor<br />

die Zugriffsregeln für die Tabelle erstellt wurden, und die bcp-Datendatei<br />

Zeilen enthält, die davor in die Tabelle eingefügt wurden, können Sie diesen<br />

Fehlertyp erhalten.<br />

Ist dies der Fall, hat der Benutzer den Eindruck, dass die Zeilen, für die der bcp-<br />

Einfügevorgang aufgrund der Eindeutigkeitsverletzung fehlgeschlagen ist,<br />

in der Tabelle nicht enthalten sind. In Wahrheit hat der Benutzer aufgrund<br />

der Zugriffsregeln lediglich keinen Zugriff auf die „fehlenden“ Zeilen.<br />

Um die gesamte Tabelle zu kopieren, löschen Sie die Zugriffsregeln,<br />

lesen die Daten ein und setzen die Zugriffsregeln danach wieder ein.<br />

Importieren und Anweisungsfolgedateien<br />

Die Anweisungsfolgefunktion gilt nur, wenn Sie mit dem Massenexport/import<br />

Daten in eine Tabelle kopieren. Sie hat keine Wirkung, wenn Sie Daten<br />

aus einer Tabelle exportieren. Standardmäßig kopiert Adaptive Server alle<br />

Zeilen in Anweisungsfolgen von 1000 Ausgabezeilen. Um eine andere Größe<br />

der Anweisungsfolge festzulegen, verwenden Sie den Programm-<br />

Startparameter (-b).<br />

bcp kopiert alle Anweisungsfolgen in einer einzigen Transaktion. Wenn<br />

Adaptive Server eine beliebige Zeile in der Anweisungsfolge verwirft, wird die<br />

gesamte Transaktion zurückgesetzt. Standardmäßig kopiert bcp alle Zeilen in<br />

einer einzigen Anweisungsfolge. Verwenden Sie den -b -Parameter, um die<br />

Standard-Anweisungsfolgengröße zu ändern. Adaptive Server betrachtet<br />

jede Anweisungsfolge als einen einzelnen bcp-Vorgang, schreibt jede<br />

Anweisungsfolge auf eine separate Datenseite und fährt mit der nächsten<br />

Anweisungsfolge fort, unabhängig davon, ob die vorherige Transaktion<br />

erfolgreich war oder nicht.<br />

62 Adaptive Server Enterprise


Wiederherstellbarkeit erleichtern<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Die importierten Daten können entweder von Adaptive Server oder von bcp<br />

zurückgewiesen werden.<br />

Adaptive Server behandelt jede Anweisungsfolge als eine eigene<br />

Transaktion. Wenn der Server eine beliebige Zeile in der Anweisungsfolge<br />

verwirft, wird die gesamte Transaktion zurückgesetzt.<br />

Wenn bcp eine Anweisungsfolge zurückweist, wird mit der nächsten<br />

Anweisungsfolge fortgefahren. Nur schwerwiegende Fehler machen die<br />

Transaktion rückgängig.<br />

Adaptive Server erzeugt Fehlermeldungen pro Anweisungsfolge und<br />

nicht pro Zeile. Wenn ein Fehler gefunden wird, wird die gesamte<br />

Anweisungsfolge verworfen. Fehlermeldungen werden auf Ihrem<br />

Terminal und in der Fehlerdatei angezeigt.<br />

So sorgen Sie für eine verbesserte Wiederherstellbarkeit:<br />

Teilen Sie große Eingabedateien in kleinere Einheiten auf.<br />

Beispiel: Sie verwenden bcp mit einer Anweisungsfolgengröße von<br />

100.000 Zeilen, um 300.000 Zeilen zu importieren. Nach Zeile 200.000<br />

tritt ein schwerwiegender Fehler auf. bcp hat in diesem Fall die ersten zwei<br />

Anweisungsfolgen (200.000 Zeilen) erfolgreich in die Adaptive Server-<br />

Installation kopiert. Ohne Anweisungsfolgenfunktion hätte bcp keine<br />

Zeilen in Adaptive Server kopieren können.<br />

Stellen Sie trunc log on chkpt auf true (aktiviert) ein.<br />

Der Logeintrag für die Transaktion kann nach Abschluss der<br />

Anweisungsfolge gekürzt werden. Wenn Sie in eine Datenbank kopieren,<br />

für die die Datenbankoption trunc log on chkpt eingeschaltet ist (true),<br />

entfernt der nächste automatische Checkpoint die Logeinträge für<br />

abgeschlossene Anweisungsfolgen. Damit werden große bcp-Vorgänge<br />

zerlegt, was wiederum verhindert, dass das Log zu sehr wächst.<br />

Stellen Sie -b batch_size auf 10 ein.<br />

Die Einstellung des Anweisungsfolgengröße-Parameters auf 10<br />

bewirkt, dass bcp die Anweisungsfolge von 10 Zeilen, einschließlich der<br />

fehlerhaften Zeile, zurückweist. Anhand des Fehlerlogs können Sie bei<br />

dieser Einstellung präzise ermitteln, welche Zeile fehlerhaft ist.<br />

<strong>Dienstprogramme</strong> 63


Exportieren und Text- und Bilddaten<br />

bcp verarbeitet Anweisungsfolgen mit einer Mindestgröße von 1.<br />

Hinweis bcp erstellt 1 Datenseite pro Anweisungsfolge. Wenn Sie b<br />

batch_size auf 10 einstellen, werden 10 Zeilen auf jeder Seite erstellt.<br />

Wenn Sie -b batch_size auf 1 einstellen, werden Datenseiten mit 1 Zeile<br />

pro Seite erstellt. Diese Einstellung führt dazu, dass Daten langsam<br />

geladen werden und Speicherplatz beansprucht wird.<br />

Anweisungsfolgen und partitionierte Tabellen<br />

Wenn Sie beim Massenexport/-import von Daten in eine partitionierte Tabelle<br />

kopieren, ohne eine Partitionsnummer anzugeben, ordnet Adaptive Server jede<br />

Anweisungsfolge nach dem Zufallsprinzip (ungesteuert) einer verfügbaren<br />

Partition zu. Das Kopieren von Zeilen in einer einzigen Anweisungsfolge<br />

platziert alle kopierten Zeilen in eine einzige Partition, was ein<br />

Ungleichgewicht beim Laden der partitionierten Tabelle zur Folge<br />

haben könnte.<br />

Um zu erreichen, dass partitionierte Tabellen gleichmäßig geladen werden,<br />

sollten Sie beim Kopieren mit dem Massenexport/-import der Daten eine<br />

geringe Anweisungsfolgengröße verwenden oder während der bcp-Sitzung<br />

eine Partitionskennung angeben. Weitere Hinweise zu Tabellenpartitionen<br />

finden Sie in der Dokumentation Performance and Tuning Guide.<br />

Exportieren und Text- und Bilddaten<br />

Wenn Sie text oder image -Daten exportieren, kopiert Adaptive Server<br />

standardmäßig nur die ersten 32 KByte der Daten in ein text oder image-Feld.<br />

Mit dem Parameter -T text_or_image_size können Sie einen anderen Wert<br />

angeben. Beispiel: Wenn das Feld text, das aus der Tabelle kopiert werden soll,<br />

bis zu 40 KByte Daten enthält, kopieren Sie die gesamten 40 KByte mit dem<br />

folgenden Befehl:<br />

bcp pubs2..publishers out -T40960<br />

Hinweis Wenn ein text or image-Feld größer als der angegebene Wert oder der<br />

Standardwert ist, exportiert bcp die verbleibenden Daten nicht.<br />

64 Adaptive Server Enterprise


Netzwerkpaketgröße festlegen<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Um die Performance von umfangreichen Massenexport/-importen zu erhöhen,<br />

empfiehlt es sich, größere Netzwerkpaketgrößen als die Standardwerte zu<br />

verwenden. Die Option -A Größe gibt die Netzwerkpaketgröße an, die in einer<br />

bcp-Sitzung verwendet werden soll.<br />

Der Wert von Größe muss<br />

zwischen den für die Konfigurationsparameter default network packet size<br />

und max network packet size festgelegten Werten liegen und<br />

ein Vielfaches von 512 sein<br />

Hinweis Die neue Paketgröße gilt nur für die aktuelle bcp-Sitzung.<br />

Der folgende Befehl legt beispielsweise fest, dass Adaptive Server 40 KByte<br />

von text oder image-Daten mit einer Paketgröße von 2048 Byte für diese bcp-<br />

Sitzung verwendet.<br />

bcp pubs2..authors out -A 2048 -T40960<br />

Importieren und Fehlerdateien<br />

Wenn Sie die Option -e error_file beim Importieren angeben, speichert bcp die<br />

Zeilen, die nicht in die Adaptive Server-Installation kopiert werden konnten,<br />

in der angegebenen Fehlerdatei.<br />

Die Fehlerdatei speichert die folgenden Elemente:<br />

Eine Ausgabezeile, die angibt, welche Zeile fehlgeschlagen und<br />

welcher Fehler aufgetreten ist<br />

Eine Ausgabezeile, die eine exakte Kopie der Zeile in der Hostdatei<br />

darstellt<br />

Wenn der nach dem -e angegebene Dateiname bereits vorhanden ist,<br />

überschreibt bcp die vorhandene Datei.<br />

Wenn bcp auf keine Fehler stößt, wird die Datei nicht erstellt.<br />

<strong>Dienstprogramme</strong> 65


Importieren und Fehlerdateien<br />

bcp in erkennt zwei Typen von Fehlern:<br />

Datenkonvertierungsfehler<br />

Fehler beim Kompilieren der Zeile: Versuche, einen Nullwert in Spalten<br />

einzufügen, die keine Nullwerte akzeptieren, oder unzulässige<br />

Datenformate (wie eine 3-Byte-Ganzzahl)<br />

Der laufende Kopiervorgang zeigt Fehlermeldungen auf Ihrem Bildschirm an.<br />

Das folgende Beispiel lädt die Datei newpubs in die Datenbank publishers,<br />

wobei etwaige Fehlerzeilen in der Datei pub_err gespeichert werden:<br />

bcp pubs2..publishers in newpubs -epub_err<br />

Beachten Sie Folgendes, wenn Sie mit Fehlerdateien arbeiten, die beim<br />

Importieren erzeugt werden:<br />

bcp speichert Zeilen nur in einer Fehlerdatei, wenn das Programm bcp<br />

selbst den Fehler entdeckt.<br />

bcp kopiert weitere Zeilen, bis bcp auf die Höchstzahl von Fehlerzeilen<br />

stößt, woraufhin bcp den Kopiervorgang stoppt.<br />

bcp sendet Zeilen in Anweisungsfolgen an Adaptive Server, daher kann<br />

bcp keine Kopien von Zeilen speichern, die Adaptive Server zurückweist<br />

(z.B. bei einer doppelten Zeile für eine Tabelle, die einen eindeutigen<br />

Index hat).<br />

Adaptive Server erzeugt Fehlermeldungen pro Anweisungsfolge und nicht<br />

pro Zeile. Wenn ein Fehler gefunden wird, wird die gesamte<br />

Anweisungsfolge verworfen.<br />

Adaptive Server sieht es nicht als Fehler an, doppelte Zeilen zu verwerfen,<br />

wenn entweder allow_dup_row oder ignore_dup_key beim Erstellen<br />

eines Tabellenindex festgelegt wurden. Der Kopiervorgang wird normal<br />

weitergeführt, aber die doppelten Zeilen werden weder in der Tabelle noch<br />

in der bcp-Fehlerdatei gespeichert.<br />

66 Adaptive Server Enterprise


Exportieren und Fehlerdateien<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Wie beim Importieren überschreibt bcp während des Exportvorgangs<br />

eine Datei desselben Namens und erstellt die Fehlerdatei nur, wenn Fehler<br />

auftreten.<br />

Es gibt zwei Situationen, in denen Zeilen während des Kopierens von Daten<br />

aus einer Tabelle in der Fehlerdatei protokolliert werden:<br />

Ein Daten-Konvertierungsfehler in einer der Spalten der Zeile<br />

Ein I/O-Fehler beim Schreiben in die Hostdatei<br />

Beachten Sie Folgendes, wenn Sie mit Fehlerdateien arbeiten, die beim<br />

Exportieren erzeugt werden:<br />

bcp protokolliert Zeilen in der Fehlerdatei im Standard-Zeichenformat.<br />

Alle Daten werden als Zeichen mit Tabulatoren zwischen den Spalten und<br />

einem Neue-Zeile-Abschlusszeichen am Ende jeder Zeile angezeigt.<br />

Datenintegrität: Standardwerte, Regeln und Trigger<br />

Standardwerte und Datentypen<br />

Um Datenintegrität zu gewährleisten, verarbeitet bcp die zu kopierenden Daten<br />

abhängig von den dazugehörigen Elementen.<br />

Wenn Sie Daten in eine Tabelle kopieren, beachtet bcp die Standardwerte,<br />

die für Spalten und benutzerdefinierte Datentypen definiert sind. Das heißt,<br />

wenn es ein Nullfeld in den Daten in einer Datei gibt, lädt bcp während des<br />

Kopiervorgangs statt des Nullwerts den Standardwert.<br />

Beispiel: Die folgenden zwei Zeilen sollen in authors geladen werden:<br />

409-56-7008,Bennet,David,415 658-9932,622 Pine<br />

St.,Berkeley,CA,USA,94705213-46-8915,Green,Marjorie,,309 63rd St.<br />

#411,Oakland,CA,USA,94618<br />

<strong>Dienstprogramme</strong> 67


Wie unterscheidet sich bcp von anderen <strong>Dienstprogramme</strong>n?<br />

Kommas trennen die Felder und ein Neue-Zeile-Abschlusszeichen trennt die<br />

Zeilen. Es gibt keine Telefonnummer für Marjorie Green. Da die Spalte phone<br />

der Tabelle authors einen Standardwert von „unknown“ (unbekannt) hat,<br />

werden die Zeilen in der geladenen Tabelle folgendermaßen dargestellt:<br />

409-56-7008 Bennet David 415 658-9932 622 Pine St.<br />

Berkeley CA USA 94705<br />

213-46-8915 Green Marjorie unknown 309 63rd St. #411<br />

Oakland CA USA 94618<br />

Regeln und Trigger<br />

Um die maximale Geschwindigkeit beim Laden von Daten zu ermöglichen,<br />

aktiviert bcp weder Regeln noch Trigger.<br />

Um Zeilen zu ermitteln, die Regeln oder Trigger übertreten, kopieren Sie die<br />

Daten in die Tabelle und führen Abfragen oder gespeicherte Prozeduren aus,<br />

die die Regel- oder Trigger-Bedingungen testen.<br />

Wie unterscheidet sich bcp von anderen<br />

<strong>Dienstprogramme</strong>n?<br />

dump database,<br />

load database,<br />

dump transaction<br />

und load transaction<br />

Das bcp-Dienstprogramm kopiert komplette Tabellen oder Teile einer<br />

einzelnen Tabelle und unterscheidet sich von anderen <strong>Dienstprogramme</strong>n zum<br />

Verschieben von Daten.<br />

Die folgende Liste führt andere <strong>Dienstprogramme</strong> und ihre Befehle auf und<br />

beschreibt, wie Sie sie am besten zum Verschieben von Daten verwenden.<br />

Verwenden Sie die SQL-Befehle dump database, load database, dump<br />

transaction und load transaction nur für Sicherungszwecke. Im Gegensatz zu<br />

bcp erstellen die dump-Befehle ein physisches Abbild der gesamten<br />

Datenbank.<br />

Sie müssen load database oder load transaction verwenden, um mit dump<br />

database oder dump transaction gesicherte Daten zu laden.<br />

Weitere Hinweise zur Verwendung der SQL-Befehle dump und load finden Sie<br />

in den Dokumentationen Systemadministration für Adaptive Server Enterprise<br />

und Reference Manual.<br />

68 Adaptive Server Enterprise


insert, update<br />

und delete<br />

Kapitel 3 Daten mit bcp in und aus Adaptive Server übertragen<br />

Verwenden Sie die Datenänderungsbefehle insert, update und delete, um einer<br />

Tabelle oder Ansicht neue Zeilen hinzuzufügen, vorhandene Zeilen darin zu<br />

ändern oder Zeilen aus einer Tabelle oder Ansicht zu entfernen.<br />

Verwenden Sie den insert-Befehl mit einer select-Anweisung, um Daten<br />

zwischen Tabellen zu verschieben.<br />

Verwenden Sie die select-Anweisung mit einer into-Klausel, um eine neue<br />

Tabelle zu erstellen, basierend auf:<br />

den in der select-Anweisung angegebenen Spalten<br />

den in der from-Klausel angegebenen Tabellen und<br />

Daten der in der where-Klausel angegebenen Zeilen<br />

Hinweise zum Hinzufügen, Ändern oder Löschen von Daten finden Sie unter<br />

insert, update und delete in der Dokumentation Reference Manual.<br />

<strong>Dienstprogramme</strong> 69


Wie unterscheidet sich bcp von anderen <strong>Dienstprogramme</strong>n?<br />

70 Adaptive Server Enterprise


KAPITEL 4 dsedit verwenden<br />

Mit dsedit arbeiten<br />

dsedit starten<br />

Dieses Kapitel beschreibt, wie Sie das dsedit-Dienstprogramm<br />

verwenden, um die Adaptive Server-Interfaces-Datei zu bearbeiten.<br />

Thema Seite<br />

Mit dsedit arbeiten 71<br />

Servereinträge hinzufügen, anzeigen und bearbeiten 75<br />

dsedit-Fehlerbehandlung 83<br />

dsedit ist ein grafisches Dienstprogramm, mit dem Sie Servereinträge in<br />

der Interfaces-Datei (sql.ini in Windows 98 und Windows NT) anzeigen<br />

und bearbeiten können. Eine ausführliche Beschreibung der dsedit-Syntax<br />

finden Sie unter „dsedit“ auf Seite 218.<br />

Hinweis UNIX-Benutzer: Wenn Ihr System kein X-Windows enthält,<br />

verwenden Sie dscp, um Servereinträge in der Interfaces-Datei zu<br />

konfigurieren. Weitere Informationen finden Sie in Kapitel 5, „dscp<br />

verwenden“.<br />

Windows NT Sie können dsedit von der Befehlszeilen, vom Windows NT Explorer oder<br />

von der Programmgruppe „<strong>Sybase</strong>“ aus starten.<br />

❖ dsedit von der Befehlszeile aus starten<br />

Geben Sie ein:<br />

dsedit<br />

<strong>Dienstprogramme</strong> 71


Mit dsedit arbeiten<br />

Sie können eine der folgenden Befehlszeilenoptionen festlegen:<br />

-ddsName – Benennt den Verzeichnisdienst, mit dem eine<br />

Verbindung hergestellt werden soll. dsName ist der lokale Name des<br />

Verzeichnisdienstes, wie er in der libtcl.cfg-Datei aufgeführt ist.<br />

Wenn Sie das Argument -ddsName nicht angeben, zeigt dsedit im<br />

ersten Dialogfeld eine Liste mit Verzeichnisdienstoptionen an.<br />

-lPfad – Benennt den Pfad zur libtcl.cfg-Datei, wenn dieser nicht<br />

SYBASE_home\INI ist. Benutzen Sie dieses Argument nur, wenn<br />

Sie eine andere libtcl.cfg-Datei verwenden möchten als die in<br />

SYBASE_home\INI gespeicherte.<br />

❖ dsedit mit dem Windows NT Explorer starten<br />

1 Wechseln Sie ins Verzeichnis %SYBASE%\bin\.<br />

2 Doppelklicken Sie auf die DSEDIT.exe-Datei.<br />

❖ e dsedit mit der Windows-Programmgruppe starten<br />

1 Im Menü „Start“ wählen Sie „<strong>Sybase</strong>“.<br />

2 Wählen Sie dsedit im Menü „<strong>Sybase</strong>“. Das Dialogfeld „Select Directory<br />

Service“ (Verzeichnisdienst wählen) erscheint.<br />

UNIX-Plattformen Bevor Sie dsedit starten, vergewissern Sie sich, dass Sie eine Schreibberechtigung<br />

für die Interfaces-Datei haben.<br />

Wenn Sie dsedit von einem entfernten Rechner ausführen, stellen Sie sicher,<br />

dass die DISPLAY-Umgebungsvariable so eingestellt ist, dass die dsedit-<br />

Bildschirme auf Ihrem System und nicht auf dem entfernten Rechner angezeigt<br />

werden.<br />

❖ DISPLAY-Umgebungsvariable einstellen<br />

1 Melden Sie sich beim entfernten Rechner an.<br />

2 Geben Sie ein:<br />

❖ dsedit starten<br />

setenv DISPLAY Name_Ihres_Rechners:0.0<br />

Geben Sie ein:<br />

$SYBASE/bin/dsedit<br />

Das Dialogfeld „Select Directory Service“ (Verzeichnisdienst wählen)<br />

erscheint. Mit diesem Fenster können Sie Sitzungen zur Bearbeitung<br />

der Interfaces-Datei öffnen. Der vollständige Pfadname der Standard-<br />

Interfaces-Datei wird im Feld „Interfaces File to Edit“ angezeigt. Der<br />

vollständige Pfadname der Konfigurationsdatei ist darunter zu sehen.<br />

72 Adaptive Server Enterprise


Eine Bearbeitungssitzung öffnen<br />

Kapitel 4 dsedit verwenden<br />

Windows NT Das Dialogfeld „Select Directory Service“ ermöglicht es Ihnen, eine Sitzung<br />

mit einem Verzeichnisdienst zu öffnen. Sie können eine Sitzung<br />

folgendermaßen öffnen:<br />

Mit jedem Verzeichnisdienst, der einen Treiber in der libtcl.cfg-Datei<br />

angeführt hat.<br />

Mit der sql.ini-Datei.<br />

❖ Eine Sitzung in Windows NT öffnen<br />

1 Doppelklicken Sie auf den lokalen Namen des Directory Services, mit<br />

dem Sie sich verbinden wollen, wie im Feld „DS Name“ aufgelistet.<br />

2 Oder klicken Sie auf den lokalen Namen des Directory Services,<br />

mit dem Sie sich verbinden wollen, wie im Feld „DS Name“ aufgelistet,<br />

und klicken Sie auf die Schaltfläche „OK“.<br />

Hinweis dsedit verwendet die SYBASE-Umgebungsvariable, um die<br />

libtcl.cfg-Datei zu lokalisieren. Wenn die SYBASE-Umgebungsvariable<br />

nicht korrekt eingestellt ist, kann dsedit die libtcl.cfg-Datei nicht finden.<br />

Die Sitzungsnummer und der lokale Name des Verzeichnisdienstes<br />

erscheinen in der Titelleiste.<br />

❖ Zusätzliche Sitzungen öffnen<br />

Sie können mit dsedit mehrere Sitzungen gleichzeitig geöffnet haben.<br />

1 Wählen Sie „Open Directory Service“ aus dem Menü „File“ aus.<br />

Das Feld „Select Directory Service“ erscheint.<br />

2 Doppelklicken Sie auf den lokalen Namen des Directory Services,<br />

mit dem Sie sich verbinden wollen (oder klicken Sie auf den Directory<br />

Service-Namen und wählen „OK“).<br />

Wenn Sie mehrere Sitzungen öffnen, können Sie Einträge von einem<br />

Verzeichnisdienst in einen anderen kopieren. Weitere Informationen finden<br />

Sie unter „Servereinträge kopieren“ auf Seite 82.<br />

<strong>Dienstprogramme</strong> 73


Mit dsedit arbeiten<br />

UNIX-Plattformen<br />

❖ Zwischen Sitzungen wechseln<br />

Wenn Sie gleichzeitig mehrere Sitzungen geöffnet haben, müssen Sie eine<br />

Sitzung aktivieren, bevor Sie in ihr arbeiten können.<br />

Zum Aktivieren einer Sitzung stehen Ihnen zwei Möglichkeiten zur<br />

Verfügung:<br />

Klicken Sie auf das Sitzungsfenster.<br />

Wählen Sie die Sitzung aus dem Windows-Menü.<br />

Die dsedit-Titelleiste zeigt an, welche Sitzung aktiv ist.<br />

❖ Standard-Interfaces-Datei für die Bearbeitung öffnen<br />

1 Wählen Sie „<strong>Sybase</strong> Interfaces File“ aus.<br />

2 Klicken Sie auf OK.<br />

❖ Eine andere als die Standard-Interfaces-Datei öffnen<br />

1 Wählen Sie „<strong>Sybase</strong> Interfaces File“ aus.<br />

2 Bearbeiten Sie den angezeigten Dateinamen.<br />

3 Klicken Sie auf OK.<br />

Das Fenster „Directory Service Session“ wird angezeigt.<br />

Sie können mehrere Interfaces-Datei-Sitzungen mit verschiedenen Dateien<br />

öffnen.<br />

Der Bildschirm „Directory Service Session“ zeigt den vollständigen<br />

Pfadnamen der Interfaces-Datei an und listet die darin enthaltenen<br />

Servereinträge auf.<br />

Add new server entry – Zeigt das Fenster „Server Entry Editor“ an, in dem<br />

Sie Name und Netzwerkadresse für einen neuen Servereintrag festlegen.<br />

Modify server entry – Damit können Sie die Netzwerkadressen für einen<br />

ausgewählten Servereintrag anzeigen und ändern. Um einen Servereintrag<br />

anzuzeigen oder zu ändern, wählen Sie den Server in der Liste aus und<br />

klicken auf „Modify server entry“, um die Attribute des Servers im Fenster<br />

„Server Entry Editor“ anzuzeigen.<br />

Copy server entry – Damit können Sie einen oder mehrere Einträge in eine<br />

andere Interfaces-Datei kopieren.<br />

Close Session – Schließt das Sitzungsfenster und schreibt die Änderungen<br />

in die Interfaces-Datei.<br />

74 Adaptive Server Enterprise


Kapitel 4 dsedit verwenden<br />

Prozeduren zur Verwendung dieser Schaltflächen werden unter<br />

„Servereinträge in Windows NT ändern“ auf Seite 76 beschrieben.<br />

Ein Klicken auf die Schaltflächen „Add new server entry“ oder „Modify server<br />

entry“ zeigt das Fenster „Server Entry Editor“ an.<br />

Sie verwenden das Fenster „Server Entry Editor“, um Servereinträge in einer<br />

Interfaces-Datei anzuzeigen und zu bearbeiten.<br />

Server name – Wenn Sie einen Servereintrag hinzufügen, geben Sie den<br />

Namen des neuen Servers ein. Wenn Sie einen Servereintrag bearbeiten,<br />

können Sie das Namensfeld bearbeiten, um den Server umzubenennen.<br />

Der neue Name darf nicht bereits in der Interfaces-Datei vorhanden sein.<br />

Available network transports – Eine Liste von Netzwerkadressen, bei<br />

denen der Server Clientverbindungen akzeptiert.<br />

Um eine neue Adresse zu erstellen, klicken Sie auf „Add network<br />

transport“. Siehe „Servereinträge in Windows NT ändern“ auf<br />

Seite 76.<br />

Um eine vorhandene Adresse zu bearbeiten, klicken Sie auf „Modify<br />

network transport“. Siehe „Servereinträge in Windows NT ändern“<br />

auf Seite 76.<br />

Um eine ausgewählte Netzwerkadresse zu entfernen, klicken Sie auf<br />

„Delete network transport“.<br />

Um die Reihenfolge der Adressen in der Liste zu ändern, klicken<br />

Sie auf „Move network transport up“ oder „Move network<br />

transport down“.<br />

OK – Schreibt Ihre Änderungen fest und schließt das Fenster. Änderungen<br />

in der Interfaces-Datei werden erst angewandt, wenn Sie die Sitzung mit<br />

der Schaltfläche „Close Session“ des Fensters „Directory Service<br />

Session“ schließen.<br />

Cancel – Schließt das Fenster, ohne etwaige Änderungen anzuwenden.<br />

Servereinträge hinzufügen, anzeigen und bearbeiten<br />

Sobald Sie sich in einer geöffneten Sitzung befinden, können Sie<br />

Servereinträge, die dieser Sitzung zugeordnet sind, hinzufügen, ändern,<br />

umbenennen und löschen, wie auch Servereinträge innerhalb einer Sitzung<br />

kopieren oder von Sitzung zu Sitzung übertragen.<br />

<strong>Dienstprogramme</strong> 75


Servereinträge hinzufügen, anzeigen und bearbeiten<br />

Servereinträge in Windows NT ändern<br />

Die Servereinträge dieser Sitzung erscheinen im Feld „Server“. Klicken Sie auf<br />

einen Servereintrag, um ihn auszuwählen.<br />

Ein Servereintrag umfasst verschiedene Attribute. Die Attribute werden in<br />

Tabelle 4-1 beschrieben.<br />

Attributname Typ des<br />

Werts<br />

Tabelle 4-1: Serverattribute<br />

Beschreibung Standardwert<br />

Server Version Ganzzahl Versionsebene der Server-Objektdefinition. <strong>Sybase</strong> benutzt<br />

dieses Attribut, um künftige Änderungen der<br />

Objektdefinition zu identifizieren.<br />

110<br />

Server Name Zeichenfolge Servername k.A.<br />

Server Service Zeichenfolge Eine Beschreibung der vom Server gebotenen Dienste.<br />

Dieser Wert kann jede beliebige sinntragende<br />

Beschreibung sein.<br />

Server Status Ganzzahl Der Betriebsstatus des Servers. Gültige Werte sind:<br />

Active (Aktiv)<br />

Stopped (Gestoppt)<br />

Failed (Fehlgeschlagen)<br />

Unknown (Unbekannt)<br />

Security<br />

Mechanism<br />

Zeichenfolge Zeichenfolgen für Objektbezeichner (OID), die die vom<br />

Server unterstützten Sicherheitsmechanismen angeben.<br />

Diese Attribute sind fakultativ. Wenn sie ausgelassen<br />

werden, ermöglicht Open Server Clients, sich mit jedem<br />

Sicherheitsmechanismus zu verbinden, für den Open<br />

Server einen entsprechenden Sicherheitstreiber hat.<br />

Adaptive<br />

Server<br />

76 Adaptive Server Enterprise<br />

4<br />

k.A.


❖ Einen Servereintrag hinzufügen<br />

Kapitel 4 dsedit verwenden<br />

Attributname Typ des<br />

Werts<br />

Beschreibung Standardwert<br />

Server Address Zeichenfolge Eine oder mehrere Adressen für den Server<br />

Das Format der Adresse variiert je nach Protokoll und einige<br />

Protokolle lassen mehr als ein Format zu. Die Optionen sind:<br />

TCP/IP – zwei Formate:<br />

Computername,Portnummer<br />

IP-Adresse,Portnummer<br />

Named Pipe – pipe name: „\pipe“ ist das erforderliche<br />

Präfix für alle Pipe-Namen. Server-Pipes können nur lokal<br />

sein.<br />

Lokal – \pipe\sql\query<br />

Entfernt – \\computer_name\pipe\sql\query<br />

IPX/SPX – drei Formate:<br />

Servername<br />

Netz-Nummer,Knoten-Nummer, Socket-Nummer<br />

Servername,Socket-Nummer<br />

DECnet – vier Formate:<br />

Bereichsnummer.Knotennummer,Objektname<br />

Bereichsnummer.Knotennummer,Objektnummer<br />

Knotenname,Objektname<br />

Knotenname,Objektnummer<br />

k.A.<br />

1 Wählen Sie „Server Object | Add“.<br />

2 Geben Sie einen Servernamen in das Feld „Server Name“ ein.<br />

3 Klicken Sie auf OK.<br />

Der Servereintrag erscheint im Feld „Server“. Wenn Sie für den Server<br />

eine Adresse angeben möchten, müssen Sie den Eintrag ändern.<br />

❖ Ein Serverattribut ändern<br />

Sie können alle Attribute eines Servereintrags ändern.<br />

1 Klicken Sie auf einen Servereintrag im Feld „Server“.<br />

2 Wählen Sie „Server Object | Modify Attribute“.<br />

<strong>Dienstprogramme</strong> 77


Servereinträge hinzufügen, anzeigen und bearbeiten<br />

3 Klicken Sie auf das Attribut, das Sie ändern wollen, im Feld „Attributes“.<br />

Ein Dialogfeld wird angezeigt, das den Wert des aktuellen Attributs<br />

enthält.<br />

4 Geben Sie einen neuen Wert für das Attribut ein oder wählen Sie einen aus<br />

der Dropdown-Liste.<br />

In Tabelle 4-1 auf Seite 76 finden Sie eine Beschreibung aller Attribute.<br />

5 Klicken Sie auf OK.<br />

❖ Einen Servereintrag umbenennen<br />

1 Klicken Sie auf einen Servereintrag im Feld „Server“.<br />

2 Wählen Sie „Server Object | Rename“.<br />

3 Geben Sie einen neuen Namen für den Servereintrag im Feld „Server<br />

Name“ ein.<br />

4 Klicken Sie auf OK.<br />

❖ Einen Servereintrag löschen<br />

1 Klicken Sie auf einen Servereintrag im Feld „Server“.<br />

2 Wählen Sie „Server Object | Delete“.<br />

❖ Servereinträge innerhalb der aktuellen Sitzung kopieren<br />

1 Klicken Sie auf einen oder mehrere Servereinträge im Feld „Server“.<br />

Benutzen Sie die Umschalttaste, um mehrere Einträge zu markieren.<br />

2 Klicken Sie auf die Schaltfläche „Copy“ (unterhalb der Menüleiste),<br />

oder wählen Sie „Edit | Copy“.<br />

3 Klicken Sie auf die Schaltfläche „Paste“ (unterhalb der Menüleiste),<br />

oder wählen Sie „Edit | Paste“.<br />

dsedit fügt an die kopierten Servereinträge eine Versionsnummer _n an.<br />

Sie können die kopierten Servereinträge mit der Option „Server Object |<br />

Rename“ umbenennen. Weitere Informationen finden Sie unter „Einen<br />

Servereintrag umbenennen“ auf Seite 78.<br />

78 Adaptive Server Enterprise


❖ Servereinträge zwischen Sitzungen kopieren<br />

Kapitel 4 dsedit verwenden<br />

1 Öffnen Sie eine Sitzung mit dem Directory Service oder der sql.ini-Datei,<br />

in die Sie Einträge kopieren möchten.<br />

2 Um eine Sitzung zu öffnen, wählen Sie „File | Open Directory Service“.<br />

Weitere Informationen finden Sie unter „Zusätzliche Sitzungen öffnen“<br />

auf Seite 73.<br />

3 Klicken Sie auf einen oder mehrere Servereinträge im Feld „Server“ der<br />

Sitzung, aus der Sie Einträge kopieren möchten.<br />

Benutzen Sie die Umschalttaste, um mehrere Einträge zu markieren.<br />

4 Um die Servereinträge zu kopieren, klicken Sie auf die Schaltfläche<br />

„Copy“ (unterhalb der Menüleiste) oder wählen Sie „Edit | Copy“.<br />

Um die Servereinträge auszuschneiden, klicken Sie auf die Schaltfläche<br />

„Cut“ (unterhalb der Menüleiste) oder wählen Sie „Edit | Cut“.<br />

5 Aktivieren Sie die Sitzung, in der Sie die Servereinträge einfügen wollen.<br />

Weitere Anweisungen zum Aktivieren einer Sitzung finden Sie unter<br />

„Zwischen Sitzungen wechseln“ auf Seite 74.<br />

6 Klicken Sie auf die Schaltfläche „Paste“ (unterhalb der Menüleiste),<br />

oder wählen Sie „Edit | Paste“.<br />

Sie können die kopierten Servereinträge mit „Server Object | Rename“<br />

umbenennen. Weitere Informationen finden Sie unter „Zwischen Sitzungen<br />

wechseln“ auf Seite 74.<br />

Servereinträge auf UNIX-Plattformen ändern<br />

Um die Prozeduren in diesem Abschnitt auszuführen, öffnen Sie das Fenster<br />

für die Interfaces-Datei-Sitzung, indem Sie die Anleitungen unter „Eine<br />

Bearbeitungssitzung öffnen“ auf Seite 73 verwenden.<br />

Hinweis Nachdem Sie die einzelnen Prozeduren in diesem Abschnitt<br />

ausgeführt haben, müssen Sie auf „Close Session“ klicken, um Ihre<br />

Bearbeitungen an der Interfaces-Datei anzuwenden. Ein Klicken auf diese<br />

Schaltfläche schließt auch das Fenster für die Interfaces-Datei-Sitzung.<br />

<strong>Dienstprogramme</strong> 79


Servereinträge hinzufügen, anzeigen und bearbeiten<br />

❖ Einen neuen Servereintrag hinzufügen<br />

1 Klicken Sie auf „Add new server entry“.<br />

2 Geben Sie Namen und Netzwerkadresse für einen neuen Servereintrag an.<br />

❖ Einen Servereintrag anzeigen oder ändern<br />

1 Klicken Sie auf „Modify server entry“.<br />

2 Führen Sie die Änderungen an den Attributen durch.<br />

❖ Einen Servereintrag in eine andere Interfaces-Datei kopieren<br />

1 Wählen Sie die zu kopierenden Einträge mit einer der folgenden Methoden<br />

aus:<br />

Um einen einzelnen Eintrag zu kopieren, klicken Sie einmal auf ihn.<br />

Um eine Reihe von aufeinanderfolgenden Einträgen zu kopieren,<br />

klicken Sie auf den ersten Eintrag der Reihe, dann drücken Sie die<br />

Umschalttaste und halten sie gedrückt, während Sie auf den letzten<br />

Eintrag der Reihe klicken. Sie können auch „verkehrtherum“<br />

auswählen, indem Sie auf den letzten Eintrag klicken, die<br />

Umschalttaste gedrückt halten und auf den ersten Eintrag klicken.<br />

Um mehrere, nicht zusammenhängende Einträge auszuwählen,<br />

drücken Sie die Strg-Taste und halten sie gedrückt, während Sie<br />

auf die einzelnen Einträge klicken.<br />

2 Klicken Sie auf „Copy server entry“.<br />

3 Wählen Sie die <strong>Sybase</strong>-Interfaces-Datei in der Liste aus.<br />

4 Bearbeiten Sie den angezeigten Dateinamen.<br />

5 Klicken Sie auf OK.<br />

Netzwerktransportadressen hinzufügen oder bearbeiten<br />

Mit dem Fenster „Network Transport Editor“ können Sie die Transportadressen<br />

anzeigen, bearbeiten oder erstellen, bei denen ein Server<br />

Clientverbindungen akzeptiert. Dieses Fenster zeigt den Namen des Servereintrags<br />

für die Adresse an und erlaubt es Ihnen, die folgenden Elemente zu<br />

konfigurieren:<br />

Transport type – Legt das Protokoll und die Schnittstelle für die Adresse<br />

fest. Außer bei Digital UNIX gelten für alle Plattformen die Werte tcp, tli<br />

tcp, tli spx und spx. Bei Digital UNIX lauten die Werte decnet, tcp und tli tcp.<br />

80 Adaptive Server Enterprise


Kapitel 4 dsedit verwenden<br />

Address information – Abhängig vom Transporttyp sind unterschiedliche<br />

Adressenkomponenten erforderlich. Die folgenden Abschnitte<br />

beschreiben die Adressenformate genauer.<br />

TCP/IP-Adressen Die Adressenangaben für einen TCP/IP-Eintrag bestehen aus einem<br />

Hostnamen (oder IP-Adresse) und einer Portnummer (als Dezimalwert<br />

angegeben). Bei tli tcp-formatierten Interface-Einträgen werden IP-Adresse<br />

und Portnummer des Hosts in die hexadezimale 16-Byte-Darstellung<br />

konvertiert, die für tli tcp-formatierte Interfaces-Einträge erforderlich ist.<br />

Verwenden Sie tli tcp für Interface-Einträge in folgenden Fällen:<br />

Bei allen Clients vor der Version 10.0 auf Plattformen, die tli-formatierte<br />

Interface-Einträge verwenden.<br />

Bei Adaptive Server oder Replication Server Version 11.0.x oder früher<br />

auf Plattformen, die tli-formatierte Interface-Einträge verwenden.<br />

Verwenden Sie tcp bei anderen Clients und Servern.<br />

Um eine TCP/IP-Adresse anzugeben, wählen Sie tcp oder tli tcp im Menü<br />

„Transport Type“ aus.<br />

SPX/IPX-Adressen<br />

SPX/IPX-Adressen ermöglichen es Adaptive Server, nach Verbindungen von<br />

Clientanwendungen zu suchen, die auf einem Novell-Netzwerk ausführen.<br />

SPX/IPX-Adressen bestehen aus folgenden Elementen:<br />

Host address – Ein hexadezimaler Wert aus acht Ziffern, der die IP-<br />

Adresse des Rechners darstellt, auf dem der Server ausgeführt wird. Jede<br />

Komponente des durch Punkte unterteilten dezimalen IP-Adressenformats<br />

wird durch ein Byte im hexadezimalen Adressenformat abgebildet. Wenn<br />

zum Beispiel die IP-Adresse des Hosts 128.15.15.14 lautet, geben Sie<br />

„800F0F0E“ als den Wert für die SPX/IPX-Hostadresse ein.<br />

Port number – die Portnummer, dargestellt als hexadezimale Nummer aus<br />

vier Ziffern.<br />

Endpoint – der Pfad für die Devicedatei, der auf den SPX-Devicetreiber<br />

zeigt. Verweist standardmäßig auf /dev/mspx bei Solaris und auf /dev/nspx<br />

bei jeder anderen Plattform. Falls erforderlich korrigieren Sie den Pfad,<br />

damit er dem Rechner entspricht, auf dem der Server läuft. Der<br />

Standardpfad basiert auf der Plattform, auf der Sie dsedit ausführen.<br />

Um eine SPX/IPX-Adresse anzugeben, wählen Sie tli spx oder spx im Menü<br />

„Transport Type“ aus.<br />

<strong>Dienstprogramme</strong> 81


Servereinträge hinzufügen, anzeigen und bearbeiten<br />

Servereinträge kopieren<br />

Windows NT<br />

dsedit ermöglicht es Ihnen, Servereinträge innerhalb einer Sitzung und<br />

zwischen Sitzungen zu kopieren. Außerdem können Sie auch Einträge<br />

aus einer sql.ini-Datei in einen Verzeichnisdienst kopieren.<br />

❖ Servereinträge innerhalb der aktuellen Sitzung kopieren<br />

1 Klicken Sie auf einen oder mehrere Servereinträge im Feld „Server“.<br />

Benutzen Sie die Umschalttaste, um mehrere Einträge zu markieren.<br />

2 Klicken Sie auf die Schaltfläche „Copy“ (unterhalb der Menüleiste),<br />

oder wählen Sie „Edit | Copy“.<br />

3 Klicken Sie auf die Schaltfläche „Paste“ (unterhalb der Menüleiste),<br />

oder wählen Sie „Edit | Paste“.<br />

dsedit fügt an die kopierten Servereinträge eine Versionsnummer _n an.<br />

Sie können die kopierten Servereinträge mit „Server Object | Rename“<br />

umbenennen. Weitere Informationen finden Sie unter „Einen<br />

Servereintrag umbenennen“ auf Seite 78.<br />

❖ Servereinträge zwischen Sitzungen kopieren<br />

1 Öffnen Sie eine Sitzung mit dem Directory Service oder der sql.ini-Datei,<br />

in die Sie Einträge kopieren möchten.<br />

2 Um eine Sitzung zu öffnen, wählen Sie „File | Open Directory Service“.<br />

Weitere Informationen finden Sie unter „Zusätzliche Sitzungen öffnen“<br />

auf Seite 73.<br />

3 Klicken Sie auf einen oder mehrere Servereinträge im Feld „Server“ der<br />

Sitzung, aus der Sie Einträge kopieren möchten.<br />

Benutzen Sie die Umschalttaste, um mehrere Einträge zu markieren.<br />

4 Um die Servereinträge zu kopieren, klicken Sie auf die Schaltfläche<br />

„Copy“ (unterhalb der Menüleiste) oder wählen Sie „Edit | Copy“.<br />

Um die Servereinträge auszuschneiden, klicken Sie auf die Schaltfläche<br />

„Cut“ (unterhalb der Menüleiste) oder wählen Sie „Edit | Cut“.<br />

5 Aktivieren Sie die Sitzung, in der Sie die Servereinträge einfügen wollen.<br />

Weitere Anweisungen zum Aktivieren einer Sitzung finden Sie unter<br />

„So wechseln Sie zu einer anderen geöffneten Sitzung“ auf Seite 86.<br />

82 Adaptive Server Enterprise


UNIX-Plattformen<br />

Kapitel 4 dsedit verwenden<br />

6 Klicken Sie auf die Schaltfläche „Paste“ (unterhalb der Menüleiste),<br />

oder wählen Sie „Edit | Paste“.<br />

Sie können die kopierten Servereinträge mit dem Befehl „Rename“ im Menü<br />

„Server Object“ umbenennen. Weitere Informationen finden Sie unter „Einen<br />

Servereintrag umbenennen“ auf Seite 78.<br />

❖ Einen Servereintrag in eine andere Interfaces-Datei kopieren<br />

dsedit-Fehlerbehandlung<br />

1 Wählen Sie die zu kopierenden Einträge mit einer der folgenden<br />

Methoden aus:<br />

Um einen einzelnen Eintrag zu kopieren, klicken Sie einmal auf ihn.<br />

Um eine Reihe von aufeinanderfolgenden Einträgen zu kopieren,<br />

klicken Sie auf den ersten Eintrag der Reihe, dann drücken Sie die<br />

Umschalttaste und halten sie gedrückt, während Sie auf den letzten<br />

Eintrag der Reihe klicken. Sie können auch „verkehrtherum“<br />

auswählen, indem Sie auf den letzten Eintrag klicken, die<br />

Umschalttaste gedrückt halten und auf den ersten Eintrag klicken.<br />

Um mehrere, nicht zusammenhängende Einträge auszuwählen,<br />

drücken Sie die Strg-Taste und halten sie gedrückt, während Sie<br />

auf die einzelnen Einträge klicken.<br />

2 Klicken Sie auf „Copy server entry“.<br />

3 Wählen Sie die <strong>Sybase</strong>-Interfaces-Datei in der Liste aus.<br />

4 Bearbeiten Sie den angezeigten Dateinamen.<br />

5 Klicken Sie auf OK.<br />

Dieser Abschnitt listet einige übliche dsedit-Probleme auf und beschreibt,<br />

wie sie zu beheben sind.<br />

Das dsedit-Dienstprogramm startet nicht<br />

Überprüfen Sie Folgendes:<br />

<strong>Dienstprogramme</strong> 83


dsedit-Fehlerbehandlung<br />

Die SYBASE-Umgebungsvariable ist nicht eingestellt oder verweist auf<br />

das falsche Verzeichnis.<br />

UNIX-Plattformen X-Windows ist nicht korrekt konfiguriert. Wenn<br />

Sie dsedit auf einem entfernten Host ausführen, stellen Sie sicher, dass<br />

X-Windows-Clients auf dem entfernten Host sich mit dem X-Windows-<br />

Server auf Ihrem Rechner verbinden können. In Ihrer X-Windows-<br />

Dokumentation finden Sie weitere Hinweise über die Fehlerbehandlung.<br />

Wenn X-Windows nicht verfügbar ist, verwenden Sie dscp anstelle<br />

von dsedit.<br />

Fehlermeldung: „Öffnen der X-Anzeige nicht möglich“<br />

UNIX-Plattformen dsedit funktioniert möglicherweise nicht, weil der<br />

Anzeige-Rechner so eingestellt ist, dass er X-Windows-Verbindungen von<br />

entfernten Hosts zurückweist. Wenn das das Problem ist, wird eine Meldung<br />

angezeigt, die der folgenden ähnlich ist:<br />

Unable to open X display. Check the value of your<br />

$DISPLAY variable. If it is set correctly, use the<br />

'xhost +' command on the display machine to authorize<br />

use of the X display. If no X display is available,<br />

run dscp instead of dsedit.<br />

Dieser Fehler kann aus einer der folgenden Situationen entstehen:<br />

Der Wert der DISPLAY-Umgebungsvariable ist nicht korrekt eingegeben<br />

oder nicht eingestellt.<br />

Lösung: Geben Sie die DISPLAY-Umgebungsvariable korrekt ein.<br />

Sie sind nicht berechtigt, Fenster auf dem Rechner zu öffnen, auf den sich<br />

DISPLAY bezieht.<br />

Lösung: Führen Sie den Befehl ‘xhost +’ auf dem Anzeige-Rechner aus.<br />

Hinzufügen, Ändern oder Löschen von Servereinträgen nicht<br />

möglich<br />

Überprüfen Sie die Berechtigungen für die Interfaces-Datei. Um Interface-<br />

Einträge bearbeiten zu können, müssen Sie eine Schreibberechtigung sowohl<br />

für die Interfaces-Datei als auch für das <strong>Sybase</strong>-Installationsverzeichnis haben.<br />

84 Adaptive Server Enterprise


KAPITEL 5 dscp verwenden<br />

Mit dscp arbeiten<br />

dscp ist ein UNIX-Dienstprogramm, mit dem Sie Servereinträge in der<br />

Interface-Datei anzeigen und bearbeiten können.<br />

Hinweis dscp ist nicht für Windows NT verfügbar.<br />

Thema Seite<br />

Mit dscp arbeiten 85<br />

Mit Servereinträgen arbeiten 87<br />

dscp beenden 93<br />

Übersicht über die dscp-Dienstprogrammbefehle 93<br />

Eine ausführliche Beschreibung der dscp-Syntax finden Sie unter dscp auf<br />

Seite 217.<br />

❖ So starten Sie dscp<br />

Geben Sie ein:<br />

$SYBASE/bin/dscp<br />

Die dscp-Eingabeaufforderung >> wird angezeigt.<br />

❖ So rufen Sie die dscp-Hilfe auf<br />

Um den dscp-Hilfebildschirm anzuzeigen, geben Sie einen der<br />

folgenden Befehle ein:<br />

help<br />

h<br />

?<br />

<strong>Dienstprogramme</strong> 85


Mit dscp arbeiten<br />

Eine dscp-Sitzung verwenden<br />

Bevor Sie Servereinträge anzeigen, hinzufügen oder ändern können, müssen<br />

Sie eine Sitzung öffnen, damit Sie mit der Interface-Datei arbeiten können.<br />

Sie können mehrere Sitzungen gleichzeitig geöffnet haben.<br />

❖ So öffnen Sie eine Sitzung mit der Interface-Datei:<br />

Geben Sie ein:<br />

open InterfacesDriver<br />

Wenn Sie eine Sitzung öffnen, gibt dscp die Nummer der Sitzung an.<br />

Wenn Sie zum Beispiel eine Sitzung mit dem Befehl open InterfacesDriver<br />

öffnen, zeigt dscp die folgende Meldung an:<br />

ok<br />

Session 1 InterfacesDriver>><br />

❖ So listen Sie alle geöffneten Sitzungen auf<br />

Geben Sie ein:<br />

sess<br />

❖ So wechseln Sie zu einer anderen geöffneten Sitzung<br />

Geben Sie Folgendes ein, wobei Sitzungsnummer die tatsächliche<br />

Sitzungsnummer ist:<br />

switch Sitzungsnummer<br />

Um zum Beispiel zu Sitzung 3 zu wechseln, geben Sie Folgendes ein:<br />

switch 3<br />

Das Schlüsselwort switch ist fakultativ. Wenn Sie zum Beispiel nur „3“<br />

eingeben, wechseln Sie ebenfalls zur Sitzung 3.<br />

❖ So schließen Sie eine Sitzung<br />

Geben Sie Folgendes ein, wobei Sitzungsnummer die tatsächliche<br />

Sitzungsnummer ist:<br />

close Sitzungsnummer<br />

Sitzung 3 zum Beispiel wird geschlossen, wenn Sie Folgendes eingeben:<br />

close 3<br />

Wenn Sie keine Sitzungsnummer angeben, schließt dscp die aktuelle<br />

Sitzung.<br />

86 Adaptive Server Enterprise


Mit Servereinträgen arbeiten<br />

Mit dscp können Sie Servereinträge hinzufügen und ändern.<br />

Servereinträge hinzufügen und ändern<br />

Kapitel 5 dscp verwenden<br />

Nachdem Sie eine Sitzung geöffnet haben, können Sie in dieser Sitzung<br />

Servereinträge hinzufügen oder ändern.<br />

Hinweis Wenn Sie einen Servereintrag hinzufügen oder ändern, erstellt<br />

oder ändert dscp automatisch sowohl die Master-Ausgabezeilen als auch die<br />

Abfragen-Ausgabezeilen. Die Master- und die Abfragen-Ausgabezeilen einer<br />

Interface-Datei enthalten identische Informationen.<br />

Ein Servereintrag umfasst verschiedene Attribute. Wenn Sie einen<br />

Servereintrag hinzufügen oder ändern, fordert Sie dscp zur Eingabe von<br />

Informationen über jedes Attribut auf. Tabelle 5-2 beschreibt die einzelnen<br />

Attribute.<br />

Tabelle 5-1: Serverattribute<br />

Standardwert und<br />

Bearbeitung bei Hinzufügen<br />

oder Ändern eines<br />

Attribute Typ des Werts gültige Werte<br />

Servereintrags möglich<br />

Server Object Ganzzahl 110 Hinzufügen: Nein<br />

Version<br />

Ändern: Nein<br />

Server Name Zeichenfolge k.A. Hinzufügen: k.A.<br />

Ändern: Nein<br />

Server Service Zeichenfolge SQL SERVER Hinzufügen: Ja<br />

Ändern: Nein<br />

Server Status Ganzzahl 4<br />

Hinzufügen: Nein<br />

Gültige Werte sind:<br />

1 Active (Aktiv)<br />

2 Stopped (Gestoppt)<br />

3 Failed (Fehlgeschlagen)<br />

4 Unknown (Unbekannt)<br />

Ändern: Nein<br />

Transport Type Zeichenfolge tcp. Gültige Werte sind:<br />

decnet, spx, tcp, tli, spx,<br />

tli tcp<br />

Hinzufügen: Ja<br />

Ändern: Ja<br />

<strong>Dienstprogramme</strong> 87


Mit Servereinträgen arbeiten<br />

Attribute Typ des Werts<br />

Transport<br />

Address<br />

Security<br />

Mechanism<br />

Zeichenfolge Keiner. Gültige Werte sind<br />

Zeichenfolgen, die vom<br />

angegebenen Transporttyp<br />

erkannt werden.<br />

Zeichenfolge<br />

Hinweis Sie können bis<br />

zu 20 Sicherheitsmechanismen-<br />

Zeichenfolgen für<br />

jeden Servereintrag<br />

hinzufügen.<br />

❖ So fügen Sie einen Servereintrag hinzu<br />

1 Geben Sie ein:<br />

Standardwert und<br />

gültige Werte<br />

Keiner. Gültige Werte sind<br />

Zeichenfolgen,<br />

die Objektbezeichnern<br />

zugeordnet sind, die in der<br />

Datei objectid.dat<br />

des Benutzers festgelegt<br />

sind.<br />

add Servername<br />

Sie sind nun im Hinzufügungsmodus. Sie können weitere Servereinträge<br />

hinzufügen, allerdings können Sie keine anderen dscp-Befehle ausführen,<br />

bevor Sie nicht diesen Modus verlassen haben. Während Sie im<br />

Hinzufügungsmodus sind, fordert Sie dscp zur Eingabe von<br />

Informationen über Servername auf.<br />

2 Führen Sie eine der folgenden Maßnahmen durch:<br />

Geben Sie einen Wert für jedes Attribut ein, oder<br />

Drücken Sie die Eingabetaste, um den Standardwert zu akzeptieren,<br />

der in Klammern [ ] angezeigt wird.<br />

Beispiel: dscp fordert Sie zur Eingabe der nachstehenden Informationen<br />

auf, wenn Sie Folgendes eingeben:<br />

add myserver<br />

Hinzufügen: Ja<br />

Ändern: Ja<br />

Hinzufügen: Ja<br />

Ändern: Ja<br />

Service: [SQL Server]<br />

Transport Type: [tcp] tcp<br />

Transport Address: victory 8001<br />

Security Mechanism []:<br />

Bearbeitung bei Hinzufügen<br />

oder Ändern eines<br />

Servereintrags möglich<br />

Ein Servereintrag kann bis zu 20 zugeordnete Transporttyp/Adressen-<br />

Kombinationen enthalten.<br />

88 Adaptive Server Enterprise


Kapitel 5 dscp verwenden<br />

Eine Beschreibung der Serverattribute finden Sie in Tabelle 5-1 auf<br />

Seite 87.<br />

3 Um den Hinzufügungsmodus zu beenden, geben Sie Folgendes ein:<br />

#done<br />

❖ So ändern Sie einen Servereintrag<br />

Sie können mit dscp nicht die Versions-, Service- und Statuseinträge in der<br />

Interface-Datei ändern.<br />

1 Geben Sie ein:<br />

mod Servername<br />

Sie sind nun im Änderungsmodus. Sie können weitere Servereinträge<br />

ändern, allerdings können Sie keine anderen dscp-Befehle ausführen,<br />

bevor Sie nicht diesen Modus verlassen haben. Während Sie im<br />

Änderungsmodus sind, fordert Sie dscp zur Eingabe von Informationen<br />

über Servername auf.<br />

2 Führen Sie eine der folgenden Maßnahmen durch:<br />

Geben Sie einen Wert für jedes Attribut ein, oder<br />

Drücken Sie die Eingabetaste, um den Standardwert zu akzeptieren,<br />

der in Klammern [ ] angezeigt wird.<br />

Beispiel: dscp fordert Sie zur Eingabe der nachstehenden Informationen<br />

auf, wenn Sie Folgendes eingeben:<br />

mod myserver<br />

Version: [1]<br />

Service: [SQL Server] Open Server<br />

Status: [4]<br />

Address:<br />

Transport Type: [tcp]<br />

Transport Address: [victory 1824] victory 1826<br />

Transport Type: [tcp]<br />

Transport Address: [victory 1828]<br />

Transport Type: []<br />

Security Mechanism []:<br />

Eine Beschreibung der Serverattribute finden Sie in Tabelle 5-1 auf<br />

Seite 87.<br />

<strong>Dienstprogramme</strong> 89


Mit Servereinträgen arbeiten<br />

Servereinträge kopieren<br />

3 Um eine Adresse zu löschen, geben Sie Folgendes ein:<br />

#del<br />

4 Um den Änderungsmodus zu beenden, geben Sie Folgendes ein:<br />

#done<br />

dscp ermöglicht es Ihnen, Servereinträge innerhalb einer Sitzung und zwischen<br />

zwei Sitzungen zu kopieren. Es gibt vier Optionen, wenn Sie einen<br />

Servereintrag kopieren.<br />

Sie können Folgendes kopieren:<br />

Einen Servereintrag in einen neuen Namen in der aktuellen Sitzung<br />

Einen Servereintrag in eine andere Sitzung<br />

Einen Servereintrag in einen neuen Namen in einer anderen Sitzung<br />

Alle Einträge in der aktuellen Sitzung in eine andere Sitzung<br />

❖ So erstellen Sie einen neuen Servereintrag durch Kopieren<br />

Geben Sie ein:<br />

copy Name1 to Name2<br />

Nehmen wir als Beispiel folgende Eingabe:<br />

copy myserver to my_server<br />

dscp erstellt einen neuen Eintrag, „my_server“, der mit „myserver“<br />

identisch ist. Sie können den neuen Eintrag bearbeiten, ohne das Original<br />

zu ändern.<br />

❖ So kopieren Sie einen Servereintrag, ohne den Namen zu ändern:<br />

Geben Sie ein:<br />

copy Name1 to Sitzungsnr<br />

Zum Beispiel überträgt dscp den Eintrag „myserver“ der aktuellen Sitzung<br />

in die Sitzung 2, wenn Sie Folgendes eingeben:<br />

copy myserver to 2<br />

90 Adaptive Server Enterprise


❖ So kopieren Sie einen Servereintrag und benennen ihn um<br />

Geben Sie ein:<br />

copy Name1 to Sitzungsnr Name2<br />

Kapitel 5 dscp verwenden<br />

Zum Beispiel kopiert dscp den Eintrag „myserver“ der aktuellen Sitzung<br />

in die Sitzung 2 und benennt ihn in „my_server“ um, wenn Sie Folgendes<br />

eingeben:<br />

copy myserver to 2 my_server<br />

❖ So kopieren Sie alle Einträge in der aktuellen Sitzung in eine andere<br />

Sitzung<br />

Geben Sie ein:<br />

copyall Sitzungsnr<br />

Zum Beispiel kopiert dscp alle Einträge der aktuellen Sitzung in die<br />

Sitzung 2, wenn Sie Folgendes eingeben:<br />

copyall 2<br />

Inhalte von Servereinträgen auflisten und anzeigen<br />

Sie können die Namen und Attribute auflisten, die einer Sitzung<br />

zugeordnet sind.<br />

❖ So listen Sie die Namen von Servereinträgen auf<br />

Geben Sie ein:<br />

list<br />

❖ So listen Sie die Attribute von Servereinträgen auf<br />

Geben Sie ein:<br />

list all<br />

Eine Beschreibung der Serverattribute finden Sie in Tabelle 5-1 auf<br />

Seite 87.<br />

❖ So zeigen Sie den Inhalt eines Servereintrags an<br />

Geben Sie ein:<br />

read Servername<br />

<strong>Dienstprogramme</strong> 91


Mit Servereinträgen arbeiten<br />

Servereinträge löschen<br />

Die folgenden Informationen werden zum Beispiel angezeigt,<br />

wenn Sie Folgendes eingeben:<br />

read myserver<br />

DIT base for object: interfaces<br />

Distinguish name: myserver<br />

Server Version: 1<br />

Server Name: myserver<br />

Server Service: SQL Server<br />

Server Status: 4 (Unknown)<br />

Server Address:<br />

Transport Type: tcp<br />

Transport Addr: victory 1824<br />

Transport Type: tcp<br />

Transport Addr: victory 1828<br />

Eine Beschreibung der Serverattribute finden Sie in Tabelle 5-1 auf<br />

Seite 87.<br />

Sie können einen Eintrag oder alle Einträge löschen, die einer Sitzung<br />

zugeordnet sind.<br />

❖ So löschen Sie Einträge, die einer Sitzung zugeordnet sind<br />

Geben Sie ein:<br />

del Servername<br />

Zum Beispiel löscht dscp den Eintrag für „myserver“, wenn Sie Folgendes<br />

eingeben:<br />

del myserver<br />

❖ So löschen Sie alle Einträge, die einer Sitzung zugeordnet sind<br />

Geben Sie ein:<br />

delete-all<br />

92 Adaptive Server Enterprise


dscp beenden<br />

Kapitel 5 dscp verwenden<br />

Um dscp zu beenden, geben Sie einen der folgenden Befehle ein:<br />

exit<br />

quit<br />

Übersicht über die dscp-Dienstprogrammbefehle<br />

In dscp führen Sie Funktionen aus, indem Sie Befehle an der dscp-<br />

Eingabeaufforderung eingeben. Tabelle 5-2 bietet eine Übersicht über<br />

diese Befehle.<br />

Tabelle 5-2: dscp-Befehle<br />

Befehl Beschreibung<br />

add Servername Fügt den Servereintrag Servername in der aktuellen Sitzung ein. dscp fordert Sie zur<br />

Eingabe von Informationen über Servername auf. Drücken Sie die Eingabetaste, um den<br />

Standardwert zu akzeptieren, der in eckigen Klammern [ ] angezeigt wird. Geben Sie<br />

„#done“ ein, um den Hinzufügungsmodus zu beenden.<br />

addattr Servername Fügt dem Servereintrag Servername in der aktuellen Sitzung ein Attribut hinzu.<br />

close [Sitzungsnr] Schließt die Sitzung, die durch Sitzungsnr angegeben wird. Wenn Sie keine Sitzungsnr<br />

eingeben, wird die aktuelle Sitzung geschlossen.<br />

config Zeigt Konfigurationsinformationen an, die sich auf Ihre <strong>Sybase</strong>-Umgebung beziehen.<br />

copy Name1 to Kopiert den Servereintrag Name1 in der aktuellen Sitzung in:<br />

{Name2 | Sitzungsnr | den Servereintrag Name2 in der aktuellen Sitzung<br />

Sitzungsnr_Name2}<br />

die Sitzung Sitzungsnr oder<br />

den Servereintrag Name2 in Sitzung Sitzungsnr.<br />

copyall to Sitzungsnr Kopiert alle Servereinträge in der aktuellen Sitzung in die Sitzung Sitzungsnr.<br />

del Servername Löscht den Servereintrag Servername in der aktuellen Sitzung.<br />

delete-all Löscht alle Servereinträge in der aktuellen Sitzung.<br />

exit Beendet dscp.<br />

help, ?, h Zeigt die Online-Hilfe an.<br />

list [all] Listet die Servereinträge für die aktuelle Sitzung auf. Um die Namen der Einträge<br />

aufzulisten, verwenden Sie den Befehl list. Um die Attribute der einzelnen Einträge<br />

aufzulisten, verwenden Sie den Befehl list all.<br />

mod Servername Ändert den Servereintrag Servername in der aktuellen Sitzung. dscp fordert Sie zur<br />

Eingabe von Informationen über Servername auf. Drücken Sie die Eingabetaste, um den<br />

Standardwert zu akzeptieren, der in eckigen Klammern [] angezeigt wird. Geben Sie<br />

„#done“ ein, um den Änderungsmodus zu beenden.<br />

<strong>Dienstprogramme</strong> 93


Übersicht über die dscp-Dienstprogrammbefehle<br />

Befehl Beschreibung<br />

open [DS_Name] Öffnet eine Sitzung für den angegebenen Verzeichnisdienst (Directory Service), wobei<br />

DS_Name der Verzeichnisdienstname ist. Wenn Sie keinen Namen für DS_Name angeben,<br />

wird durch diesen Befehl eine Sitzung für den Standard-Verzeichnisdienst geöffnet.<br />

Um eine Sitzung zu öffnen, geben Sie den Wert „InterfacesDriver“ für DS_Name an.<br />

quit Beendet dscp.<br />

read Servername Zeigt den Inhalt des Servereintrags Servername an.<br />

sess Listet alle geöffneten Sitzungen auf.<br />

[switch] Sitzungsnr Macht die Sitzungsnummer Sitzungsnr zur aktuellen Sitzung.<br />

94 Adaptive Server Enterprise


KAPITEL 6 Migrations-Dienstprogramm<br />

Überblick<br />

In diesem Kapitel wird das Dienstprogramm sybmigrate erläutert.<br />

Thema Seite<br />

Überblick 95<br />

Vorbereitungen 100<br />

Migrationsprozess 103<br />

Aufgaben nach der Migration 130<br />

Daten aus Replication Server in Adaptive Server 12.5 migrieren 130<br />

Einschränkungen 138<br />

Problembehebung und Fehlermeldungen 140<br />

Hinweis sybmigrate kann nur auf Adaptive Server 12.5.0.1 und höher<br />

ausgeführt werden.<br />

Mit Adaptive Server 12.5 und höher können Sie die Seitengröße Ihres<br />

Servers mit 2 KByte, 4 KByte, 8 KByte oder 16 KByte konfigurieren.<br />

Bei den herkömmlichen Upgrade-Methoden von Adaptive Server können<br />

Sie die Seitengröße jedoch nicht ändern. Um die aktuelle Seitengröße<br />

Ihres Adaptive Server zu ändern, müssen Sie deshalb zunächst einen<br />

zweiten Adaptive Server mit der gewünschten Seitengröße installieren,<br />

und dann mit dem Dienstprogramm sybmigrate sowohl Schema als auch<br />

Daten aus dem alten Adaptive Server (Quelle) auf den neuen Adaptive<br />

Server (Ziel) kopieren.<br />

sybmigrate ermöglicht Ihnen auch die plattformübergreifende Migration.<br />

<strong>Dienstprogramme</strong> 95


Überblick<br />

Bestehende Lösungen<br />

Vorteile von sybmigrate<br />

Das Merkmal der variablen Seitengröße erhöht die Funktionalität und<br />

Nutzbarkeit von Adaptive Server, bietet jedoch für bestehende Kunden<br />

keine Upgrade-Möglichkeit. Benutzer, die die Seitengröße eines vorhandenen<br />

Adaptive Server ändern müssen, müssen einen neuen Server mit der<br />

gewünschten Seitengröße einrichten und die Daten vom alten in den neuen<br />

Adaptive Server migrieren. Da die Sicherungs- und Lademechanismen nicht<br />

für mehrere Seitengrößen unterstützt wird, besteht die einzige Möglichkeit<br />

darin, mit ddlgen oder einer ähnlichen Methode ein Schema zu generieren und<br />

die Daten anschließend mit bcp aus dem alten Adaptive Server zu extrahieren<br />

und in den neuen Adaptive Server zu laden. Dieses Verfahren ist recht<br />

schwierig und komplex.<br />

sybmigrate:<br />

Was sybmigrate durchführt<br />

Unterstützt Benutzer bei der Änderung der Seitengröße ihrer<br />

Datenbankanwendungen.<br />

Ermöglicht einen sanften und durchführbaren Migrationsvorgang.<br />

Ermöglicht die Nutzung der Funktion der variablen Seitengröße für<br />

bestehende Datenbanken mit Benutzerdaten, d.h. des gesamten Potenzials<br />

von Adaptive Server 12.5 und höher.<br />

Während der Setup-Phase des Migrationsprozesses werden die folgenden<br />

Serverdaten in den neuen Adaptive Server migriert:<br />

Fremdserver<br />

Logins<br />

Login-Attribute<br />

Serverrollen<br />

Login-Rollen<br />

Rollenattribute<br />

Benutzer<br />

96 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Alternative Benutzer<br />

Rollen<br />

Berechtigungen<br />

Entfernte Logins<br />

Externe Login-Attribute<br />

Timer<br />

Ressourcengrenzen<br />

Replikationsattribute<br />

Attribute der Anzeigeebene<br />

Benutzernachrichten in der master-Datenbank<br />

Java-Klassen in der master-Datenbank<br />

JAR-Dateien in der master-Datenbank<br />

Während der Migrationsphase des Migrationsprozesses werden die folgenden<br />

datenbankspezifischen Daten in die Zieldatenbank migriert:<br />

Standardwerte<br />

Benutzerdefinierte Datentypen<br />

Regeln<br />

Benutzertabellen<br />

Benutzertabellendaten<br />

Ansichten<br />

Trigger<br />

Indizes<br />

Gespeicherte Prozeduren<br />

Erweiterte gespeicherte Prozeduren<br />

Benutzer<br />

Logins<br />

Rollen<br />

Fremdserver<br />

<strong>Dienstprogramme</strong> 97


Überblick<br />

Was sybmigrate nicht tut<br />

Datenbankdaten<br />

Benutzer<br />

Alternative Benutzer<br />

Rollen<br />

Rollenattribute<br />

Berechtigungen<br />

Benutzernachrichten<br />

Java-Klassen<br />

JAR-Dateien<br />

Standardwerte<br />

Regeln<br />

Benutzerdefinierte Typen<br />

Tabellen<br />

Indizes<br />

Referenzielle Integritätsregeln<br />

Ansichten<br />

Gespeicherte Prozeduren<br />

Trigger<br />

Die folgenden Daten müssen manuell migriert werden:<br />

Benutzerdefinierte Schwellenwerte<br />

Abstrakte, in sysqueryplans gepflegte Plandefinitionen<br />

Alle Systemdatenbanken außer der model-Datenbank<br />

Alle erforderlichen Datenbankoptionen wie Cachebindung, Wiederherstellungsreihenfolge<br />

und zugehörige Log-I/O-Größen wie von<br />

sp_logiosize vorgegeben<br />

98 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Proxy-Datenbanken<br />

Engine-Gruppen<br />

Engine-Bindungen<br />

Ausführungsklassen<br />

Cachekonfigurationen<br />

Audit-Tabellen und Auditing-Konfiguration<br />

Einstellungen für serverweite Zeilensperrenerweiterung<br />

Zugriffsregeln<br />

Hinweis Löschen Sie die Zugriffsregeln, bevor Sie mit<br />

der Datenmigration beginnen. Diese könnten sonst dem<br />

Datenbankeigentümer den Zugriff auf alle Zeilen in der Tabelle<br />

verwehren, was eine vollständige Datenmigration verhindern würde.<br />

Kompilierte Objekte mit verborgenem SQL-Text<br />

Benutzerdefinierte Segmente<br />

Integritätsregeln werden zwar migriert, wenn sie jedoch nach Name an<br />

benutzerdefinierte Nachrichtennummern gebunden sind, müssen diese<br />

Bindungen manuell neu erstellt werden<br />

Einstellungen für Objekte wie ascinserts, maxwritedes, indextrips,<br />

oamtrips, datatrips und sortbufsize, die mit dbcc tune erstellt wurden<br />

Devicedefinitionen<br />

SQLJ-Funktionen<br />

Proxy-Tabellen für externe Dateien<br />

Audit-Optionen und -Ereignisse<br />

Serverkonfiguration<br />

<strong>Dienstprogramme</strong> 99


Vorbereitungen<br />

Vorbereitungen<br />

Erforderliche Komponenten für sybmigrate<br />

Voraussetzungen<br />

Installation<br />

Upgrade<br />

sybmigrate erfordert JRE 1.3, jConnect für JDBC 5.5, ddlgen-<br />

Komponenten und die Component Integration Services im alten Adaptive<br />

Server.<br />

Da sybmigrate mit einer Server-zu-Server-Verbindung arbeitet, müssen zwei<br />

Adaptive Server ausgeführt werden. Stellen Sie sicher, dass Sie über die<br />

erforderlichen Lizenzen verfügen.<br />

Bevor Sie mit dem Migrationsprozess beginnen, erstellen Sie auf dem neuen<br />

Adaptive Server Datenbanken, Devices und Segmente. Auch die Server- und<br />

Cachekonfigurationen müssen bereits auf diesem Server installiert sein.<br />

Extrahieren Sie mit ddlgen die entsprechenden Skripte aus dem alten Adaptive<br />

Server und ändern Sie diese nach Bedarf, bevor Sie sie auf dem neuen<br />

Adaptive Server anwenden. Weitere Hinweise dazu finden Sie unter ddlgen auf<br />

Seite 195.<br />

sybmigrate wird im Rahmen der Software Adaptive Server 12.5.0.1 installiert.<br />

Hinweise zur Installation von Adaptive Server finden Sie im Installationshandbuch<br />

für Ihre Plattform.<br />

Bevor Sie sybmigrate ausführen, aktualisieren Sie den alten Adaptive Server<br />

mindestens auf Version 12.5.0.1, und installieren Sie den neuen Adaptive<br />

Server ebenso als Version 12.5.0.1 oder höher. Führen Sie alle für Upgrades<br />

relevante Überprüfungen durch, bevor Sie mit der Datenmigration beginnen.<br />

100 Adaptive Server Enterprise


Berechtigungen<br />

Kapitel 6 Migrations-Dienstprogramm<br />

Sie müssen den neuen Adaptive Server mit der neuen Seitengröße installieren.<br />

Verwenden Sie entweder srvbuild oder sysconfig.exe, um den neuen Adaptive<br />

Server einzurichten.<br />

Die Hauptversion des alten und des neuen Adaptive Server muss identisch<br />

sein. Das heißt, wenn Sie sybmigrate auf Adaptive Server 12.5.0.1 ausführen,<br />

sollte die 12.5 identisch, der letzte Teil 0.1 kann jedoch höher sein.<br />

Für die Setup-Phase des Migrationsprozesses wird das Systemadministrator-<br />

Login benötigt. Für den restlichen Prozess muss das Login die Berechtigungen<br />

„sa_role“ und „sso_role“ umfassen, um sybmigrate ausführen zu können.<br />

Neue Login-Konten ändern<br />

Wenn Sie eine plattformübergreifende Migration durchgeführt haben, sind die<br />

Login-Kennwörter nicht kompatibel. Sie können jedoch während der Setup-<br />

Phase des Migrationsprozesses mit sybmigrate das Kennwort für die Login-<br />

Konten auf dem neuen Adaptive Server ändern.<br />

Um das Kennwort für das neue Login-Konto zu ändern, muss sich der<br />

Systemadministrator am neuen Adaptive Server anmelden und sp_password<br />

für alle Login-Konten ausführen.<br />

Hinweis Wenn Sie die Kennwörter für die Login-Konten des neuen Adaptive<br />

Server nicht während der Setup-Phase des Migrationsprozesses ändern, muss<br />

der Systemadministrator sie nach Beendigung des Migrationsprozesses auf<br />

dem neuen Adaptive Server manuell ändern.<br />

Neben der Änderung der Kennwörter ermöglicht sybmigrate auch das Sperren<br />

und Entsperren der Konten auf Ihrem neuen Adaptive Server. Mithilfe dieser<br />

Funktion kann der Systemadministrator einen Benutzer daran hindern, sich<br />

während des Migrationsprozesses am neuen Adaptive Server anzumelden.<br />

<strong>Dienstprogramme</strong> 101


Vorbereitungen<br />

Plattformen<br />

Umgebungsvariablen<br />

sybmigrate lässt sich auf UNIX- und Windows NT-Plattformen ausführen.<br />

Bei UNIX-Systemen befindet sich die ausführbare Datei im Verzeichnis<br />

$SYBASE/$SYBASE_ASE/bin/sybmigrate.<br />

Bei NT-Systemen befindet sich die ausführbare Datei im Verzeichnis<br />

%SYBASE%\%SYBASE_ASE%\bin\sybmigrate.bat.<br />

Die folgenden Umgebungsvariablen müssen korrekt eingerichtet sein.<br />

Mit Ausnahme von SYBMIGRATE_MEMORY werden diese Umgebungsvariablen<br />

in den Dateien SYBASE.csh oder SYBASE.sh definiert, die während<br />

der Installation von Studio Installer angelegt werden.<br />

SYBASE – Diese Variable definiert den Pfad des <strong>Sybase</strong>-<br />

Versionsverzeichnisses.<br />

SYBASE_ASE – Diese Umgebungsvariable definiert den Pfad des<br />

Verzeichnisses, in das die Komponenten von Adaptive Server installiert<br />

werden.<br />

SYBASE_JRE – Diese Umgebungsvariable definiert den Pfad der Java-<br />

Laufzeitumgebung. Dieser lautet im Versionsbereich von Adaptive Server<br />

in der Regel $SYBASE/shared-1_0/jre1.2.2. Diese Umgebungsvariable<br />

überschreibt JAVA_HOME.<br />

SYBASE_JRE lautet standardmäßig $SYBASE/shared-1_0/jre1.2.2.<br />

JAVA_HOME – Diese Umgebungsvariable definiert den Pfad der Java-<br />

Laufzeitumgebung, falls SYBASE_JRE nicht eingerichtet ist.<br />

Hinweis Damit sybmigrate richtig ausgeführt werden kann, ist entweder<br />

SYBASE_JRE oder JAVA_HOME erforderlich.<br />

SYBMIGRATE_MEMORY – Diese Umgebungsvariable gibt<br />

die Speichermenge an, die beim Aufruf der Java Virtual Machine<br />

(JVM) belegt wird. Die Umgebungsvariable sollte mit einer Zahl<br />

eingerichtet werden, die die Speichermenge in Megabyte angibt.<br />

Wenn SYBMIGRATE_MEMORY nicht eingerichtet ist, verwendet<br />

JVM die Standardspeichereinstellung von 512 MByte.<br />

102 Adaptive Server Enterprise


Migrationsprozess<br />

Kapitel 6 Migrations-Dienstprogramm<br />

Wenn sybmigrate viele Threads verwendet, oder gleichzeitig auf viele<br />

Tabellen oder Indizes ausgeführt wird, sollten Sie die Speichermenge<br />

für die JVM auf Clientseite erhöhen.<br />

Mit sybmigrate steht ein Tool zur Verfügung, alle Objekte und Benutzerdaten,<br />

die auf dem alten Adaptive Server existieren, zu migrieren. Es gibt jedoch auch<br />

einige serverweite Daten, die migriert werden müssen, bevor Benutzerdaten<br />

oder -objekte in die einzelnen Datenbanken migriert werden können.<br />

Die Hierarchie der Objekte gibt die Reihenfolge vor, in der die Objekte neu<br />

erstellt werden. In der Regel werden zuerst die serverweiten Objekte von der<br />

master-Datenbank erstellt. Unabhängige Objekte wie Standardsprachen und -<br />

zeichen werden zunächst in die Datenbanken migriert.<br />

Überblick über den Migrationsprozess<br />

Der Migrationsprozess umfasst die Konfiguration des alten Adaptive Server<br />

und des neuen Adaptive Server, die Einrichtung der Migrationspfade und<br />

Migrationsobjekte sowie die Validierung der migrierten Objekte.<br />

Während der Setup-Sitzung werden die Migrationspfade von der<br />

Quelldatenbank zu der Zieldatenbank definiert. Es werden ferner die<br />

Repository-Datenbank und die Arbeitsdatenbanken eingerichtet, und es wird<br />

festgelegt, ob die Serverdaten migriert werden sollen. Die Setup-Sitzung kann<br />

nur von einem Benutzer mit dem Login „sa“ durchgeführt werden.<br />

Während der Migrationssitzung werden die Objekte und Daten von der<br />

Quelldatenbank in die Zieldatenbank migriert.<br />

Bei der Validierungssitzung werden die migrierten Objekte überprüft.<br />

Die Validierung stellt die Integrität der Daten und Objekte sicher,<br />

die von der Quelldatenbank in die Zieldatenbank migriert wurden.<br />

<strong>Dienstprogramme</strong> 103


Migrationsprozess<br />

Vorbereitung der Migration<br />

Sie müssen den alten Adaptive Server und den neuen Adaptive Server<br />

gleichzeitig ausführen, wenn Sie Daten von einem zum anderen Server<br />

migrieren möchten.<br />

sybmigrate geht davon aus, dass der neue Adaptive Server vor der<br />

Datenmigration installiert und konfiguriert wurde. Verwenden Sie srvbuild<br />

oder syconfig, um einen neuen Adaptive Server mit der erforderlichen<br />

logischen Seitengröße zu erstellen.<br />

Berücksichtigen Sie vor der Migration folgende Punkte, wenn Sie den neuen<br />

Adaptive Server erstellen und den ursprünglichen Adaptive Server<br />

konfigurieren:<br />

Wenn Sie den neuen Adaptive Server, in den Sie die Daten migrieren<br />

wollen, mit einer anderen logischen Seitengröße erstellen, müssen Sie<br />

die Größe der Datenbank auf dem neuen Server so einstellen, dass die<br />

importierten Daten auch untergebracht werden können. Dies ist besonders<br />

dann wichtig, wenn Sie Daten in einen Adaptive Server mit einer größeren<br />

logischen Seitengröße migrieren.<br />

Verwenden Sie den Bericht zur Speicherschätzung space_est, um<br />

den auf Ihrer Zieldatenbank verfügbaren Speicherplatz zu ermitteln.<br />

Weitere Hinweise zu space_est finden Sie unter „sybmigrate ausführen“<br />

auf Seite 110.<br />

Um den Migrationsprozess zu beschleunigen, können Sie mehrere<br />

Sitzungen von sybmigrate auf dem gleichen Server ausführen. Es ist<br />

jedoch nicht erlaubt, mehr als eine sybmigrate-Sitzung auf dem gleichen<br />

Quell- und Zieldatenbankpfad auszuführen.<br />

Sie müssen in der Zieldatenbank manuell Segmente erstellen, bevor Sie<br />

Tabellen und Indizes migrieren.<br />

Die Datenübertragungsrate für sybmigrate wird mit CIS bulk insert array<br />

size konfiguriert. Die Standardeinstellung von CIS bulk insert array size<br />

lautet 50 Zeilen. Das bedeutet, dass bis zu 50 Zeilen Daten von CIS in den<br />

Puffer gestellt werden, bevor sie an den neuen Adaptive Server übertragen<br />

werden.<br />

Um den Datendurchsatz zu erhöhen, stellen Sie CIS bulk insert array size<br />

auf einen höheren Wert ein.<br />

104 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Beachten Sie jedoch, dass bei Erhöhung von CIS bulk insert array size<br />

der alte Adaptive Server für lokale Puffer Speicherressourcen aus<br />

dem Betriebssystem nutzt. Dies kann zu einer übermäßig hohen<br />

Beanspruchung des Betriebssystemspeichers führen.<br />

<strong>Sybase</strong> empfiehlt, dass Sie den Standardwert von CIS bulk insert array size<br />

nur moderat heraufsetzen sollten. Weitere Informationen finden Sie in der<br />

CIS-Dokumentation.<br />

CIS bulk insert array size hat keine Auswirkungen auf den Datendurchsatz,<br />

wenn die zu übertragende Tabelle eine Spalte text, image oder Java ADT<br />

enthält. Enthält eine Tabelle eine Spalte text, image oder Java ADT, werden<br />

während der Migration dieser Tabelle alle Daten Zeile für Zeile migriert.<br />

Es findet auch keine Array-Pufferung statt.<br />

Wenn die Datenmigration mithilfe von CIS bulk transfer erfolgt, kann sich<br />

der Wert des Konfigurationsparameters CIS packet size auf dem alten<br />

Adaptive Server auf die Schnelligkeit der Datenübertragung auswirken.<br />

Der empfohlene Wert für CIS packet size auf dem alten Adaptive Server<br />

ist die logische Seitengröße (2 KByte, 4 KByte, 8 KByte oder 16 KByte)<br />

des neuen Adaptive Server.<br />

max packet size allowed auf dem neuen Adaptive Server sollte mit dem<br />

Wert von CIS packet size auf dem alten Adaptive Server übereinstimmen.<br />

Weitere Hinweise zu max packet size allowed finden Sie in der<br />

Dokumentation Systemadministration für Adaptive Server Enterprise.<br />

Um die Performance von sybmigrate zu maximieren, setzen Sie den<br />

Konfigurationsparameter additional network memory auf dem neuen<br />

Adaptive Server auf einen höheren Wert.<br />

Weitere Hinweise zu additional network memory finden Sie in der<br />

Dokumentation Systemadministration für Adaptive Server Enterprise.<br />

Alle zuvor genannten Punkte betreffen den Konfigurationsparameter<br />

max memory. Bevor Sie Ihre Daten migrieren, stellen Sie sicher,<br />

dass max memory auf einen ausreichend hohen Wert gesetzt ist.<br />

Es gibt drei Arten von Daten, die migriert werden: Serverdaten,<br />

Datenbankdaten und Benutzerobjekte. Um die Metadaten (Server- und<br />

Datenbankdaten) zu migrieren, muss der neue Adaptive Server frisch<br />

installiert sein, damit die migrierten Metadaten nicht mit möglichen<br />

Restdaten aus vorheriger Nutzung in Konflikt treten.<br />

<strong>Dienstprogramme</strong> 105


Migrationsprozess<br />

Wenn Sie nur Benutzerobjekte migrieren, können Sie auch einen zuvor<br />

bereits genutzten Adaptive Server verwenden. Bei Benutzerdaten ist<br />

jedoch zu beachten, dass die Zieltabellen leer sein müssen.<br />

Bevor Sie Daten migrieren, erstellen Sie die Datenbanken, in die<br />

Sie die Daten auf dem neuen Adaptive Server migrieren möchten.<br />

Die Datenbanken sollten jeweils den gleichen Namen wie auf dem<br />

alten Adaptive Server haben.<br />

Um eine Umwandlung der Zeichensätze zu ermöglichen, die über keine<br />

interne Adaptive Server-Konvertierungsroutine verfügen, konfigurieren<br />

Sie den neuen Adaptive Server mit enable unicode conversions gleich 1.<br />

Ermitteln Sie die Größe der benannten Caches und Pufferpools auf dem<br />

neuen Adaptive Server. sybmigrate migriert keine Cachekonfigurationen.<br />

Sie können die von ddlgen erzeugten Informationen auf den neuen<br />

Adaptive Server anwenden. Oder Sie konfigurieren aufgrund der größeren<br />

Seitengröße mehr Speicherplatz.<br />

sybmigrate migriert jedoch Cachebindungen, weshalb im Migrationslog<br />

Warnmeldungen ausgegeben werden, wenn der erforderliche Cache im<br />

neuen Adaptive Server nicht existiert.<br />

Bevor Sie sybmigrate ausführen, müssen Sie die gewünschten Sprachen<br />

auf dem neuen Adaptive Server installieren. Die Standardsprache des alten<br />

und des neuen Adaptive Server muss identisch sein.<br />

Wenn Benutzernachrichten auf dem alten Adaptive Server vorhanden<br />

sind, die nicht auf dem neuen Adaptive Server installiert sind, bricht<br />

sybmigrate die Migration der Nachrichten ab und gibt einen Fehler aus.<br />

Wenn Sie Java-Spalten migrieren, müssen Sie Java vor der Migration auf<br />

dem alten und dem neuen Adaptive Server aktivieren. Geben Sie folgende<br />

Zeichenfolge ein:<br />

sp_configure 'enable java', 1<br />

Nachdem Sie Ihren alten Adaptive Server auf Version 12.5.0.1 oder höher<br />

aktualisiert haben, starten Sie ihn neu, bevor Sie mit der Migration<br />

beginnen.<br />

Für die Migration müssen der alte und neue Adaptive Server<br />

unterschiedliche lokale Servernamen haben. Richten Sie den lokalen<br />

Servernamen ein, und starten Sie die Server neu, damit die Änderung<br />

wirksam wird.<br />

106 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Wenn aus mehreren Bytes bestehende Zeichensätze auf dem neuen<br />

Adaptive Server konfiguriert sind, nachdem der Migrationsprozess<br />

gestartet wurde, müssen Sie manuell dbcc fix_text auf den<br />

Systemkatalogen sysattributes und sysxtypes ausführen, damit die<br />

text-Spalten in diesen Katalogen mit den Mehrbyte-Zeichensätzen<br />

konsistent sind.<br />

<strong>Sybase</strong> empfiehlt, zunächst den Zeichensatz des neuen Servers zu<br />

konfigurieren und dann den Migrationsprozess zu starten.<br />

Konfiguration und Optimierung für eine bessere Performance<br />

Je nach Serverressourcen können Sie sybmigrate und Adaptive Server<br />

so konfigurieren, dass für eine optimale Performance gesorgt wird.<br />

Hinweise zur Konfiguration von sybmigrate<br />

Zur Migration von Tabellen und erneuten Erstellung von Indizes werden „copy<br />

threads“ und „create index threads“ verwendet. Wenn Sie sybmigrate im Setup-<br />

Modus konfigurieren, können die Werte von COPY_THREADS und<br />

INDEX_THREADS den Kopier- und Migriervorgang von sybmigrate<br />

beschleunigen.<br />

Die Anzahl der Copy Threads steuert die Anzahl der Tabellen, für die<br />

gleichzeitig eine Datenmigration durchgeführt wird. Jeder Tabelle wird<br />

ein Copy Thread zugeordnet. Wenn der Thread eine Aufgabe erfolgreich<br />

abgeschlossen hat, fährt er mit der nächsten fort. Je nach Größe Ihrer<br />

Datenbank und den Ihrem Adaptive Server zur Verfügung stehenden<br />

Ressourcen können Sie die Anzahl der Copy Threads erhöhen, die im<br />

Migrationsprozess verwendet werden, um die Performance zu verbessern.<br />

Hinweis Wenn Sie viele Objekte gleichzeitig migrieren, prüfen Sie anhand des<br />

Werts von SYBMIGRATE_MEMORY, ob sybmigrate genügend Speicher<br />

zugewiesen wurde.<br />

<strong>Dienstprogramme</strong> 107


Migrationsprozess<br />

Index Threads steuern die Anzahl von Threads, die für die Neuerstellung von<br />

Indizes für die Tabellen des neuen Adaptive Server verwendet werden. Zur<br />

Neuerstellung von Indizes wird ein Thread pro Tabelle verwendet. Wenn die<br />

Indizes für eine Tabelle neu erstellt wurden, fährt der Thread mit der nächsten<br />

migrierten Tabelle fort. Alle Threads ohne Aufgabe werden beendet.<br />

Die Anzahl der Create Index Threads sollte deutlich geringer sein als<br />

die Anzahl der Copy Threads.<br />

Wenn Sie INDEX_THREADS auf eine hohe Zahl einstellen, sollten Sie darauf<br />

achten, dass auch der neue Adaptive Server mit einer hohen Anzahl von<br />

Sortierpuffern ausgestattet ist. Da die Nutzung von Index Threads in der<br />

Zieldatenbank Speicherplatz verbraucht, sollten Sie sicherstellen, dass für<br />

die Zieldatenbank ausreichend Speicherplatz für die angegebene Anzahl von<br />

Index Threads eingerichtet ist. Sie müssen außerdem die Zieldatenbank mit<br />

zusätzlichem Speicherplatz konfigurieren, wenn Sie Clustered-Indizes neu<br />

erstellen werden.<br />

Hinweise zur Konfiguration von Adaptive Server<br />

Es gibt mehrere Konfigurationsparameter sowohl auf dem alten als auch auf<br />

dem neuen Adaptive Server, die die Performance des Migrationsprozesses<br />

beeinflussen.<br />

Auf dem alten Adaptive Server:<br />

cis packet size – sollte identisch sein mit dem Wert von max page size auf<br />

dem neuen Adaptive Server.<br />

number of user connections – sollte hoch genug sein, um die gleichzeitige<br />

Migration mehrerer Tabellen entsprechend den Werten von<br />

COPY_THREADS und INDEX_THREADS zu ermöglichen.<br />

max parallel degree – sollte auf einen Wert gesetzt werden, der<br />

höher als die höchste Anzahl von Partitionen in einer Tabelle ist.<br />

Die Datenmigration erfolgt parallel. Wenn der Wert von max parallel<br />

degree nicht hoch genug eingestellt ist, um die partitionierten Tabellen<br />

aufzunehmen, werden die Tabellen nicht migriert.<br />

number of worker processes – Die Datenmigration für partitionierte<br />

Tabellen erfordert einen Worker-Thread pro Partition. Wenn also t<br />

partitionierte Tabellen mit p Partitionen gleichzeitig migriert werden,<br />

müssen Sie insgesamt t x p Worker-Threads auf dem alten Adaptive<br />

Server einrichten.<br />

108 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

cis bulk insert batch size – legt die Anzahl der Zeilen fest, nach denen<br />

die Datenübertragung festgeschrieben wird. Standardwert ist 0. Die<br />

Verwendung des Standardwertes ist zwar die sicherste Methode, bei<br />

der Datenmigration die Integrität der Daten zu gewährleisten, dies kann<br />

jedoch zu einer großen Anzahl von Seiten- und Zeilensperren auf dem<br />

alten Adaptive Server führen. Um die Anzahl der Sperren zu reduzieren,<br />

erhöhen Sie also diesen Wert.<br />

Wenn Sie den Wert von cis bulk insert batch size erhöhen, wird nur ein Teil<br />

der Daten migriert, wenn es beim Prozess zu einem Fehler kommen sollte.<br />

Kürzen Sie in diesem Fall die Zieltabelle manuell, und führen Sie<br />

sybmigrate erneut aus.<br />

cis bulk insert array size – legt die Anzahl der Zeilen fest, die gleichzeitig<br />

zusammen übertragen werden. Der Standardwert ist 50 Zeilen pro Batch.<br />

Erhöhen Sie den Wert, um die Datenmigration zu beschleunigen.<br />

Wenn die Tabelle text- oder image-Spalten enthält, werden die Daten Zeile<br />

für Zeile übertragen, und zwar unabhängig von dem für cis bulk insert array<br />

size eingestellten Wert.<br />

Die folgenden Konfigurationsparameter auf dem neuen Adaptive Server<br />

beeinflussen die Performance von sybmigrate:<br />

max network packet size – sollte auf einen Wert gesetzt werden,<br />

der mindestens genauso hoch ist wie der von max page size.<br />

number of user connections – sollte hoch genug sein, um die gleichzeitige<br />

Migration mehrerer Tabellen und partitionierter Tabellen zu ermöglichen.<br />

Für die parallele Migration partitionierter Tabellen sind auf dem alten<br />

Adaptive Server Worker-Prozesse und auf dem neuen Adaptive Server<br />

Benutzerverbindungen erforderlich. Wenn Sie partitionierte Tabelle<br />

migrieren, setzen Sie number of user connections auf dem neuen Adaptive<br />

Server auf die gleichen Werte wie number of worker processes auf dem<br />

alten Adaptive Server.<br />

number of sort buffers – der Standardwert von 500 ist für die Migration<br />

ausreichend. Sie können diesen Wert erhöhen, wenn sybmigrate die<br />

Indizes neu aufbaut, insbesondere dann, wenn Sie Indizes partitionierter<br />

Tabellen migrieren.<br />

<strong>Dienstprogramme</strong> 109


Migrationsprozess<br />

Fehlervermeidung<br />

Vor dem Starten der Datenmigration prüft sybmigrate, ob die folgenden<br />

Fehlerbedingungen zutreffen. Trifft eine dieser Fehlerbedingungen zu,<br />

wird der Migrationsvorgang abgebrochen.<br />

Eine Zieltabelle mit vorhandenen Daten: Jeglicher Versuch, Daten in eine<br />

Tabelle zu migrieren, die bereits Daten enthält, führt zu einem Abbruch<br />

von sybmigrate.<br />

Eine Zieltabelle mit Indizes: Sollten in einer Zieltabelle Indizes vorhanden<br />

sein, wird sybmigrate in einem langsamen bcp (Bulk Copy Utility;<br />

Massenexport/-import der Daten) ausgeführt. Löschen Sie vor der<br />

Datenmigration alle Indizes manuell.<br />

Nicht übereinstimmende Partitionszahlen in den Quell- und Zieltabellen:<br />

Falls die Anzahl der Partitionen in der Quell- und Zieltabelle nicht<br />

übereinstimmt, schlägt die Datenmigration fehl. sybmigrate dient lediglich<br />

der Datenmigration, nicht jedoch der Neuverteilung der Daten auf<br />

Partitionen.<br />

Automatische Auswahl abhängiger Objekte für die Migration<br />

sybmigrate ausführen<br />

Wenn Sie die Funktion zur automatischen Auswahl abhängiger Objekte<br />

nutzen, wählt sybmigrate selbst abhängige Objekte für die Migration aus.<br />

Diese Funktion der automatischen Auswahl überprüft, ob es abhängige<br />

Objekte gibt, und migriert diese dann automatisch in den neuen Adaptive<br />

Server. <strong>Sybase</strong> empfiehlt, diese Funktion zu nutzen, damit die Migration<br />

erfolgreich abgeschlossen werden kann.<br />

Achtung! sybmigrate geht davon aus, dass auf beiden Servern (alter und neuer<br />

Adaptive Server) während der Migration keine Aktivitäten stattfinden. Werden<br />

während des Migrationsprozesses (Setup, Migration, Validierung) Objekte<br />

erstellt, geändert oder gelöscht, kann <strong>Sybase</strong> nicht für die Integrität der<br />

Migration garantieren.<br />

110 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Unabhängig davon, ob Sie den GUI- oder Ressourcedatei-Modus von<br />

sybmigrate ausführen, starten Sie diesen Befehl mit den folgenden<br />

Befehlszeilenargumenten:<br />

Wobei:<br />

sybmigrate [-v ] [-h ] [-f ]<br />

[-D 1 | 2 | 3 | 4 ]<br />

[-I Interfaces-Datei ]<br />

[-r Eingabe_Ressourcedatei]<br />

[-m setup | migrate | validate | report ]<br />

[-rn status | space_est | repl | diff | password ]<br />

[-l Logdatei ]<br />

[-t Ausgabevorlage_Ressourcedatei ]<br />

[-J Client_Zeichensatz ]<br />

[-z Sprache ]<br />

[-T Trace_Flags ]<br />

[-Tase Trace-Flags ]<br />

[-f ]<br />

-v gibt die Versionszeichenfolge aus und wird dann beendet.<br />

-h gibt die Hilfeinformationen und Syntaxverwendung aus und wird dann<br />

beendet.<br />

-f überschreibt die Sperrsitzung.<br />

Wenn sybmigrate eine Sitzung unaufgefordert beendet hat, überschreiben<br />

Sie mit -f die erstellte Datenbankbindung auf dem alten und neuen Server,<br />

sodass nur eine Sitzung von sybmigrate auf einem Quell- und<br />

Zieldatenbankpfad ausgeführt werden kann.<br />

-D – legt das Debug-Level für sybmigrate fest. Der Standardwert des<br />

Debug-Level lautet 2.<br />

-I gibt eine interfaces-Datei an, die nach Servernamen durchsucht werden<br />

soll. Wenn kein Ort für die interfaces-Datei angegeben wurde, wird unter<br />

Windows $SYBASE/interfaces und unter UNIX %SYBASE%\ini\sql.ini<br />

verwendet.<br />

Hinweis Sie können sybmigrate überschreiben und die interfaces-Datei<br />

verwenden, indem Sie das Argument -I übergeben, falls der LDAP-<br />

Eintrag in $SYBASE/$SYBASE_OCS/config/libtcl.cfg (Unix) oder in<br />

%SYBASE%\%SYBASE_OCS%\ini\libtcl.cfg (NT) definiert ist.<br />

<strong>Dienstprogramme</strong> 111


Migrationsprozess<br />

-r gibt an, dass der Ressourcedatei-Modus beim Migrationsprozess<br />

verwendet werden soll. Wenn die Eingabe-Ressourcedatei über den<br />

Parameter -r nicht angegeben wird, wird sybmigrate im GUI-Modus<br />

ausgeführt.<br />

Wenn Sie den Parameter -r verwenden, müssen Sie auch das Argument -m<br />

übergeben, um die Art der auszuführenden Aktion anzugeben: setup,<br />

migrate, validate oder report. Sie können den ganzen Migrationsprozess im<br />

Ressourcedatei-Modus durchführen, Sie können aber auch nur Teile des<br />

Vorgangs in diesem Modus ausführen.<br />

-m gibt die Arten der Aktionen an, die ausgeführt werden sollen:<br />

setup: Einrichtung der Repository- und Arbeitsdatenbank und<br />

Migration der serverweiten Daten.<br />

migrate: Durchführung der Migration der Daten und Objekte.<br />

validate: Validierung der migrierten Objekte.<br />

report: Ausführung eines der fünf Berichte. Die Berichte können<br />

im GUI- oder Ressourcedatei-Modus ausgeführt werden.<br />

Die verfügbaren Berichte sind:<br />

status – Der Bericht über den Migrationsstatus der Objekte<br />

enthält Informationen zu den Objekten, die bereits migriert<br />

wurden. Um diesen Bericht auszuführen, geben Sie folgenden<br />

Befehl ein:<br />

sybmigrate -r Ressource-Datei -m report -rn<br />

status<br />

space_est – Mit dem Bericht zur Schätzung des Speicherplatzes<br />

auf der Zieldatenbank können Sie überprüfen, ob der<br />

Zieldatenbank ausreichend Ressourcen zugewiesen wurden.<br />

Um den Bericht space_est auszuführen, geben Sie im<br />

Ressourcedatei-Modus den folgenden Befehl ein:<br />

sybmigrate -r Ressource-Datei -m report -rn<br />

space_est<br />

repl – Mit dem Replikationsbericht können Sie alle explizit<br />

replizierten Objekte anzeigen, die migriert wurden, die Art des<br />

Replikationssystems bestimmen und SQL-Befehle erzeugen,<br />

die von den Benutzern auf dem neuen Adaptive Server und dem<br />

Replication Server ausgeführt werden können. Um den Bericht<br />

repl auszuführen, geben Sie folgende Befehlszeile ein:<br />

sybmigrate -r Ressource-Datei -m report -rn<br />

repl<br />

112 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

diff – Dieser Bericht überprüft die Objekte zwischen Quell- und<br />

Zieldatenbank. Die Benutzer können diesen Bericht auf einzelne<br />

Objekte oder die ganze Datenbank ausführen, ausgenommen<br />

Server- und Datenbankinformationen bzw. Metadaten.<br />

Sie können den Bericht diff zu jeder Zeit ausführen. Sie müssen<br />

keine Setup-Sitzung starten, um den Bericht diff auszuführen.<br />

Der Name der Quell- und Zieldatenbank muss nicht identisch<br />

sein, wenn Sie diff ausführen.<br />

Der Bericht diff liefert folgende Informationen zu den folgenden<br />

Objekttypen:<br />

Serverinformationen – Vergleich der Systemkatalog-<br />

Zeilenzahl der Master-Datenbank zwischen altem und<br />

neuem Adaptive Server. Diese Aufgabe ähnelt der<br />

Validierungssitzung.<br />

Datenbankinformationen – Vergleich der Systemkatalog-<br />

Zeilenzahl der Benutzerdatenbank zwischen altem und<br />

neuem Adaptive Server. Diese Aufgabe ähnelt der<br />

Validierungssitzung.<br />

DDL-Objekte – Der Bericht gibt an, ob die Objekte auf<br />

dem alten oder neuen Adaptive Server existieren. Wenn<br />

die Objekte in beiden Datenbanken existieren, wird das<br />

betreffende Objekt im Bericht nicht aufgeführt.<br />

Benutzertabellendaten – Vergleich der Zeilenzahl der<br />

Benutzertabellen zwischen altem und neuem Adaptive<br />

Server. Wenn die Tabelle nur in den Quell- oder<br />

Zieldatenbanken existiert, wird table im Bericht nicht<br />

aufgeführt.<br />

password – Dieser Befehl erstellt eine Datei für geänderte<br />

Kennwörter. Dieser Bericht kann nur von einem Systemadministrator<br />

ausgeführt werden.<br />

-rn gibt an, welche Art von Bericht erzeugt werden soll. Wenn für -rn nichts<br />

angegeben wurde, werden alle fünf Berichte generiert.<br />

-l gibt eine benutzerdefinierte Logdatei an, in der die Ausgabe des Migrationsprozesses<br />

gespeichert wird. Wenn für -l keine Angaben gemacht<br />

wurden, werden die Logs unter $SYBASE/$SYBASE_ASE/init/logs oder<br />

im Arbeitsverzeichnis abgelegt.<br />

<strong>Dienstprogramme</strong> 113


Migrationsprozess<br />

GUI-Modus<br />

Setup<br />

-t weist sybmigrate an, eine Ausgabevorlage der Ressourcedatei zu<br />

generieren, die für folgende Migrationen im Ressourcedatei-Modus<br />

genutzt werden kann.<br />

-t erfordert das Ausführen von sybmigrate mit dem Argument -r unter<br />

Angabe der Login-Daten. Dieses Argument setzt ferner voraus, dass mit -<br />

m die Art der zu generierenden Ressourcedatei angegeben wird.<br />

Hinweis Sie können -t nur im Ressourcedatei-Modus verwenden.<br />

-J gibt den Zeichensatz an, der für die Adaptive Server-Verbindung<br />

genutzt werden soll.<br />

-z gibt die Sprache an, die für die Adaptive Server-Verbindung verwendet<br />

werden soll.<br />

-T setzt die Trace-Flags für die Befehlszeile.<br />

-Tase wird verwendet, um Adaptive Server-Trace-Flags (Aktivierung mit<br />

dbcc traceon) für alle Adaptive Server-Verbindungen auszuführen, die<br />

von sybmigrate geöffnet wurden. Die Trace-Flags sollten in einer durch<br />

Komma getrennte Liste angegeben werden.<br />

Sie können entweder den GUI- oder Ressourcedatei-Modus für den<br />

Migrationsprozess nutzen. Sie haben auch die Möglichkeit, Teile des<br />

Migrationsprozesses im GUI-Modus und andere Teile im Ressourcedatei-<br />

Modus auszuführen.<br />

Wenn Sie sybmigrate im GUI-Modus ausführen, müssen Sie sich bei der<br />

Migration an die folgenden drei Phasen halten: Setup, Migration und<br />

Validierung.<br />

Bevor Sie Daten migrieren, geben Sie den alten und den neuen Adaptive<br />

Server an, und registrieren Sie die Pfade zwischen den enthaltenen Quell- und<br />

Zieldatenbanken. Starten Sie hierzu sybmigrate mit der Befehlszeilenoption -m<br />

setup oder durch Auswahl von „Setup source databases for migration“,<br />

wenn Sie dazu eine Aufforderung im Fenster „Session Type“ erhalten.<br />

114 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

❖ Angabe des alten und neuen Adaptive Servers und Registrierung der<br />

Pfade zwischen den Quell- und Zieldatenbanken<br />

1 Im Fenster „Connect to ASE“ können Sie den alten und neuen Adaptive<br />

Server für Ihren Migrationsprozess angeben.<br />

Sie können die Server aus dem Dropdown-Menü in den jeweiligen<br />

Feldern „Server“ auswählen. In diesen Dropdown-Menüs sind<br />

die Adaptive Server enthalten, die sich in der standardmäßig<br />

eingerichteten interfaces-Datei befinden ($SYBASE/interfaces unter<br />

UNIX oder %SYBASE%\ini\sql.ini unter NT) oder in der interfaces-<br />

Datei, die Sie mit dem Befehlszeilenargument -I angegeben haben.<br />

Wenn Sie nicht mit der interfaces-Datei arbeiten, können Sie das<br />

Befehlszeilenargument -I nicht verwenden, sondern müssen den<br />

alten und neuen Adaptive Server im Format host:port angeben.<br />

Während der Setup-Phase müssen Sie bei beiden Servern als<br />

Systemadministrator angemeldet sein. Tragen Sie „sa“ in das<br />

Loginfeld ein, geben Sie Ihr Kennwort ein, und wählen Sie<br />

„Connect“.<br />

Hinweis Sie können nur eine Sitzung von sybmigrate zurzeit ausführen.<br />

Falls also ein anderer Benutzer sybmigrate auf dem gleichen Quell- und<br />

Zielserver ausführt, erscheint die Fehlermeldung „Setup session lock:<br />

Either previous setup exit abnormal or there is another setup session<br />

running. Do you want to override?“. Sie können die Sitzungssperre<br />

überschreiben, da es sein kann, dass die vorherige Sitzung abgestürzt<br />

ist oder vorzeitig abgebrochen wurde.<br />

Bevor Sie mit dem Setup- und Migrationsprozess fortfahren, stellen Sie<br />

also sicher, dass keine anderen Benutzer sybmigrate ausführen. Wenn mehr<br />

als ein Benutzer sybmigrate gleichzeitig ausführt, kann Sybare keine<br />

Datenintegrität gewährleisten.<br />

2 Im Fenster „Session Type“ müssen Sie die Art der Aktion angeben,<br />

die Sie durchführen möchten. Sie haben folgende Optionen:<br />

Setup source databases for migration<br />

Migrate database objects and data<br />

<strong>Dienstprogramme</strong> 115


Migrationsprozess<br />

Validate the migrated objects and data<br />

Reports: Wenn Sie „Reports“ wählen, wird ein Fenster mit den<br />

Berichtsarten angezeigt. Es stehen folgende Berichte zur Auswahl:<br />

status, space_est, repl, diff oder password. Wenn Sie den Bericht zur<br />

Speicherermittlung oder den Replikationsbericht auswählen, werden<br />

Sie im Fenster „Report Paths“ aufgefordert, die Datenbankpfade<br />

anzugeben, auf denen die Berichte ausgeführt werden sollen.<br />

Die Berichte zu Kennwort, Status und Replikationen sind deaktiviert,<br />

wenn die Setup-Sitzung für den alten und neuen Adaptive Server<br />

noch nicht vollständig abgeschlossen wurde.<br />

Wenn Sie sybmigrate mit der Option -m unter Angabe von setup, migrate,<br />

validate oder reports gestartet haben, wird dieses Fenster nicht angezeigt.<br />

3 Im Fenster „Setup Paths“ wählen Sie nun die Quell- und Zieldatenbanken<br />

auf Ihrem alten und neuen Adaptive Server aus, damit sybmigrate weiß,<br />

wo es die Daten aus dem Quellserver im Zielserver ablegen soll.<br />

Hinweis Die Namen der Quell- und Zieldatenbanken müssen<br />

identisch sein.<br />

In der Dropdown-Liste „Source Database“ sind die Datenbanken Ihres<br />

alten Adaptive Server aufgeführt.<br />

In der Dropdown-Liste „Target Database“ sind die Datenbanken des neuen<br />

Adaptive Server aufgelistet. Sie müssen die Datenbanken auf dem neuen<br />

Adaptive Server vor dem Migrationsprozess eingerichtet haben, um<br />

sybmigrate ausführen zu können.<br />

Mit sybmigrate können Sie die Werte von Copy Thread, Create Index<br />

Thread und Work Thread während der Setup-, Migrations- oder<br />

Validierungssitzung einstellen. Der Wert, den Sie diesen Eigenschaften<br />

beim Setup zuweisen, wird zum Standardwert. Sie können diesen Wert<br />

in der Migrations- bzw. Validierungssitzung jedoch vorübergehend<br />

überschreiben.<br />

Das Feld „Copy Thread“ gibt sybmigrate vor, wie viele Threads bei der<br />

Datenmigration verwendet werden sollen. Bei der Anzahl der Threads gibt<br />

es keine Obergrenze, das heißt, je nach Datenmenge, die migriert werden<br />

soll, und je nach verfügbaren Serverressourcen können Sie die Anzahl der<br />

Copy Threads erhöhen, um die Performance zu maximieren.<br />

116 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Das Feld „Create Copy Thread“ gibt sybmigrate vor, wie viele Index<br />

Threads bei der Datenmigration verwendet werden sollen. Bei der Anzahl<br />

der Create Index Threads gibt es ebenfalls keine Obergrenze; Sie können<br />

also auch diese Zahl erhöhen, um die Performance zu maximieren.<br />

Hinweis Die Werte von Copy Thread und Create Index Thread sind<br />

nur auf die verfügbaren Ressourcen von Adaptive Server begrenzt.<br />

Geben Sie die Anzahl der Copy Threads und Create Index Threads für<br />

jeden Datenbankpfad an, den Sie erstellen. Wenn auf dem gleichen Server<br />

große und kleine Datenbanken vorhanden sind, können Sie die Anzahl der<br />

Threads entsprechend reduzieren oder erhöhen.<br />

Nachdem Sie eine Quell- und Zieldatenbank ausgewählt und die Anzahl<br />

der Copy Threads und Create Index Threads angegeben haben, klicken Sie<br />

auf „Add Path“. Ihre Angaben werden unter „Migrate Paths“ angezeigt.<br />

Sie können beliebig viele Pfade erstellen. Wenn Sie später zusätzliche<br />

Pfade benötigen, können Sie neue Pfade durch erneutes Ausführen von<br />

sybmigrate im Setup-Modus hinzufügen. Wenn Sie sybmigrate mehr als<br />

einmal im Setup-Modus ausführen, werden noch Ihre ursprünglichen<br />

Angaben angezeigt, und alle Änderungen werden diesen Angaben<br />

hinzugefügt.<br />

Um die Anzahl der Copy Threads oder Create Index Threads zu ändern,<br />

nachdem Sie den Pfad zu sybmigrate hinzugefügt haben, wählen Sie die<br />

Spalte aus, die Sie ändern möchten, und geben Sie den neuen Wert ein.<br />

Um die Quell- oder Zieldatenbank zu ändern, wählen Sie die ganze Zeile<br />

aus, und löschen Sie diese. Wenn Sie auf die Schaltfläche „Reset“ unten<br />

im Fenster klicken, werden alle von Ihnen eingegebenen Daten gelöscht,<br />

und Sie kehren zur ursprünglichen Version des Fensters „Setup Paths“<br />

zurück.<br />

Wenn Sie mit der Erstellung der Pfade fertig sind, klicken Sie auf die<br />

Schaltfläche „Next...“.<br />

<strong>Dienstprogramme</strong> 117


Migrationsprozess<br />

Hinweis Der Benutzer steuert die Anzahl der Threads, die für die parallele<br />

Übertragung von Tabellen genutzt werden. Jede Tabelle, die gleichzeitig<br />

übertragen wird, erfordert eine Server-zu-Server-CIS-Verbindung.<br />

Berücksichtigen Sie alle Aspekte dieser Anforderung, wenn Sie die<br />

Kapazität Ihres Systems bestimmen.<br />

In einem einfachen Szenario sind die Tabellen, die Sie migrieren, nicht<br />

partitioniert. Wenn Sie nicht partitionierte Tabellen migrieren, wird eine<br />

einzige Server-zu-Server-Verbindung hergestellt. Diese Verbindung<br />

belegt eine user connection auf dem alten Adaptive Server und eine user<br />

connection auf dem neuen Adaptive Server.<br />

Wenn die Datenmigration für n-Weg-Partitionstabellen durchgeführt wird,<br />

erfolgt die Datenübertragung mit einem Parallelitätsgrad von n-Weg. Dies<br />

erfordert n worker processes auf dem alten Adaptive Server und zwei nuser<br />

connections auf dem neuen Adaptive Server.<br />

Wenn Sie beispielsweise 10 n-Weg-Partitionstabellen haben und vier<br />

Threads in sybmigrate verwenden möchten, konfigurieren Sie den alten<br />

Adaptive Server mit mindestens vier worker processes und acht user<br />

connections. Konfigurieren Sie den neuen Adaptive Server mit mindestens<br />

acht user connections.<br />

4 Im Fenster „Setup Devices“ müssen Sie die Größe der Repository-<br />

Datenbank und das Device angeben, auf dem Sie sybmigrate ausführen<br />

möchten.<br />

Im Feld „Create Database Size“ wird ein Standardwert in Megabyte<br />

vorgeschlagen. Dieser Standardwert basiert auf der Anzahl der Copy<br />

Threads und Create Index Threads, die Sie im vorhergehenden Fenster<br />

angegeben haben. Der Standardwert entspricht dem erforderlichen<br />

Mindestwert. Wenn Sie diesen Wert ändern möchten, können Sie<br />

ihn also nur erhöhen.<br />

Im Feld „Use Device“ können Sie das Device angeben, auf dem Sie<br />

die Arbeitsdatenbank erstellen möchten. Sie können das standardmäßig<br />

eingerichtete Device übernehmen oder ein anderes Device angeben.<br />

118 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Im Feld „Repository Database Size“ können Sie zusätzlichen<br />

Speicherplatz für die Repository-Datenbank angeben. Wenn Sie<br />

sybmigrate zum ersten Mal im Setup-Modus ausführen, wird die<br />

Größe der Repository-Datenbank abhängig von den bereits eingegebenen<br />

Informationen und dem Inhalt der Quelldatenbank in Megabyte<br />

angegeben. Wenn Sie sybmigrate erneut im Setup-Modus ausführen, gibt<br />

die Zahl, die Sie im Feld „Repository Database Size“ eingeben, die Zahl<br />

in Megabyte an, um die Sie die Repository-Datenbank erhöhen möchten.<br />

Wählen Sie das logische Device aus der Dropdown-Liste „Logical<br />

Device“. Das logische Device wird verwendet, um die Repository-<br />

Datenbank zu erstellen und zu ändern. Wählen Sie ein Device mit viel<br />

Speicher für die geschätzte Größe Ihrer Repository-Datenbank.<br />

Geben Sie im Feld „Migrate Server Data“ an, ob Sie Serverdaten<br />

migrieren möchten oder nicht. Sie können „Yes“, „No“ oder „Undecided“<br />

wählen.<br />

Wenn Sie „Yes“ wählen, werden die Serverdaten am Ende der Setup-<br />

Phase migriert. Wenn Sie später sybmigrate in der Setup-Phase ausführen,<br />

können Sie die Serverdaten nicht mehr migrieren, da sie bereits migriert<br />

wurden.<br />

Wenn Sie „Yes“ wählen, um die Serverdaten zu migrieren, wird die<br />

Schaltfläche „Option...“ aktiviert. Wenn Sie auf diese Schaltfläche<br />

klicken, wird das Dialogfeld „Login Account“ angezeigt.<br />

Im Dialogfeld „Login Account Options“ sperren oder entsperren Sie<br />

Konten oder ändern das Kennwort des neuen Adaptive Server.<br />

Wenn Sie „No“ wählen, werden die Serverdaten nicht migriert. Sie können<br />

aber jederzeit hierher zurückkehren und die Migration der Serverdaten<br />

starten, vorausgesetzt, die Migration der Datenbank hat noch nicht<br />

begonnen.<br />

Wenn Sie „Undecided“ wählen, können Sie jederzeit zu diesem<br />

Fenster zurückkehren und „Yes“ oder „No“ wählen. Wenn Sie jedoch<br />

„Undecided“ wählen, können Sie nicht mit der Migrationsphase beginnen.<br />

„Undecided“ ist eine sehr nützliche Option, wenn Sie zwar alle<br />

Daten für den Migrationsprozess einrichten möchten, die eigentliche<br />

Datenmigration jedoch erst zu einem späteren Zeitpunkt geplant ist.<br />

Wenn Sie mit der Einrichtung der Devices fertig sind, klicken Sie auf<br />

„Setup“.<br />

<strong>Dienstprogramme</strong> 119


Migrationsprozess<br />

Migration<br />

5 Im Fenster „Setup Progress“ wird der Fortschritt der Setup-Phase<br />

angezeigt.<br />

Zu diesem Zeitpunkt erstellt sybmigrate die Repository-Datenbank,<br />

installiert das Datenbankschema, erstellt eine Arbeitsdatenbank für jeden<br />

angegebenen Pfad und migriert die Serverdaten (je nach ausgewählter<br />

Option). Diese Vorgänge erfolgen in genau dieser Reihenfolge. Wenn Sie<br />

sybmigrate ein weiteres Mal im Setup-Modus ausführen, werden für die<br />

Datenmigration neue Pfade erstellt. Wenn Sie keine neuen Pfade erstellen<br />

möchten, müssen Sie sybmigrate nicht mehr als einmal im Setup-Modus<br />

ausführen.<br />

Um den Fortschritt im Log anzuzeigen, klicken Sie auf „Show Log“. Der<br />

Setup-Vorgang ist abgeschlossen, wenn im Fenster „Current Task“ DONE<br />

und im Log SETUP_COMPLETE angezeigt wird. Klicken Sie auf<br />

„Close“, um das Log und das Fenster „Setup Progress“ zu schließen.<br />

6 Sie kehren zum Fenster „Connect to ASE“ zurück. Wählen Sie<br />

„Quit“, um sybmigrate zu beenden. Um die Migrationsphase des<br />

Datenmigrationsprozesses zu starten, beenden Sie sybmigrate,<br />

und starten Sie sybmigrate im Migrationsmodus.<br />

Nachdem Sie die Setup-Phase abgeschlossen haben, können Sie mit der<br />

Migration beginnen. Starten Sie sybmigrate mit der Befehlszeilenoption-m<br />

migrate erneut, oder wählen Sie die zu migrierenden Datenbankobjekte und<br />

Datenoptionen im GUI-Fenster aus.<br />

1 Wählen Sie im Fenster „Connect to ASE“ den alten und neuen Adaptive<br />

Server aus, zu dem Sie die Verbindung herstellen möchten.<br />

2 Wenn Sie sybmigrate nicht mit dem Befehlszeilenargument -m migrate<br />

gestartet haben, wählen Sie die Art der Sitzung im Fenster „Session Type“.<br />

3 Im Fenster „Object Selection“ können Sie angeben, welche Arten von<br />

Datenbankdaten Sie migrieren möchten.<br />

Im Fenster „Object Selection“ können Sie die Parameter für den Copy<br />

Thread, Create Index Thread und Work Thread von der Menüleiste<br />

„Setting“ einstellen.<br />

Im Fenster „Object Selection“ können Sie außerdem veranlassen, dass<br />

sybmigrate abhängige Objekte automatisch auswählt, indem Sie mit der<br />

rechten Maustaste auf den entsprechenden Knoten im Objektbaum<br />

klicken.<br />

120 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Wenn Sie den Ordner mit den Datenbankdaten erweitern, sehen Sie eine<br />

Datei für jeden Pfad, den Sie beim Setup erstellt haben. Anhand jeder<br />

Datei können Sie die Daten auswählen, die Sie für diese Datenbank<br />

migrieren möchten. Sie können folgende Optionen auswählen:<br />

Datenbankdaten<br />

Hinweis Wenn Sie Datenbankdaten migrieren möchten, müssen Sie<br />

alle Datenbankdaten migrieren. Wenn Sie Teile der Datenbankdaten<br />

von der Selektion ausnehmen, werden Sie in einer Fehlermeldung<br />

gefragt, ob Sie Datenbankdaten migrieren möchten oder nicht.<br />

Wenn Sie beim Setup keine Serverdaten migriert haben, ist die Option<br />

„Database Data“ deaktiviert.<br />

Standardwerte<br />

Regeln<br />

Benutzerdefinierte Datentypen<br />

Tabellen<br />

Indizes<br />

Referenzielle Integritätsregeln<br />

Ansichten<br />

Gespeicherte Prozeduren<br />

Trigger<br />

Das Feld „Status“ für diese Objekte gibt an, ob die Daten erfolgreich<br />

migriert wurden oder nicht. „Success“ bedeutet, dass die Daten bereits<br />

migriert wurden. „Initial“ bedeutet, dass die Migration noch nicht gestartet<br />

wurde. Wenn Sie bei den migrierten Daten auf einen Fehler stoßen,<br />

können Sie das Feld „Status“ auf den Wert „Initial“ zurücksetzen, sodass<br />

die Daten erneut migriert werden. Der Validierungsvorgang wird nur<br />

für die Objekte durchgeführt, die mit Erfolg migriert wurden. Um den<br />

Validierungsvorgang also ohne die Daten, die erfolgreich migriert wurden,<br />

durchzuführen, setzen Sie das Feld „Status“ auf den Wert „Success“<br />

zurück. „Work in Progress“ bedeutet, dass das Objekt für die Migration<br />

ausgewählt wurde, diese jedoch nicht durchgeführt wurde, da sybmigrate<br />

aufgrund eines Fehlers vorzeitig abgebrochen wurde.<br />

<strong>Dienstprogramme</strong> 121


Migrationsprozess<br />

Validierung<br />

Ressourcedatei-Modus<br />

Sie können sehen, ob die Serverdaten für die Migration ausgewählt<br />

wurden. Diese Anzeige dient jedoch lediglich Informationszwecken,<br />

da die Serverdaten in diesem Stadium des Migrationsprozesses bereits<br />

migriert wurden.<br />

Wenn Sie die Daten ausgewählt haben, die Sie migrieren möchten,<br />

klicken Sie auf „Migrate“.<br />

Die Validierungsphase gleicht der Migrationsphase. In den Fenstern werden<br />

Sie aufgefordert, die gleichen Informationen einzugeben, diesmal wählen Sie<br />

jedoch keine Daten für die Migration, sondern für die Validierung aus.<br />

Sie können nur die Objekte validieren, die erfolgreich migriert wurden.<br />

Sie müssen im Ressourcedatei-Modus die folgenden Änderungen vornehmen:<br />

Die Attribute data_copy_thread, create_index_thread und work_thread<br />

werden in den Setup-, Migrations- und Validierungssitzungen von<br />

sybmigrate erkannt. In der Setup-Sitzung werden diese Werte in der<br />

Repository-Datenbank gespeichert und in der Migrations- und<br />

Validierungssitzung als Standardwerte verwendet. In den Migrations- und<br />

Validierungssitzungen können Sie die Standardwerte durch Angabe eines<br />

neuen Wertes überschreiben.<br />

lock_account ist eine neue Funktion für die Verwaltung der Login-Konten.<br />

lock_account weist sybmigrate an, alle Konten auf dem neuen Adaptive<br />

Server zu sperren oder zu entsperren, nachdem die Login-Daten kopiert<br />

wurden. Die gültigen Werte sind „Yes“ und „Nein“. Wenn Sie „Yes“<br />

wählen, sperrt sybmigrate die Konten auf dem neuen Adaptive Server.<br />

Um lock_account zu aktivieren, müssen Sie migrate_server_data in der<br />

Setup-Sitzung auf „Yes“ stellen.<br />

Wenn das Attribut lock_account nicht gesetzt ist, werden die Login-Konten<br />

auf dem Zielserver nicht gesperrt.<br />

122 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

login_password_file wurde hinzugefügt, um die Kennwortänderung auf<br />

dem neuen Adaptive Server zu unterstützen. In der Setup-Sitzung zieht<br />

login_password_file die eingegebene Kennwortdatei oder den Wert<br />

„“ heran. „“ ist ein spezieller Schlüssel, der<br />

sybmigrate anweist, die Kennwörter zu generieren, anstatt sie aus der<br />

Kennwortdatei zu lesen. Wenn dieses Attribut in der Setup-Sitzung nicht<br />

in der Ressourcedatei gesetzt wird, werden die Login-Kennwörter auf<br />

dem neuen Adaptive Server nicht geändert. Um login_password_file zu<br />

aktivieren, müssen Sie migrate_server_data in der Setup-Sitzung auf „Yes“<br />

stellen.<br />

Die Kennwortdatei muss eine reine Textdatei sein. Diese Datei enthält<br />

zwei Spalten: die Spalte mit den Login-Namen und die Spalte mit den<br />

Kennwörtern. Die Spalten sind durch Tabs oder Leerzeichen getrennt.<br />

Alle Zeilen, die mit „#“ beginnen, sind Kommentare.<br />

auto_select_dependent_objects ist ein neuer Wert, der in der Migrationsund<br />

Validierungssitzung zur Verfügung steht. Dieses Attribut weist<br />

sybmigrate an, die abhängigen Objekte automatisch für die Migration<br />

und Validierung auszuwählen. Die gültigen Werte für dieses Attribut<br />

sind entweder „Yes“ oder „No“. „No“ ist der Standardwert.<br />

Wenn die Attribute source_ase, source_ase_login, source_ase_password,<br />

target_ase, target_ase_login und target_ase_password nicht in der<br />

Ressourcedatei vorhanden sind, fordert sybmigrate den Benutzer auf,<br />

diese Attribute anzugeben.<br />

Im Datenbankabschnitt der Ressourcedatei werden alle Objekte und<br />

Objekttypen ausgewählt, wenn Sie keine Objekte und kein SQL angeben.<br />

Beispiel: In der folgenden Ressourcedatei werden alle Objekttypen<br />

(Standard, Regel, Tabelle usw.) von den Datenbanken pubs2 und pubs3<br />

migriert:<br />

[server}<br />

source_ase=tho:5002<br />

source_ase_login=sa<br />

source_ase_password=<br />

target_ase=tho:6002<br />

target_ase_login=sa<br />

target_ase_password=<br />

[database]<br />

source_database_name=pubs2<br />

target_database_name=pubs2<br />

<strong>Dienstprogramme</strong> 123


Migrationsprozess<br />

[database]<br />

source_database_name=pubs3<br />

target_database_name=pubs3<br />

Der Ressourcedatei-Modus ist nicht interaktiv. Die Ressourcedatei enthält<br />

alle Informationen, die für die Migration benötigt werden. Sie können den<br />

Ressourcedatei-Modus nutzen, wenn der GUI-Modus nicht unterstützt wird<br />

oder Sie Batch-Dateien ausführen müssen.<br />

Wenn Sie in der Ressourcedatei keine Attribute zu den zu migrierenden<br />

Objekttypen angeben, wird die ganze Datenbank von sybmigrate migriert.<br />

Wenn Sie in der Ressourcedatei kein Login oder Kennwort für den alten bzw.<br />

neuen Adaptive Server angeben, wird der Benutzer von sybmigrate<br />

aufgefordert, diese Informationen bereitzustellen.<br />

Im Folgenden sehen Sie das Format der Ressourcedatei, wie sybmigrate<br />

im nicht interaktiven Modus ausgeführt wird. Um eine Ressourcedatei zu<br />

erstellen, geben Sie alle Werte in eine Datei ein:<br />

#<br />

# This is a sample Migration Tool resource file.<br />

# This resource file will migrate objects in pubs2,<br />

# pubs3, and foo databases.<br />

#<br />

######################################################<br />

# Server wide information<br />

######################################################<br />

[server]<br />

# ":" or just server name.<br />

source_ase=tho:5002<br />

source_ase_login=sa<br />

source_ase_password=<br />

# ":" or just server name.<br />

target_ase=tho:6002<br />

target_ase_login=sa<br />

target_ase_password=<br />

# Repository database setup attributes. This is<br />

required with "setup" mode.<br />

# Repository database size in MB.<br />

repository_database_size=7<br />

# Device used to create the "sybmigrate" database.<br />

repository_device=master<br />

124 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

# Migrate server wide data - logins, roles, remote servers, etc...<br />

# valid only with "setup" mode, default is yes<br />

migrate_server_data=yes<br />

# Tell sybmigrate to lock or unlock all login accounts on the<br />

# target Adaptive Server. Valid values are "yes" and "no":<br />

# "yes" to lock and "no" to unlock. This is only valid if<br />

# "migrate_server_data" is set to "yes" and run in "setup" mode.<br />

# If this attribute is not specified, target Adaptive Server login<br />

# accounts are not change.<br />

lock_account=no<br />

# Change target Adaptive Server login passwords. This is only valid<br />

# if "migrate_server_data" is set to "yes" and run in "setup" mode.<br />

# If this attribute is not specified, target Adaptive Server login<br />

# accounts are not change.<br />

# The valid values are "" and password file.<br />

# "" instructs sybmigrate to use random passwords.<br />

# Password file instructs sybmigrate to use the passwords from<br />

# this file.<br />

# The content of the password file consists of two columns:<br />

# the login name column and the password string column.<br />

# The separator between the columns are tabs and or spaces.<br />

login_password_file=<br />

######################################################<br />

# Database information<br />

######################################################<br />

#<br />

# Migrate the "pubs2" database objects<br />

#<br />

[database]<br />

# Specify the source target database to migrate.<br />

source_database_name=pubs2<br />

target_database_name=pubs2<br />

# Migrate database data, valid only if "migrate_server_data"<br />

# was set to "yes" in "setup" mode. This is default to yes.<br />

migrate_database_data=yes<br />

# Work database setup attributes. This is required with "setup" mode.<br />

# Work database size in MB.<br />

work_database_size=5<br />

# Device used to create the work database.<br />

work_database_device=master<br />

<strong>Dienstprogramme</strong> 125


Migrationsprozess<br />

# Number of threads use to do user table data copy<br />

data_copy_thread=5<br />

# Number of thread use to create indexes.<br />

create_index_thread=1<br />

# Number of thread use to do ddl migration/validation<br />

work_thread=10<br />

# Automatically select the depedent objects for migration and<br />

# validation. Valid values are "yes" or "no".<br />

auto_select_dependent_objects=yes<br />

#<br />

## Migrate objects<br />

#<br />

# These attributes specify the list of DDL object to<br />

# migrate or validate. User can directly specify the<br />

# list of DDL object or ask Migration tool to query the<br />

# list. Directly specifying the list has the higher<br />

# precedence. The SQL command will ignore if the list<br />

# is given.<br />

#<br />

# Note:<br />

# * The SQL command for the "*_list_from_sql" attributes<br />

# must return column or columns and <br />

# * Index type must also specify the table name. For<br />

# example, "." for<br />

# "index_create_list" attribute or columns ,<br />

# for "index_create_list_from_sql"<br />

# attribute.<br />

# * Value "" can be used on any of the<br />

# attributes to specify all objects for the type.<br />

# * If none of these attributes are given, all objects<br />

# and data are migrated.<br />

#<br />

user_defined_type_create_list=<br />

id<br />

dbo.tid<br />

default_create_list_from_sql=<br />

select user_name(uid), name from sysobjects<br />

where type = 'D'<br />

rule_create_list=<br />

126 Adaptive Server Enterprise


pub_idrule, title_idrule<br />

table_create_list=<br />

publishers<br />

titles<br />

dbo.authors<br />

dbo.titleauthor<br />

dbo.roysched<br />

stores<br />

dbo.sales<br />

dbo.salesdetail<br />

dbo.discounts<br />

dbo.au_pix<br />

blurbs<br />

table_migrate_list=<br />

dbo.publishers titles dbo.authors dbo.titleauthor<br />

dbo.roysched<br />

stores dbo.sales dbo.salesdetail dbo.discounts au_pix<br />

dbo.blurbs<br />

index_create_list=<br />

dbo.authors.auidind<br />

dbo.authors.aunmind<br />

publishers.pubind<br />

roysched.titleidind<br />

sales.salesind<br />

salesdetail.titleidind<br />

salesdetail.salesdetailind<br />

titleauthor.taind<br />

titleauthor.auidind<br />

titleauthor.titleidind<br />

titles.titleidind<br />

titles.titleind<br />

trigger_create_list=<br />

deltitle<br />

totalsales_trig<br />

store_procedure_create_list_from_sql=<br />

select name from sysobjects where type = 'P'<br />

view_create_list_from_sql=<br />

referential_constraint_create_list_from_sql=<br />

Kapitel 6 Migrations-Dienstprogramm<br />

<strong>Dienstprogramme</strong> 127


Migrationsprozess<br />

#####################################################<br />

#<br />

# Migrate the "pubs3" database objects<br />

#<br />

[database]<br />

source_database_name=pubs3<br />

target_database_name=pubs3<br />

# Migrate database data - user, etc.<br />

migrate_database_data=yes<br />

# These two attributes valid only with "setup" mode<br />

work_database_size=5<br />

work_database_device=master<br />

# Number of threads use to do user table data copy<br />

data_copy_thread=5<br />

# Number of thread use to create indexes.<br />

create_index_thread=1<br />

# Number of thread use to do ddl migration/validation<br />

work_thread=10<br />

# Migrate objects<br />

user_defined_type_create_list=<br />

default_create_list=<br />

rule_create_list=<br />

table_create_list=<br />

dbo.authors<br />

publishers<br />

dbo.titles<br />

dbo.roysched<br />

stores<br />

dbo.sales<br />

dbo.store_employees<br />

salesdetail<br />

dbo.titleauthor<br />

dbo.discounts<br />

blurbs<br />

128 Adaptive Server Enterprise


table_migrate_list_from_sql=<br />

index_create_list=<br />

trigger_create_list=<br />

store_procedure_create_list=<br />

view_create_list=<br />

referential_constraint_create_list_from_sql=<br />

#####################################################<br />

Kapitel 6 Migrations-Dienstprogramm<br />

#<br />

# Migrate all the "foo" database objects with default settings.<br />

#<br />

[database]<br />

source_database_name=foo<br />

target_database_name=foo<br />

# Migrate database data - user, etc.<br />

migrate_database_data=yes<br />

# These two attributes valid only with "setup" mode<br />

work_database_size=5<br />

work_database_device=master<br />

# Number of threads use to do user table data copy<br />

data_copy_thread=5<br />

# Number of thread use to create indexes.<br />

create_index_thread=1<br />

# Number of thread use to do ddl migration/validation<br />

work_thread=10<br />

<strong>Dienstprogramme</strong> 129


Aufgaben nach der Migration<br />

Aufgaben nach der Migration<br />

sybmigrate unterstützt nur die Migration von den in diesem Dokument<br />

genannten Objekten. Migrieren Sie andere Schemenobjekte und<br />

Konfigurationsinformationen manuell, um sicherzustellen, dass Adaptive<br />

Server uneingeschränkt betriebsfähig ist.<br />

Die Index-Statistiken werden beim Neuaufbau der Indizes automatisch<br />

neu erstellt. sybmigrate erstellt jedoch keine neuen Statistiken von<br />

Spalten, die keine Indizes sind. Benutzerdefinierte Stufenwerte für Index-<br />

Statistiken werden bei der Migration nicht beibehalten. Um Statistiken des<br />

neuen Servers zu erhalten, die denen des alten Servers ähneln, verwenden<br />

Sie optdiag, um die Tabellen mit Nicht-Index-Spalten zu ermitteln, die<br />

Statistiken enthalten. Nachdem Sie ermittelt haben, welche Nicht-Index-<br />

Spalten Statistiken enthalten, aktualisieren Sie die Statistiken manuell.<br />

Allen Meldungen, die der Aufmerksamkeit des Benutzers bedürfen,<br />

ist das Wort „Attention“ vorangestellt. Sie werden im Migrationslog<br />

protokolliert.<br />

Führen Sie den Bericht über den Migrationsstatus der Objekte aus, um zu<br />

überprüfen, ob alle Objekte migriert wurden.<br />

Daten aus Replication Server in Adaptive Server 12.5<br />

migrieren<br />

Adaptive Server Version 12.5 kann unabhängig von der Seitengröße von<br />

Adaptive Server breitere Daten generieren als Replication Server Version 12.1.<br />

So kann ein Adaptive Server mit einer 2-KByte-Seite beispielsweise mehr als<br />

250 Spalten umfassen, die breiter sind als 255 Bytes.<br />

Replication Server 12.1 und frühere Versionen können breite Daten nicht<br />

verarbeiten. Wenn breite Daten vom RepAgent an den Replication Server<br />

übergeben werden, kann es sein, dass verschiedene Replication Server-Threads<br />

beendet werden.<br />

Wenn sich RepAgent mit dem Replication Server verbindet, gibt er eine LTL-<br />

Version zurück. Diese Version sowie die Einstellung data limits filter mode legen<br />

fest, wie RepAgent breite Daten behandelt. Die Versionen von Replication<br />

Server und LTL sind wie folgt kompatibel:<br />

130 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Tabelle 6-1: Versionen von Replication Server und LTL<br />

Replication Server-Version LTL-Version<br />

12.1 und niedriger < 400<br />

höher als 12.1 >= 400<br />

Die Kompatibilität bezüglich der Einschränkungen je nach LTL-Version lautet<br />

wie folgt:<br />

Tabelle 6-2: Replication Server: eingeschränkte Anzahl/Breite Spalten<br />

Eigenschaft 12.1 und niedriger<br />

Replication Server<br />

Zeilenanzahl 250 65535<br />

Zeilenbreite 255 65535<br />

Höher als 12.1<br />

Replication Server<br />

Bei Adaptive Server 12.5 in Verbindung mit Replication Server 12.1 und<br />

früheren Versionen lautet die Standardeinstellung für data limits filter mode<br />

„stop“. Der RepAgent wird beendet, wenn er auf Daten stößt, die breiter als<br />

die Verarbeitungskapazitäten von Replication Server sind. Wenn data limits<br />

filter mode auf „skip“ eingestellt ist, überspringt RepAgent die breiten Daten,<br />

die die Verarbeitungskapazitäten von Replication Server überschreiten, und<br />

protokolliert eine Info-Meldung.<br />

Wenn data limits filter mode auf „truncate“ eingestellt ist, kürzt RepAgent die<br />

breiten Daten, damit diese von Replication Server verarbeitet werden können.<br />

In Replication Servern der Version 12.1 und früher werden nur die ersten<br />

250 Spalten oder Parameter übermittelt, wenn die Tabelle oder gespeicherte<br />

Prozedur mehr als 250 Spalten oder Parameter umfasst. Ist die Spalte oder<br />

der Parameter breiter als 255, werden nur die ersten 255 Byte gesendet.<br />

Hinweis Wenn data limits filter mode auf „off“ eingestellt ist, werden die breiten<br />

Daten an Replication Server gesendet, was aber zu Fehlern im Replication<br />

Server führen kann.<br />

Replication Server erkennt alle Verbindungen nach Servername.Datenbank.<br />

Das bedeutet, dass Sie nach der Migration den Namen des Zielservers in den<br />

Namen des Quellservers ändern müssen.<br />

<strong>Dienstprogramme</strong> 131


Daten aus Replication Server in Adaptive Server 12.5 migrieren<br />

Vorbereitung der Datenbanken mit Replikationsdaten für<br />

die Migration<br />

Sie müssen sicherstellen, dass die Replikation von bzw. in jede Datenbank<br />

vollständig ist. Für eine Primärdatenbank müssen also alle Änderungen auf<br />

alle replizierten Datenbanken vollständig ausgeführt worden sein, die für<br />

Daten aus dieser Datenbank gelten; und für eine Replikatdatenbank müssen<br />

alle Änderungen, die für diese Datenbank gelten, vollständig auf diese<br />

Datenbank ausgeführt worden sein. Das bedeutet auch, dass es keinen<br />

unabgeschlossenen Replication DDL geben sollte, einschließlich Routen,<br />

Verbindungen und Subskriptionen. In der Dokumentation zu Replication<br />

Server finden Sie Anleitungen zur Überprüfung, ob Replication DDL noch<br />

nicht abgeschlossen ist.<br />

Zu „vollständig angewandt“ zählen Transaktionen in den ein- und<br />

ausgehenden Warteschlangen von Replication Server. Nach der Migration<br />

können die Daten in den Warteschlangen von Replication Server nicht mehr<br />

wiederhergestellt werden, deshalb müssen Sie absolut sichergehen, dass die<br />

Replikationsdaten vollständig angewandt wurden.<br />

❖ Primäre Replikatdatenbank verwenden<br />

1 Melden Sie sich am Replication Server an, und unterbinden Sie den<br />

Log-Transfer mit folgendem Befehl:<br />

suspend log transfer from Server.Datenbank<br />

2 Fahren Sie RepAgent in der Datenbank herunter, indem Sie sich am<br />

Adaptive Server anmelden und folgenden Befehl eingeben:<br />

use Datenbank<br />

sp_stop_rep_agent Datenbank<br />

❖ Replikatdatenbank verwenden<br />

Trennen Sie sämtliche DSI-Verbindungen mit dieser Datenbank, indem<br />

Sie sich am Replication Server anmelden und folgenden Befehl eingeben:<br />

suspend connection to Server.Datenbank<br />

❖ RSSD-Datenbank verwenden<br />

1 Wenn es sich bei der RSSD-Datenbank auch um eine primäre Datenbank<br />

oder eine Replikatdatenbank handelt, müssen Sie die oben genannten<br />

Aktionen je nach Bedarf durchführen.<br />

2 Versetzen Sie die RSSD-Datenbank in den Hibernation-Modus, indem Sie<br />

folgende Zeichenfolge eingeben:<br />

sysadmin hibernate_on, Replication Server<br />

132 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Bevor Sie mit der Migration beginnen, zeichnet sybmigrate die<br />

Replikationsinformationen in seinem Log auf. Aus diesem Log können<br />

die Informationen abgerufen werden, die zur Wiederherstellung der<br />

Replikationsinformationen bei den der Migration folgenden Aufgaben<br />

notwendig sind. Weitere Hinweise finden Sie unter „Aufgaben für replizierte<br />

Datenbanken nach der Migration“ auf Seite 133.<br />

Aufgaben für replizierte Datenbanken nach der Migration<br />

Stellen Sie nach der Migration die Replikationsinformationen in der<br />

Datenbank wieder her. Die dafür notwendigen Schritte können mit dem<br />

Bericht repl generiert werden.<br />

❖ Primärdatenbanken wiederherstellen<br />

1 Wenn für die originale Primärdatenbank „Warm Standby“ aktiviert ist,<br />

geben Sie Folgendes ein:<br />

sp_reptostandby Datenbankname, Standby-Status<br />

Der Standby-Status der Quelldatenbank wird von sybmigrate im<br />

Migrationslog gespeichert. Befolgen Sie die o. g. Schritte, um den<br />

Standby-Status wiederherzustellen:<br />

2 Setzen Sie die Generationsnummer durch Eingabe folgenden Befehls<br />

zurück:<br />

dbcc settrunc ("ltm", "gen_id", Gen_Nr)<br />

Die Generationsnummer der Quelldatenbank wird von sybmigrate im<br />

Migrationslog gespeichert. Verwenden Sie den o. g. Befehl, um die<br />

Generationsnummer wiederherzustellen:<br />

3 Sekundär-Logtrennstelle zurücksetzen<br />

dbcc settrunc ("ltm", "valid")<br />

4 Setzen Sie den Ort von Replication Server für diese Datenbank in der<br />

RSSD des Replication Server auf Null, zu dem diese Datenbank gehört.<br />

Geben Sie dazu folgende Zeichenfolge ein:<br />

rs_zeroltm Server, Datenbankname<br />

<strong>Dienstprogramme</strong> 133


Daten aus Replication Server in Adaptive Server 12.5 migrieren<br />

Replikatdatenbanken wiederherstellen<br />

5 Wenn diese Datenbank eine aktive Verbindung einer Warm Standby-<br />

Konfiguration ist, materialisieren Sie die Standby-Datenbank durch<br />

Sichern der Primärdatenbank und Laden der Sicherungen in den Standby<br />

neu. Anleitungen hierzu finden Sie in der Dokumentation zu Replication<br />

Server.<br />

6 Starten Sie RepAgent auf der Primärdatenbank wie folgt:<br />

sp_start_rep_agent Datenbankname<br />

7 Melden Sie sich am Replication Server an, und starten Sie den Log-<br />

Transfer neu:<br />

resume log transfer from Server.Datenbank<br />

Wenn es sich bei der Datenbank um eine Replikatdatenbank handelt, geben<br />

Sie die folgenden Befehle ein, um rs_lastcommit und rs_threads zu ändern,<br />

da sie von der logischen Seitengröße abhängen.<br />

Mit diesem Befehl ändern Sie rs_lastcommit:<br />

declare @pad8_size integer<br />

declare @alter_cmd varchar(200)<br />

select @pad8_size = (@@maxpagesize / 2)<br />

- (select sum(A.length) from<br />

syscolumns A, sysobjects B<br />

where A.id = B.id<br />

and B.name = 'rs_lastcommit')<br />

+ (select A.length from<br />

syscolumns A, sysobjects B<br />

where A.id = B.id<br />

and B.name = 'rs_lastcommit'<br />

and A.name = 'pad8')<br />

select @alter_cmd = "alter table rs_lastcommit "<br />

+ "modify pad8 char("<br />

+ convert(varchar(100), @pad8_size)<br />

+ ")"<br />

execute (@alter_cmd)<br />

go<br />

134 Adaptive Server Enterprise


Mit diesem Befehl ändern Sie rs_threads:<br />

declare @pad4_size integer<br />

declare @alter_cmd varchar(200)<br />

Kapitel 6 Migrations-Dienstprogramm<br />

select @pad4_size = (@@maxpagesize / 2)<br />

- (select sum(A.length) from<br />

syscolumns A, sysobjects B<br />

where A.id = B.id<br />

and B.name = 'rs_threads')<br />

+ (select A.length from<br />

syscolumns A, sysobjects B<br />

where A.id = B.id<br />

and B.name = 'rs_threads'<br />

and A.name = 'pad4')<br />

select @alter_cmd = "alter table rs_threads "<br />

+ "modify pad4 char("<br />

+ convert(varchar(100), @pad4_size)<br />

+ ")"<br />

execute (@alter_cmd)<br />

go<br />

RSSD-Datenbanken wiederherstellen<br />

Setzen Sie die RSSD fort, indem Sie sich am Replication Server anmelden und<br />

folgenden Befehl eingeben. Dabei steht Replication Server für den Namen des<br />

Replication Server, der angegeben wurde, als die RSSD-Datenbank vor der<br />

Migration in den Hibernations-Modus geschaltet wurde:<br />

Logs<br />

sysadmin hibernat_off Replication Server<br />

Ändern Sie die Tabellen rs_lastcommit und rs_threads wie unter<br />

„Replikatdatenbanken wiederherstellen“ auf Seite 134 beschrieben.<br />

Hinweis Starten Sie Ihr Replikationssystem erst dann neu, wenn Sie alle<br />

Replikationsinformationen der Datenbank wiederhergestellt haben.<br />

Im Log des Migrationstools stehen vor den Informationen zu den replizierten<br />

Objekten folgende Überschriften:<br />

=== Replication Information for Database 'pdb1' ===<br />

<strong>Dienstprogramme</strong> 135


Daten aus Replication Server in Adaptive Server 12.5 migrieren<br />

Im Folgenden sehen Sie eine Beispiellogdatei einer Primärdatenbank mit der<br />

Bezeichnung pdb1:<br />

sp_repostandby 'pdb1' is NONE.<br />

Wenn der Standby-Status der Datenbank auf NONE eingestellt ist, verwenden<br />

Sie den Standby-Status wie in den oben beschriebenen, der Migration<br />

folgenden Aufgaben.<br />

sp_config_rep_agent 'pdb1'<br />

Für sp_config_rep_agent brauchen Sie die aktuelle Konfiguration von<br />

RepAgent. Das Migrationstool stellt die Konfiguration von RepAgent<br />

automatisch wieder her. In diesem Log können Sie die Konfiguration<br />

von RepAgent anzeigen.<br />

Parameter name Default Config Value Run value<br />

priority 5 5 5<br />

fade timeout 30 30 30<br />

scan timeout 15 15 15<br />

retry timeout 60 60 60<br />

rs username n/a rs1_user rs1_user<br />

trace flags 0 8194 8194<br />

batch ltl true true true<br />

rs servername n/a rs1 rs1<br />

send buffer size 2k 2k 2k<br />

trace log file n/a n/a n/a<br />

connect database n/a pdb1 pdb1<br />

connect dataserver n/a pds1 pds1<br />

can batch size 1000 1000 1000<br />

security mechanism n/a n/a n/a<br />

msg integrity false false false<br />

unified login false false falses<br />

kip ltl errors false false false<br />

msg origin check false false false<br />

short ltl keywords false false false<br />

msg confidentiality false false false<br />

data limits filter mode stop stop stop<br />

msg replay detection false false false<br />

mutual authentication false false false<br />

send structured oqids false false false<br />

send warm standby xacts false false false<br />

msg out-of-sequence check false false false<br />

skip unsupported features false false false<br />

send maint xacts to replicate false false false<br />

(28 rows affected)<br />

136 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Dies ist eine Liste der explizit replizierten Tabellen. sybmigrate stellt den<br />

Replikationsstatus für explizit replizierte Tabellen automatisch wieder her.<br />

Sie können den Replikationsstatus der explizit replizierten Tabellen in diesem<br />

Teil des Logs anzeigen.<br />

sp_setreptable<br />

Name Repdef Mode<br />

------------------------------ ---------t1<br />

owner_off<br />

t2 owner_on<br />

(2 rows affected)<br />

Dies ist eine Liste der explizit replizierten gespeicherten Prozeduren.<br />

Das Migrationstool stellt den Replikationsstatus für explizit replizierte<br />

gespeicherte Prozeduren automatisch wieder her. Sie können den<br />

Replikationsstatus der explizit replizierten gespeicherten Prozeduren in<br />

diesem Teil des Logs anzeigen.<br />

sp_setrepproc<br />

Name Type Log Mode<br />

----------------------- ------------- ----------p1<br />

function log_sproc<br />

p2 function log_current<br />

p3 table log_sproc<br />

p4 table log_current<br />

(4 rows affected)<br />

Dies sind Informationen zur Sekundär-Logtrennseite. Bei den nach der<br />

Migration zu erledigenden Aufgaben brauchen Sie die Spalte generation_id.<br />

dbcc gettrunc<br />

secondary_trunc_page secondary_trunc_state dbrepstat generation_id<br />

database_id database_name ltl_version<br />

----------------------------------------------------------<br />

621 1 167 0<br />

6 pdb1 400<br />

(1 row affected)<br />

This appears to be a replicated primary database.<br />

Make sure the post processing steps for a replicated primary<br />

database are performed. Please consult the manuals for<br />

the steps that need to be performed.<br />

<strong>Dienstprogramme</strong> 137


Einschränkungen<br />

Es folgt ein Beispiellogeintrag für eine Replikatdatenbank.<br />

This appears to be a replicate database.<br />

If the pagesize is greater than 2K, make sure the<br />

post processing steps for a replicate database<br />

are performed. Please consult the manuals for the<br />

steps that need to be performed.<br />

Es folgt ein Beispiellogeintrag für eine RSSD-Datenbank.<br />

This appears to be a replication system database<br />

Make sure the post processing steps for a replication system<br />

database are performed. Please consult the manuals for<br />

the steps that need to be performed<br />

Einschränkungen<br />

Hohe Verfügbarkeit<br />

(High Availability)<br />

Es ist möglich, dass alle drei Logs für eine Datenbank existieren,<br />

da eine Datenbank die drei Kategorien auflisten kann.<br />

Hinweis Bei der Migration der Serverdaten setzt sybmigrate voraus,<br />

dass der Katalog des neuen Adaptive Server nur Standarddaten enthält.<br />

Die Standarddaten auf Windows-Rechnern unterscheiden sich von denen auf<br />

UNIX-Rechnern. Deshalb kommt es bei der Migration von UNIX- auf NT-<br />

Rechner zu Problemen. Um eine erfolgreiche Migration von einem UNIX- auf<br />

einen NT-Rechner durchzuführen, löschen Sie den Namen des XP Servers und<br />

das Login mon_user des NT-Rechners, auf den die Daten migriert werden.<br />

Die Datenmigration ist nicht möglich, wenn Sie die hohe Verfügbarkeit (High<br />

Availability) eingestellt haben. Sie müssen diese Einstellung zurücknehmen,<br />

bevor Sie mit der Datenbankmigration beginnen.<br />

❖ Hohe Verfügbarkeit vor Beginn der Datenbankmigration ausschalten<br />

1 Entkoppeln Sie den primären und sekundären Adaptive Server.<br />

2 Migrieren Sie die Daten des primären alten Adaptive Server<br />

und des sekundären alten Adaptive Server separat in den primären<br />

neuen Adaptive Server und den sekundären neuen Adaptive Server.<br />

138 Adaptive Server Enterprise


Weitere<br />

Einschränkungen<br />

Kapitel 6 Migrations-Dienstprogramm<br />

3 Stellen Sie auf dem neuen Adaptive Server die hohe Verfügbarkeit ein.<br />

Achtung! Damit die hohe Verfügbarkeit ausgeführt werden kann, müssen<br />

der primäre und sekundäre Adaptive Server mit der gleichen logischen<br />

Seitengröße konfiguriert sein.<br />

sybmigrate unterstützt keine Migration zwischen Servern mit<br />

unterschiedlichen Hauptversionsnummern. Das heißt, sowohl auf dem<br />

Quell- als auch auf dem Zielserver muss Adaptive Server 12.5.0.1 oder<br />

höher installiert sein.<br />

Um nachzusehen, ob Adaptive Server 12.5.0.1 oder höher installiert ist,<br />

führen Sie auf dem Server den Befehl @@version aus.<br />

sybmigrate bietet keine spezielle Verarbeitung für eine DTM/XA-<br />

Umgebung. Der Status der offenen Transaktionen und ausstehender<br />

vorbereiteter Transaktionen sollte berücksichtigt werden. Ist eine spezielle<br />

Verarbeitung erforderlich, muss diese manuell erfolgen.<br />

sybmigrate bietet keine zuverlässige Methode zur Ermittlung der<br />

Abhängigkeit verschiedener Objekte. sybmigrate legt anhand der<br />

Abhängigkeiten von Objekten zu anderen Objekten keine Reihenfolge<br />

fest, in der die Objekte migriert werden. Die Neuerstellung von Tabellen<br />

kann fehlschlagen, wenn Fremdschlüssel oder gemeinsame Schlüssel mit<br />

sp_foreignkey oder sp_commonkey definiert werden. Ansichten können<br />

von anderen Ansichten abhängig sein. Sie werden nicht neu erstellt,<br />

wenn die Ansicht, von der sie abhängen, noch nicht migriert wurde.<br />

Die Migration gespeicherter Prozeduren und Trigger kann fehlschlagen,<br />

wenn die Daten, von denen sie abhängen, noch nicht migriert wurden.<br />

Datenbankübergreifende Abhängigkeiten bedeuten, dass Sie die<br />

Migration zugehöriger Objekte koordinieren müssen. Existieren<br />

Abhängigkeiten innerhalb des ausgewählten Satzes, werden diese von<br />

sybmigrate berücksichtigt. Wenn die Abhängigkeiten jedoch außerhalb des<br />

ausgewählten Satzes bestehen, müssen Sie sybmigrate unter Umständen<br />

mehr als einmal bei der Migration ausführen. Deshalb müssen Sie<br />

möglicherweise einige Anlaufversuche unternehmen, um die<br />

Datenmigration zu einem erfolgreichen Abschluss zu bringen.<br />

Der Name der Quell- und Zieldatenbanken muss identisch sein.<br />

Das von ddlgen generierte SQL-Schema kann Objekte umfassen,<br />

die mit dem Namen des alten Adaptive Server qualifiziert werden<br />

müssen.<br />

<strong>Dienstprogramme</strong> 139


Problembehebung und Fehlermeldungen<br />

sybmigrate unterstützt kein Auditing der Migrationsaktivitäten.<br />

Wenn Sie kompilierte Objekte (Prozeduren, Ansichten, Regeln,<br />

Standardwerte) umbenennen, wird der Name des Objekts in syscomments<br />

nicht aktualisiert.<br />

Während der Migration fragt DDLGen das Objekt von syscomments mit<br />

dem alten Namen im Text ab. Dieser alte Name im Text macht sybmigrate<br />

bei der DDL-Migration Probleme.<br />

Problembehebung und Fehlermeldungen<br />

Objekte werden nicht migriert<br />

Beginn der Datenbankmigration<br />

In diesem Abschnitt werden allgemeine Fehler und deren Behebung sowie<br />

die verschiedenen Fehlermeldungen und deren Bedeutungen beschrieben.<br />

Beim ersten Versuch werden Objekte oft nicht migriert. sybmigrate wiederholt<br />

alle fehlgeschlagenen Migrationsversuche automatisch. Wenn Sie jedoch<br />

versuchen, ein Objekt zu migrieren, das von einem anderen nicht migrierten<br />

Objekt abhängt, wird die Migration auf jeden Fall fehlschlagen.<br />

Um zu verhindern, dass Objekte nicht migriert werden, überprüfen Sie die<br />

Abhängigkeiten der Objekte, die Sie für die Migration vorsehen. So können Sie<br />

z. B. keinen Trigger migrieren, wenn die Tabelle, für die der Trigger definiert<br />

ist, nicht auch migriert wird. Analog dazu können auch Ansichten nicht<br />

migriert werden, die auf anderen Ansichten oder Tabellen erstellt wurden,<br />

wenn diese nicht auch migriert werden.<br />

Wenn Sie sich in der Setup-Phase des Migrationsprozesses befinden, müssen<br />

Sie entscheiden, ob Sie Serverdaten migrieren möchten oder nicht. Sie können<br />

die Option „Yes“, „No“ oder „Undecided“ wählen.<br />

140 Adaptive Server Enterprise


Kapitel 6 Migrations-Dienstprogramm<br />

Wenn Sie „Undecided“ wählen, können Sie den Migrationsprozess einrichten<br />

und zu einem späteren Zeitpunkt zurückkehren, an dem Sie die Migration<br />

wirklich durchführen möchten. Wenn Sie „Undecided“ wählen, können<br />

Sie die Datenbankmigration erst starten, wenn Sie angegeben haben,<br />

ob die Serverdaten migriert werden sollen.<br />

Wenn Sie in der Setup-Phase angeben, dass die Serverdaten nicht migriert<br />

werden sollen, können Sie nicht mit der Datenbankmigration beginnen.<br />

„Connection refused“ und „Unable to obtain connection to the<br />

server“<br />

Für das Auftreten dieser beiden Fehler kann es zwei Gründe geben.<br />

Wenn der alte oder der neue Adaptive Server nicht ausgeführt wird,<br />

kann sybmigrate keine Verbindung herstellen.<br />

Der Konfigurationsparameter number of user connections muss so<br />

eingestellt sein, dass auf beiden Servern (alter und neuer Adaptive Server)<br />

ausreichend Ressourcen zur Verfügung stehen.<br />

Der Zielserver ist vom Quellserver nicht erreichbar<br />

Die Interfaces-Datei wird zum Starten des alten Adaptive Server verwendet.<br />

Stellen Sie sicher, dass diese Datei über einen Eintrag verfügt, der den neuen<br />

Adaptive Server identifiziert.<br />

Überprüfen Sie, ob Sie mit Ihrem Login vom alten auf den neuen Adaptive<br />

Server zugreifen können.<br />

Wenn sybmigrate bei der Migration hängt<br />

Wenn sybmigrate beim Migrationsprozess hängt, prüfen Sie das Log<br />

sybmigrate in $SYBASE/$SYBASE_ASE/init/logs auf irgendwelche Fehler<br />

oder Ausnahmen.<br />

Überprüfen Sie auch die Logs Ihres Adaptive Server. Wenn die Adaptive<br />

Server-Logs über nicht mehr ausreichend Speicher in der Datenbank<br />

verfügen, erhöhen Sie die Datenbankgröße, und installieren Sie die<br />

gespeicherte Prozedur sp_threasholdaction, um dump tran auszuführen,<br />

wenn das Log voll ist.<br />

<strong>Dienstprogramme</strong> 141


Problembehebung und Fehlermeldungen<br />

Zwei Datenbanken zusammenführen<br />

Um zwei Datenbanken auf dem alten Adaptive Server in eine Datenbank auf<br />

dem neuen Adaptive Server zusammenzuführen, gehen Sie wie folgt vor.<br />

❖ Zwei Datenbanken zusammenführen<br />

1 Richten Sie die erste Datenbank ein, und migrieren Sie diese.<br />

2 Nachdem Sie die erste Datenbank migriert haben, ändern Sie den Namen<br />

der Zieldatenbank in den Namen der zweiten Quelldatenbank.<br />

3 Richten Sie die zweite Datenbank ein, und migrieren Sie diese.<br />

Hinweis Sie können die Datenbankdaten der zweiten Datenbank nicht<br />

migrieren, wenn die Benutzer, Rollen und anderen Datenbankdaten bereits<br />

auf der Zieldatenbank existieren.<br />

Bereinigen von Fehlern nach der Migration<br />

Datenbank erneut migrieren<br />

Wenn sybmigrate unerwartet fehlschlägt, bereinigen Sie den alten und neuen<br />

Adaptive Server, und führen Sie die Migration erneut durch. Es gibt einige<br />

Aktionen, die Sie auf dem alten und dem neuen Adaptive Server ausführen<br />

müssen.<br />

Auf dem alten Adaptive Server:<br />

Löschen Sie die temporären Arbeitsdatenbanken mtpdb$%.<br />

Löschen Sie die Repository-Datenbank sybmigratedb.<br />

Löschen Sie alle Fremdserver mtrs$%.<br />

Auf dem neuen Adaptive Server:<br />

Wenn Serverdaten migriert wurden, bauen Sie den Adaptive Server mit<br />

srvbuild oder syconfig neu auf.<br />

Erstellen Sie die Zieldatenbanken neu.<br />

Um eine Datenbank erneut zu migrieren, gehen Sie wie folgt vor:<br />

1 Starten Sie sybmigrate.<br />

142 Adaptive Server Enterprise


Einzelne Objekte neu erstellen<br />

Verbindung fehlgeschlagen<br />

Kapitel 6 Migrations-Dienstprogramm<br />

2 Klicken Sie in der Setup-Sitzung im Fenster „Setup Paths“ mit der rechten<br />

Maustaste auf den Migrationspfad, den Sie erneut ausführen möchten.<br />

3 Wählen Sie im Popup-Menü die Option „Delete Migration Path“.<br />

4 Bereinigen oder entfernen Sie die migrierten Daten und Objekte auf<br />

der Zieldatenbank, oder löschen Sie die Zieldatenbank und erstellen Sie<br />

sie neu.<br />

5 Starten Sie sybmigrate erneut, und führen Sie das Tool im Setup-<br />

Modus aus.<br />

So erstellen Sie ein Objekte neu:<br />

1 Löschen Sie im neuen Adaptive Server das Objekt, das Sie neu erstellen<br />

möchten.<br />

2 Starten Sie sybmigrate in der Migrationssitzung, und öffnen Sie das<br />

Fenster „Migrate Object Selection“. Markieren Sie das Objekt, das Sie<br />

neu erstellen möchten, und klicken Sie auf die rechte Maustaste.<br />

3 Wählen Sie vom Popup-Menü „Reset Object to Initial status“.<br />

4 Schließen Sie den Migrationsprozess ab.<br />

Wenn Sie eine Fehlermeldung erhalten, dass keine Verbindung hergestellt<br />

werden konnte, obwohl alter und neuer Adaptive Server ausgeführt werden,<br />

verwenden Sie möglicherweise den falschen Zeichensatz. Wenn Sie sybmigrate<br />

nutzen, müssen Sie den Standarddatensatz verwenden. Führen Sie sybmigrate<br />

mit der Option -J Zeichensatz aus, um den Zeichensatz zu ändern.<br />

„Insufficient memory in JVM shared class“<br />

Wenn dieser Fehler im Serverlog angezeigt wird, müssen Sie den<br />

Konfigurationsparameter size of shared class heap auf einen höheren<br />

Wert einstellen.<br />

01:00000:00036:2002/01/28 14:17:05.63 server Java VM<br />

Host: Memory allocation request failed because of<br />

<strong>Dienstprogramme</strong> 143


Problembehebung und Fehlermeldungen<br />

insufficient memory in Jvm Shared Class.<br />

„There is not enough memory in the procedure cache“<br />

java.lang-Fehler<br />

Wenn bei der Migration von Indizes die Fehlermeldung „there is not<br />

enough memory in the procedure cache“ angezeigt wird, erhöhen<br />

Sie mithilfe von sp_configure procedure cache size den Prozedurcache.<br />

Wird die Meldung<br />

java.lang.NoClassDefFoundError:com/sybasejdbcx/Sybdriver<br />

angezeigt, wenn Sie sich mit Adaptive Server verbinden, müssen Sie<br />

sicherstellen, dass im Verzeichnis $SYBASE ($SYBASE/jConnect-5_5)<br />

JConnect 5.5 installiert ist.<br />

144 Adaptive Server Enterprise


KAPITEL 7 Adaptive Server Plug-In<br />

installieren<br />

Einführung<br />

Dieses Kapitel beschreibt das Adaptive Server Enterprise Plug-In und<br />

behandelt außerdem folgende Themen:<br />

Einsatz der Monitor Client-GUI als Teil von Adaptive Server<br />

Plug-In und als eigenständige Anwendung<br />

Verwendung der C++-Version von Adaptive Server Plug-In<br />

Thema Seite<br />

Einführung 145<br />

Funktionsunterschiede zwischen den Versionen im Vergleich 146<br />

Auf die Monitor Client-GUI zugreifen 148<br />

Das Adaptive Server Plug-In ist mit dem <strong>Sybase</strong> Central-Toolkit<br />

entwickelt worden. Es wird als Plug-In in einem Anzeigeprogramm<br />

ausgeführt, in das Sie gleichzeitig mehrere Plug-Ins laden können. Das<br />

Adaptive Server Plug-In, das auf der C++-Version von <strong>Sybase</strong> Central<br />

basiert und nur unter Windows NT, Windows 2000 und Windows 98 läuft,<br />

wird nicht mehr hergestellt. Es wird durch das Plug-In für Adaptive Server<br />

Version 12.5 ersetzt, das auf Grundlage des <strong>Sybase</strong> Central Java Edition-<br />

Toolkit entwickelt wurde und auf allen Plattformen läuft.<br />

Ausführliche Informationen zum Gebrauch der Funktionen des Plug-Ins<br />

finden Sie in der Online-Hilfe für <strong>Sybase</strong> Central.<br />

<strong>Dienstprogramme</strong> 145


Funktionsunterschiede zwischen den Versionen im Vergleich<br />

Lieferung des Adaptive Server Plug-Ins<br />

Adaptive Server Version 12.5 enthält zwei Versionen des Adaptive Server<br />

Plug-Ins:<br />

Das Java Adaptive Server Plug-In auf Basis des <strong>Sybase</strong> Central Java<br />

Edition Framework – auf allen Server-Installations-CDs und auf der PC-<br />

Client-Installations-CD enthalten.<br />

Das C++ Adaptive Server Plug-In auf Basis von <strong>Sybase</strong> Central C++<br />

Version – nur auf der PC-Client-Installations-CD enthalten. Um auf die<br />

C++-Version zugreifen zu können, müssen Sie sie mit der PC-Client-<br />

Installations-CD auf einer Windows-Plattform installieren.<br />

Funktionsunterschiede zwischen den Versionen im<br />

Vergleich<br />

Die Funktionalität der Java und C++ Plug-Ins unterscheidet sich in mehreren<br />

Hinsichten . Die Java-Edition sollte zur Ausführung administrativer Aufgaben<br />

in Adaptive Server 12.5 benutzt werden. Die C++-Version des Plug-Ins wurde<br />

nur in Version 12.5 integriert, um Zugriff auf die Monitor Client-GUI zu<br />

gewähren.<br />

Das Java Plug-In bietet Unterstützung für alle Leistungsmerkmale von<br />

Adaptive Server 12.5.x, einschl. EJB Server, größere Seitengrößen, größere<br />

Spaltenlängen, Unicode-Datentypen und den neuen Adaptive Server<br />

Replicator. Die C++-Version des Plug-Ins, die im Lieferumfang von Adaptive<br />

Server 12.5 enthalten ist, enthält keine dieser funktionalen Verbesserungen.<br />

Einige der Funktionen in der C++-Version des Plug-Ins sind derzeit nicht in der<br />

Java-Version vorhanden.<br />

146 Adaptive Server Enterprise


Kapitel 7 Adaptive Server Plug-In installieren<br />

Tabelle 7-1 zeigt einen Vergleich der Hauptunterschiede zwischen der C++-<br />

und der Java-Edition des Adaptive Server Plug-Ins.<br />

Funktion<br />

Tabelle 7-1: Funktionsvergleich<br />

C++ Java<br />

Läuft auf allen Plattformen Nein – läuft nur auf Windows-<br />

Plattformen.<br />

Ja<br />

Kann lokalen Server starten Ja – kann eine Adaptive Server-<br />

Installation auf dem lokalen<br />

Rechner starten.<br />

Nein<br />

SQL Monitor Client-Unterstützung Ja Nein<br />

Client Library-Schnittstelle zu Servern Ja – die Edition C++ verwendet<br />

Client-Library und die Java-<br />

Edition benutzt jConnect. Daher<br />

sind beispielsweise syntaktische<br />

Interface-Analysen und<br />

Verzeichnisdienste bei der Java-<br />

Edition nicht ‘nativ’ und zeigen<br />

ein anderes Verhalten als bei der<br />

C++-Edition.<br />

Nein – Der Interface-Parser der<br />

aktuellen Java-Version unterstützt<br />

nur einen Teil der gesamten<br />

Interfaces-Dateisyntax (verwendet<br />

beispielsweise das TLI-Format auf<br />

allen UNIX-Plattformen).<br />

JConnect-Schnittstelle zu Servern Nein Ja<br />

Modusunabhängige Dialoge Nein Ja<br />

Sortierung auf Client-Seite Nein – Sortierung findet auf Ja – führt Sortierungen auf dem<br />

Server-Seite statt.<br />

Client durch und erreicht höhere<br />

Leistung.<br />

SQL-Ablaufprotokoll Ja In Planung<br />

Bearbeiten von gespeicherten Prozeduren<br />

und Aktualisieren von gespeicherten<br />

Prozedurdefinitionen<br />

Ja In Planung<br />

DDLGen Nein Ja<br />

Unterstützung für Funktionen der<br />

Version 12.5.0.1: große Spalten,<br />

mehrere Seitengrößen, Unicode-<br />

Datentypen, EJB Server, ASE Replicator<br />

Nein Ja<br />

Unterstützung von Proxy-Tabellen Ja Ja – verbesserte Funktionen zur<br />

Unterstützung von Proxy-Tabellen<br />

bei Version 12.5.0.1 und höheren<br />

Versionen.<br />

Login mit LDAP-Verzeichnisdiensten Nein Ja – ab Version 12.5.0.1 und<br />

höheren Versionen.<br />

<strong>Dienstprogramme</strong> 147


Auf die Monitor Client-GUI zugreifen<br />

Auf die Monitor Client-GUI zugreifen<br />

Sie können die Monitor Client-GUI-Anwendung vom „Monitors“-Ordner der<br />

C++-Version des Adaptive Server Plug-Ins aufrufen. Diese Anwendung ist nur<br />

auf Windows-Plattformen verfügbar. Die Java-Edition des Adaptive Server<br />

Plug-Ins enthält weder den „Monitors“-Ordner noch die Monitor Client-GUI-<br />

Anwendung, die in der C++-Version vorhanden sind. Wenn Sie die Monitor<br />

Client-GUI zusammen mit einer Adaptive Server 12.5-Installation benutzen<br />

möchten, müssen Sie die C++-Version des Plug-Ins verwenden, die im<br />

Lieferumfang der Adaptive Server Version 12.5 enthalten ist.<br />

Es ist nicht beabsichtigt, Monitor Client in die Java-Edition des Adaptive<br />

Server Plug-Ins zu integrieren.<br />

Hinweis Die C++-Version des Adaptive Server Plug-Ins, die im Lieferumfang<br />

früherer Versionen als Adaptive Server 12.5 enthalten war, funktioniert mit<br />

einer Adaptive Server 12.5-Installation. Jedoch kann die Monitor Client-GUI<br />

in diesen Versionen nicht auf Adaptive Server 12.5 Monitor Server zugreifen.<br />

Wenn Sie die Monitor Client-GUI zusammen mit einer Adaptive Server 12.5-<br />

Installation und Monitor Server benutzen möchten, müssen Sie die C++-<br />

Version des Plug-Ins verwenden, die im Lieferumfang der Adaptive Server<br />

Version 12.5 enthalten ist.<br />

Monitor Client-GUI als eigenständige Anwendung ausführen<br />

Sie können die Monitor Client-GUI auch als eigenständige Java-Anwendung<br />

ausführen. Dies ist nur auf Windows-Plattformen möglich. Befolgen<br />

Sie hierzu die unten angegebenen Anweisungen. Die Erstellung einer<br />

Stapelverarbeitungsdatei für diese Schritte kann sinnvoll sein.<br />

❖ Monitor Client-GUI als eigenständige Java-Anwendung ausführen<br />

In Ihrem System muss eine Kopie von Java Runtime Environment (JRE)<br />

Version 1.1.8 installiert sein.<br />

Folgende Monitor Client-GUI-Dateien müssen in Ihrem System<br />

installiert sein:<br />

Mclib.dll<br />

Mchelp.dll<br />

3pclass.zip<br />

monclass.zip<br />

148 Adaptive Server Enterprise


Kapitel 7 Adaptive Server Plug-In installieren<br />

Die Adaptive Server-Installationen und Monitor Server müssen Einträge<br />

in Ihrer lokalen sql.ini-Datei haben.<br />

Für jede Adaptive Server-Installation, die Sie überwachen möchten,<br />

muss eine Monitor Server-Installation ausgeführt werden.<br />

Von der Befehlszeile oder innerhalb einer Stapelverarbeitungsdatei:<br />

1 Setzen Sie JAVA_HOME auf das JRE 1.1.8-Verzeichnis.<br />

2 Setzen Sie PATH auf %JAVA_HOME%\bin;%PATH%.<br />

3 Ihr Klassenpfad CLASSPATH muss folgende Dateien enthalten:<br />

set CLASSPATH=DRIVENAME:PATHNAME\monclass.zip;:\<br />

3pclass.zip;%JAVA_HOME%\lib\rt.jar<br />

Dabei gilt:<br />

DRIVENAME ist der Laufwerksbuchstabe des Laufwerks, in dem Ihre<br />

Dateien installiert sind.<br />

PATHNAME ist das Verzeichnis, in dem die Dateien gespeichert sind.<br />

4 Führen Sie die Monitor Client-Anwendung in der Java Virtual Machine<br />

aus, indem Sie folgenden Befehl eingeben:<br />

jre sybase.monclt.mcgui.procact.ProcActApp SQL_SERVER_NAME 12.5<br />

MS_SERVER_NAME sa "" en 0 scssen.hlp<br />

Dabei gilt:<br />

SQL_SERVER_NAME ist der Name der Adaptive Server-Installation,<br />

die Sie in Ihrer sql.ini-Datei überwachen möchten.<br />

MS_SERVER_NAME ist der Name der Monitor Server-Installation<br />

für diese Adaptive Server-Installation in Ihrer sql.ini-Datei.<br />

5 Über die Optionen im Monitor Client-Menü „File“ können Sie die<br />

Überwachungswerte auswählen, die Sie anzeigen möchten.<br />

<strong>Dienstprogramme</strong> 149


Auf die Monitor Client-GUI zugreifen<br />

150 Adaptive Server Enterprise


KAPITEL 8 Übersicht über die<br />

Dienstprogrammbefehle<br />

In diesem Kapitel werden Adaptive Server-Dienstprogrammbefehle<br />

zusammenfassend behandelt.<br />

Thema Seite<br />

backupserver 158<br />

bcp 164<br />

buildmaster 177<br />

certauth 177<br />

certpk12 180<br />

certreq 183<br />

charset 186<br />

cobpre 187<br />

cpre 187<br />

dataserver 188<br />

dataxtr 195<br />

ddlgen 195<br />

defncopy 210<br />

dscp 217<br />

dsedit 218<br />

extractjava 219<br />

installjava 222<br />

isql 227<br />

langinstall 237<br />

optdiag 240<br />

pwdcrypt 247<br />

showserver 248<br />

sqldbgr 249<br />

sqlloc 255<br />

sqllocres 257<br />

sqlsrvr 259<br />

sqlupgrade 267<br />

<strong>Dienstprogramme</strong> 151


Erste Orientierung<br />

Erste Orientierung<br />

Thema Seite<br />

sqlupgraderes 268<br />

srvbuild 269<br />

srvbuildres 270<br />

startserver 271<br />

xpserver 278<br />

UNIX Sie geben einen Dienstprogrammbefehl in einer UNIX-Shell an der<br />

System-Eingabeaufforderung ein.<br />

Windows NT<br />

Wenn ein Dienstprogramm in der Programmgruppe „<strong>Sybase</strong>“ als<br />

Programmsymbol dargestellt ist, können Sie es starten, indem Sie auf<br />

das Symbol doppelklicken.<br />

Wenn für ein Dienstprogramm in der Programmgruppe kein<br />

Programmsymbol vorhanden ist, geben Sie den Dienstprogrammbefehl<br />

an der Windows- oder Windows NT-Eingabeaufforderung ein, um das<br />

Dienstprogramm zu starten.<br />

Setzen Sie Zeichen mit spezieller Bedeutung für die Shell (die Eingabeaufforderung<br />

in Windows NT), wie den Rückstrich (\), das Sternchen (*), den<br />

Schrägstrich (/) und Leerstellen, in Anführungszeichen. Sie können einigen<br />

Sonderzeichen einen Rückstrich (\) als „Escape-Zeichen“ voransetzen.<br />

Dadurch wird die Shell (Eingabeaufforderung) gehindert, die Sonderzeichen<br />

zu interpretieren.<br />

Tabelle 8-1 beschreibt die <strong>Dienstprogramme</strong>, die für Adaptive Server zur<br />

Verfügung stehen.<br />

Hinweis Die in Tabelle 8-1 beschriebenen <strong>Dienstprogramme</strong> erlauben es<br />

Ihnen möglicherweise, einen -P-Parameter zu verwenden, um Ihr Kennwort<br />

einzugeben. Wenn Sicherheit ein Problem ist, verwenden Sie diesen Parameter<br />

nicht, um Ihr Kennwort anzugeben. Ein anderer Benutzer hat möglicherweise<br />

die Gelegenheit, es einzusehen. Stattdessen melden Sie sich wie gewohnt ohne<br />

-P-Parameter an und lassen sich vom Adaptive Server zur Eingabe Ihres<br />

Kennworts auffordern.<br />

152 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Dienstprogramm<br />

Tabelle 8-1: <strong>Dienstprogramme</strong><br />

Beschreibung<br />

backupserver Ausführbares Format des Backup Server-Programms.<br />

bcp Kopiert Zeilen in einer Datenbanktabelle aus einer oder in eine Betriebssystemdatei in<br />

einem vom Benutzer festgelegten Format.<br />

certauth Konvertiert eine Server-Zertifikatsanforderung in ein Zertifikat mit CA-Berechtigung<br />

(Certificate Authority).<br />

certpk12 Exportiert oder importiert eine PKCS#12-Datei.<br />

certreq Erstellt eine Server-Zertifikatsanforderung und den entsprechenden privaten Schlüssel auf<br />

zwei Arten.<br />

charset Lädt die Zeichensätze und Sortierreihenfolgen-Dateien.<br />

cobpre Precompiler für COBOL.<br />

cpre Precompiler für C.<br />

dataserver Adaptive Server-Programmdatei.<br />

dataxtr Daten-Migrationstool.<br />

ddlgen Generiert Datendefinitionssprache für Objekte der Server- und Datenbank-Ebene in ASE.<br />

defncopy Kopiert Definitionen für angegebene Ansichten, Regeln, Standardwerte, Trigger,<br />

Prozeduren oder Protokolle aus einer Datenbank in eine Betriebssystemdatei bzw. aus einer<br />

Betriebssystemdatei in eine Datenbank.<br />

dscp Ermöglicht es Ihnen, Servereinträge in der Interfaces-Datei von der Befehlszeile aus<br />

anzuzeigen und zu bearbeiten.<br />

dsedit Ermöglicht es Ihnen, Servereinträge in der Interfaces-Datei anzuzeigen und zu bearbeiten,<br />

indem Sie eine auf X11/Motif basierende grafische Benutzeroberfläche verwenden.<br />

extractjava Kopiert eine gespeicherte JAR-Datei von einer Adaptive Server-Installation in eine<br />

Clientdatei.<br />

installjava Installiert eine JAR-Datei von einer Clientdatei in eine Adaptive Server-Installation.<br />

isql Interactive SQL-Parser von Adaptive Server.<br />

langinstall Installiert eine neue Spracheinstellung auf Adaptive Server.<br />

optdiag Zeigt Optimiererstatistiken an oder lädt die aktualisierte Statistik in Systemtabellen.<br />

pwdcrypt Erstellt und schreibt ein verschlüsseltes LDAP-Kennwort in der Datei libtcl.cfg.<br />

showserver Zeigt Adaptive Server und Backup Server an, die derzeit auf dem lokalen Rechner<br />

ausgeführt werden.<br />

sqldbgr Fehlersuche in gespeicherten Prozeduren und Triggern.<br />

sqlloc Installiert und modifiziert Sprachen-, Zeichensatz- und Sortierreihenfolgen-Standardwerte<br />

für Adaptive Server im GUI-Modus.<br />

sqllocres Installiert und modifiziert Sprachen-, Zeichensatz- und Sortierreihenfolgen-Standardwerte<br />

für Adaptive Server im Befehlszeilenmodus.<br />

sqlsrvr Adaptive Server-Programmdatei.<br />

sqlupgrade Upgrade Ihrer derzeit installierten Adaptive Server-Version auf die neueste Version im<br />

GUI-Modus.<br />

<strong>Dienstprogramme</strong> 153


Erste Orientierung<br />

Dienstprogramm Beschreibung<br />

sqlupgraderes Upgrade Ihrer derzeit installierten Adaptive Server-Version auf die neueste Version im<br />

Befehlszeilenmodus.<br />

srvbuild Erstellt neue Adaptive Server, Backup Server, Monitor Server oder XP Server im<br />

GUI-Modus mit den Standard- oder benutzerdefinierten Werten für wichtige<br />

Konfigurationsattribute.<br />

srvbuildres Erstellt neue Adaptive Server, Backup Server, Monitor Server oder XP Server im<br />

Befehlszeilenmodus mit den Standard- oder benutzerdefinierten Werten für wichtige<br />

Konfigurationsattribute.<br />

sqlsrvr Adaptive Server-Programmdatei.<br />

startserver Startet eine Adaptive Server- oder Backup Server-Installation.<br />

srvmgr Startet Adaptive Server und Backup Server als Windows NT-Dienste.<br />

sybload Lädt <strong>Sybase</strong>-Produkte vom Datenträger und baut das <strong>Sybase</strong> Installationsverzeichnis von<br />

der Befehlszeile aus auf.<br />

sybmigrate Ermöglicht Ihnen die Migration von Datenbanken von einem Server, der logische 2-KByte-<br />

Seiten verwendet, auf einen Server, der logische 4-, 8- oder 16-KByte-Seiten verwendet.<br />

sybsetup Installiert und konfiguriert Adaptive Server von einem einzigen Standort mittels einer<br />

GUI-Schnittstelle.<br />

xpserver Startet XP Server manuell.<br />

*_dce- und *_r-<strong>Dienstprogramme</strong><br />

<strong>Sybase</strong> stattet Sie mit _dce-Versionen von manchen <strong>Dienstprogramme</strong>n aus,<br />

was im „Syntax“-Teil der einzelnen Dienstprogrammabschnitte angezeigt<br />

wird. Sie müssen die dce-Versionen der <strong>Dienstprogramme</strong> verwenden,<br />

falls Sie das Distributed Computing Environment-Verzeichnis (DCE) oder<br />

Sicherheitsdienste für <strong>Sybase</strong> Clientanwendungen für die IBM RS/6000-<br />

Plattform verwenden.<br />

<strong>Sybase</strong> stellt Ihnen zusätzlich die _r-Versionen von einigen <strong>Dienstprogramme</strong>n<br />

zur Verwendung mit Thread-Treibern zur Verfügung.<br />

Folgende <strong>Dienstprogramme</strong> in diesem Handbuch haben _dce- und _r-<br />

Versionen:<br />

bcp<br />

cobpre<br />

cpre<br />

defncopy<br />

dscp<br />

isql<br />

154 Adaptive Server Enterprise


Dienstprogramm-Überblick<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Dieser Abschnitt enthält einen Überblick über die <strong>Dienstprogramme</strong>,<br />

in folgende Kategorien unterteilt:<br />

„Installations- und Konfigurationsdienstprogramme“ auf Seite 155<br />

„<strong>Dienstprogramme</strong> für Sprachen, Zeichensätze und Sortierreihenfolgen“<br />

auf Seite 156<br />

„<strong>Dienstprogramme</strong> zum Starten von Servern“ auf Seite 156<br />

„Erstellungs- und Bearbeitungsdienstprogramme für Datenbanken“<br />

auf Seite 157<br />

„<strong>Dienstprogramme</strong> zum Sammeln von Informationen“ auf Seite 157<br />

Installations- und Konfigurationsdienstprogramme<br />

Verwenden Sie die folgenden <strong>Dienstprogramme</strong>, um Datenbanken zu<br />

installieren und zu konfigurieren:<br />

dataserver Damit können Sie einen neuen Adaptive Server installieren.<br />

dscp Ermöglicht es Ihnen, Servereinträge in der Interfaces-Datei von der<br />

Befehlszeile aus anzuzeigen und zu bearbeiten.<br />

dsedit Ermöglicht es Ihnen, auf UNIX-Plattformen Servereinträge in der Interfaces-<br />

Datei anzuzeigen und zu bearbeiten, indem Sie eine auf X11/Motif basierende<br />

grafische Benutzeroberfläche (GUI) verwenden.<br />

In Windows NT können Sie damit Netzwerkverbindungsinformationen in den<br />

Interfaces-Dateien erstellen und ändern.<br />

sqlupgrade Stellt auf UNIX-Plattformen Ihre derzeit installierte Adaptive Server-Version<br />

auf die neueste Version um, wobei eine auf X11/Motif basierende grafische<br />

Benutzeroberfläche (GUI) verwendet wird.<br />

sqlupgraderes Stellt auf UNIX-Plattformen Ihre derzeit installierte Adaptive Server-Version<br />

auf die neueste Version um, wobei Ressourcendateien verwendet werden.<br />

srvbuild Erstellt neue Adaptive Server, Backup Server, Monitor Server oder XP<br />

Server mit den Standard- oder benutzerdefinierten Werten für wichtige<br />

Konfigurationsattribute auf UNIX-Plattformen, wobei eine auf X11/Motif<br />

basierende grafische Benutzeroberfläche verwendet wird.<br />

<strong>Dienstprogramme</strong> 155


Dienstprogramm-Überblick<br />

srvbuildres Erstellt neue Adaptive Server, Backup Server, Monitor Server oder XP Server<br />

auf UNIX-Plattformen, wobei Ressourcendateien verwendet werden,<br />

um die Werte für die wichtigsten Konfigurationsattribute festzulegen.<br />

<strong>Dienstprogramme</strong> für Sprachen, Zeichensätze und<br />

Sortierreihenfolgen<br />

Verwenden Sie die folgenden <strong>Dienstprogramme</strong>, um Sprachen, Zeichensätze<br />

und Sortierreihenfolgen einzustellen:<br />

charset Lädt die Zeichensätze und Sortierreihenfolgen-Dateien in Windows NT.<br />

langinstall Installiert eine neue Spracheinstellung auf Adaptive Server.<br />

sqlloc Installiert und modifiziert Sprachen-, Zeichensatz- und Sortierreihenfolge-<br />

Standardwerte für Adaptive Server auf UNIX-Plattformen, wobei eine auf<br />

X11/Motif basierende grafische Benutzeroberfläche verwendet wird.<br />

sqllocres Installiert und modifiziert Sprachen-, Zeichensatz- und Sortierreihenfolge-<br />

Standardwerte für Adaptive Server auf UNIX-Plattformen, wobei eine<br />

Ressourcendatei verwendet wird.<br />

<strong>Dienstprogramme</strong> zum Starten von Servern<br />

Verwenden Sie die folgenden <strong>Dienstprogramme</strong>, um Server manuell zu starten:<br />

backupserver Startet das Backup Server-Programm. Verwenden Sie den startserver-Befehl an<br />

Stelle dieses Dienstprogramms, um Backup Server manuell zu starten. In NT<br />

können Sie statt dessen das srvmgr-Dienstprogramm verwenden, um Backup<br />

Server manuell zu starten.<br />

dataserver Startet das Adaptive Server-Programm. Verwenden Sie den startserver-Befehl<br />

an Stelle dieses Dienstprogramms, um Adaptive Server manuell zu starten.<br />

histserver Startet das Historical Server-Programm. Verwenden Sie den histserver-Befehl<br />

an Stelle dieses Dienstprogramms, um Historical Server manuell zu starten.<br />

monserver Startet das Monitor Server-Programm. Verwenden Sie den monserver-Befehl<br />

an Stelle dieses Dienstprogramms, um Monitor Server manuell zu starten.<br />

sqlsrvr Startet das Adaptive Server-Programm in Windows NT. Verwenden Sie das<br />

services manager-Dienstprogramm an Stelle dieses Dienstprogramms,<br />

um Adaptive Server manuell zu starten.<br />

156 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

srvmgr Startet, stoppt und unterbricht Adaptive Server, Backup Server und Adaptive<br />

Server Monitor als Windows NT-Dienste.<br />

startserver Startet eine Adaptive Server- und eine Backup Server-Installation auf UNIX-<br />

Plattformen.<br />

Erstellungs- und Bearbeitungsdienstprogramme für Datenbanken<br />

Verwenden Sie die folgenden <strong>Dienstprogramme</strong>, um Datenbanken zu erstellen<br />

und zu bearbeiten:<br />

bcp Kopiert eine Datenbanktabelle aus einer oder in eine Betriebssystemdatei in<br />

einem vom Benutzer festgelegten Format.<br />

defncopy Kopiert Definitionen für angegebene Ansichten, Regeln, Standardwerte,<br />

Trigger oder Prozeduren aus einer Datenbank in eine Betriebssystemdatei bzw.<br />

aus einer Betriebssystemdatei in eine Datenbank.<br />

extractjava Kopiert eine gespeicherte JAR-Datei und die darin enthaltenen Klassen von<br />

einer Adaptive Server-Installation in eine Clientdatei.<br />

installjava Installiert eine JAR-Datei von einer Clientdatei in eine Adaptive Server-<br />

Datenbank.<br />

isql Interactive SQL-Parser von Adaptive Server.<br />

optdiag Zeigt Optimiererstatistiken an oder lädt die aktualisierte Statistik in<br />

Systemtabellen.<br />

<strong>Dienstprogramme</strong> zum Sammeln von Informationen<br />

Verwenden Sie die folgenden <strong>Dienstprogramme</strong>, um Informationen abzurufen:<br />

showserver Zeigt die Adaptive Server- und Backup Server-Installationen auf UNIX-<br />

Plattformen an, die derzeit auf dem lokalen Rechner ausgeführt werden.<br />

wdllvers Liefert Informationen über die <strong>Sybase</strong>-DLLs (Dynamic Link Libraries)<br />

in Windows NT, die im Speicher geladen sind.<br />

<strong>Dienstprogramme</strong> 157


ackupserver<br />

backupserver<br />

Beschreibung Die Backup Server-Programmdatei unter $SYBASE/ASE-12_5/bin.<br />

Windows NT Das Dienstprogramm heißt bcksrvr.exe unter<br />

%SYBASE%\ASE-12_5\bin.<br />

Syntax backupserver<br />

[-C Server-Verbindungen]<br />

[-S b_Servername]<br />

[-I Interfaces-Datei]<br />

[-e Fehlerlogdatei]<br />

[-M sybmultbuf_Binärdaten]<br />

[-N Netzwerk-Verbindungen]<br />

[-T Trace-Wert]<br />

[-L <strong>Sybase</strong>_Sprachenname]<br />

[-J <strong>Sybase</strong>_Zeichensatzname]<br />

[-c Band-Konfigurationsdatei]<br />

[-D n]<br />

[-A Pfadname]<br />

[-P aktive_Dienst-Threads]<br />

[-V Ebenen-Nummer]<br />

[-p n]<br />

[-m max_gemeinsam_genutzter_Speicher]<br />

Oder<br />

backupserver -v<br />

Parameter -C Server-Verbindungen<br />

legt die Anzahl der Serververbindungen zu Backup Server fest. Backup<br />

Server benötigt:<br />

Zwei Verbindungen für jede Sicherungssitzung<br />

Eine Verbindung für jede Ladesitzung<br />

Eine Verbindung für Datenträgerwechselmeldungen<br />

Nehmen Sie als Maximum das Dreifache der Anzahl von erwarteten<br />

gleichzeitigen Sicherungs- und Ladesitzungen. Der Standardwert ist 30.<br />

-S b_Servername<br />

gibt den Namen der Backup Server-Installation an, die gestartet werden soll.<br />

Der Standard ist SYB_BACKUP. Dieser Eintrag muss den Namen eines<br />

Backup Servers in der Interfaces-Datei angeben.<br />

158 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-I Interfaces-Datei<br />

gibt den Namen und Position der Interfaces-Datei an, die durchsucht werden<br />

soll, wenn eine Verbindung mit Backup Server hergestellt wird. Wenn -I<br />

weggelassen wird, sucht backupserver nach einer Datei namens interfaces<br />

in dem Verzeichnis, auf das von Ihrer <strong>Sybase</strong>-Umgebungsvariablen<br />

gezeigt wird.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung der backupserver-<br />

Software an und beendet dann.<br />

-e Fehlerlogdatei<br />

gibt den Namen und die Position der Fehlerlogdatei der Backup Server-<br />

Installation an, die verwendet wird, um interne Open Server-Fehler,<br />

sybmultbuf-Fehler und Fehler, die Backup Server anhalten, sowie Fehler bei<br />

nicht verbundenen Sitzungen zu melden. Alle anderen Fehler werden an die<br />

notify-Destination gesendet, die in den dump database-, dump transaction-,<br />

load database- und load transaction-Befehlen angegeben wird.<br />

-M sybmultbuf_Binärdaten<br />

gibt den vollständigen Pfadnamen der sybmultbuf-Programmdatei an.<br />

Verwenden Sie diesen Parameter nur, wenn Sie Backup Server von einem<br />

anderen als dem bin-Verzeichnis im <strong>Sybase</strong>-Installationsverzeichnis starten,<br />

oder wenn Sie eine Diagnose-Version von sybmultbuf verwenden.<br />

-N Netzwerk-Verbindungen<br />

gibt die Anzahl von Netzwerkverbindungen (DBPROCESS) an, die die<br />

Master Backup Server-Installation herstellen kann. Der Standardwert ist 25.<br />

-T Trace-Wert<br />

interpretiert trace_value als Bitmaske (Basis-2 Zahl). Die 1 Bits in<br />

trace_value entsprechen den Open Server Trace-Flags, die einzuschalten<br />

sind. Wenn Sie mehr als einen -T-Parameter in der Befehlszeile angeben,<br />

hebt der letzte -T-Wert die Werte von früheren -T-Parametern auf.<br />

trace_value muss eine positive Ganzzahl sein.<br />

-L <strong>Sybase</strong>_Sprachenname<br />

gibt die Standardsprache von Backup Server an. Wenn dieser Parameter<br />

nicht angegeben wird, benutzt Backup Server die Sprachumgebungskonfiguration,<br />

die durch die Umgebungsvariablen LC_ALL oder LANG<br />

festgelegt wurde. Wenn diese Variablen nicht eingestellt sind, sucht Backup<br />

Server nach dem „default“-Eintrag in locales.dat.<br />

Hinweis Der -L-Parameter hebt nicht den Wert auf, der in der LANG-<br />

Umgebungsvariable eingestellt ist.<br />

<strong>Dienstprogramme</strong> 159


ackupserver<br />

-J <strong>Sybase</strong>_Zeichensatzname<br />

gibt den Standard-Zeichensatz von Backup Server an.<br />

-c Band-Konfigurationsdatei<br />

gibt Namen und Position der Band-Konfigurationsdatei an, die nach<br />

Banddevice-Konfigurationsinformation durchsucht wird, bevor ein dump<br />

database oder ein dump transaction durchgeführt wird. Wenn Sie -c nicht<br />

angeben, lautet der Standard-Pfadname für die Band-Konfigurationsdatei<br />

$SYBASE/backup_tape.cfg.<br />

-D n<br />

gibt die Bitmaske (Zahl auf Basis 10) der Diagnose-Optionen an, die in<br />

Backup Server verwendet werden.<br />

-A Pfadname<br />

legt den Pfadnamen zum Verzeichnis der dynamisch ladbaren Bibliothek der<br />

Archiv-API fest.<br />

-P aktive_Dienst-Threads<br />

ermöglicht es Ihnen, die Anzahl der Sicherungseinheiten während mehrerer<br />

Sicherungen/Wiederherstellungsvorgängen zu erhöhen (mit einem<br />

Maximum von 12286 Sicherungseinheiten pro einzelnem Vorgang).<br />

-V Ebenen-Nummer<br />

beschränkt die Meldungen, die an das Backup Server-Fehlerlog ausgegeben<br />

werden. Die Ebenen-Nummer-Variable bestimmt das Ausmaß der Fehler-<br />

Ausführlichkeit (-V, Verbosität) bei Backup Server:<br />

-V3 – zeigt nur Abschlussmeldungen für einen normalendump- oder load-<br />

Befehl sowie die folgenden Meldungstypen an:<br />

Fehlermeldungen von Backup Server und sybmultbuf<br />

Andere sybmultbuf-Meldungen<br />

Datenträgerwechsel-Meldungen<br />

Open Server-Meldungen<br />

Trace-Druckmeldungen<br />

Informative Meldungen von den System & Tape Auto Config-Modulen<br />

160 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-V2 – zeigt Folgendes an:<br />

Alle -V3-Meldungen sowie<br />

Meldungen zur Dateierstellung und zum Mounten von Datenträgern<br />

-V1 – zeigt Folgendes an:<br />

Alle -V2-Meldungen sowie<br />

Phasenmeldungen<br />

-V0 (Standardwert) – zeigt alle Meldungen an, einschließlich den<br />

Sicherungsfortschritt betreffende.<br />

Diese Beschränkung betrifft nicht Meldungen, die an den Client oder die<br />

Konsole entsprechend dem NOTIFY=-Parameter in einem dump- oder load-<br />

Befehl gesendet werden.<br />

Diese Option hat auch keine Auswirkungen auf die Protokollierung<br />

folgender Meldungstypen:<br />

Open Server-Meldungen<br />

Trace-Druckmeldungen von bs_traceprint<br />

sybmultbuf-Meldungen<br />

-p n<br />

bestimmt die TDS-Paketgröße in Byte, die der lokale Backup Server<br />

vom entfernten Backup Server während Netzwerk-Sicherungen anfordert.<br />

Die tatsächlich verwendete Paketgröße wird durch den -p-Parameterwert<br />

des entfernten Backup Servers limitiert. Wenn Sie -p nicht festlegen,<br />

ist der Standardwert 2048 Byte. Die Paketgröße sollte eine Ganzzahl<br />

größer oder gleich 256 sein.<br />

-m max_gemeinsam_genutzter_Speicher<br />

bestimmt den Maximalwert des gemeinsam genutzten Speichers in<br />

Megabyte, den Backup Server für alle dump- oder load-Sitzungen<br />

verwenden kann.<br />

Syntax Starten Sie Backup Server mit dem startserver-Befehl und nicht,<br />

indem Sie direkt das backupserver-Programm ausführen.<br />

Um Standardwerte in UNIX zu ändern, bearbeiten Sie die<br />

RUN_servername-Datei im <strong>Sybase</strong>-Installationsverzeichnis.<br />

Weitere Hinweise finden Sie unter startserver in diesem Handbuch.<br />

Um Standardwerte in Windows zu ändern, benutzen Sie Server<br />

Config, um die Befehlszeilenparameter von Backup Server zu ändern.<br />

In der Konfigurationsanleitung finden Sie weitere Hinweise.<br />

<strong>Dienstprogramme</strong> 161


ackupserver<br />

Stellen Sie sicher, dass die mit dem Sicherungsbefehl angegebenen<br />

Devicetreiber-Optionen korrekt sind. Backupserver überprüft keine<br />

Devicetreiber-Optionen, die Sie bei einem Sicherungsbefehl verwenden.<br />

Wenn Sie beispielsweise eine Option angeben, die Backupserver zum<br />

Rückspulen eines Bandes vor der Verwendung veranlasst, wird das Band<br />

immer an den Anfang zurückgespult, anstatt das Band vom Punkt der<br />

Sicherung zu lesen.<br />

Wenn Sie einen Backup Server-Namen ohne den -S-Parameter angeben<br />

und nicht die Umgebungsvariable DSLISTEN eingestellt haben,<br />

verwendet backupserver den Backup Server-Standardnamen<br />

SYB_BACKUP in UNIX.<br />

In Windows NT – bcksrvr verwendet den Backup Server-Standardnamen<br />

Server-Name_BS. Der Wert der Umgebungsvariablen DSLISTEN setzt<br />

diesen Standardwert außer Kraft. Der -S-Parameter setzt den Standardwert<br />

und den Wert in DSLISTEN außer Kraft.<br />

Soweit wie möglich, sollte der Backup Server und Adaptive Server, die<br />

ihre Datenbanken und Transaktionslogs direkt über diesen Backup Server<br />

sichern und wiederherstellen, dieselbe Interfaces-Datei (sql.ini in UNIX)<br />

benutzen. Die Interfaces-Datei, die der Backup Server verwendet, muss<br />

Einträge zu folgenden Komponenten enthalten:<br />

Backup Server<br />

Jeden anderen Backup Server, mit dem dieses Backup Server-System<br />

kommuniziert<br />

Trace-Flags sorgen dafür, dass Backup Server Informationen über seine<br />

Tätigkeiten ausgibt, um die Suche nach Fehlern im Backup Server-System<br />

zu ermöglichen. Weitere Hinweise über Trace-Flags finden Sie in der<br />

Dokumentation Open Server Server-Library/C Reference Manual.<br />

Backup Server unterstützt nicht den Gebrauch der Open<br />

Server-definierten SRV_TR-Symbole für -T.<br />

Wenn Backup Server die Verzeichnisse locales und charsets, die in den -L-<br />

und -J-Parametern angegeben wurden, nicht finden kann, oder wenn diese<br />

Parameter eine ungültige Sprach- und Zeichensatzkombination enthalten,<br />

gibt Backup Server eine Fehlermeldung aus und verwendet die<br />

Standardsprache und den Standardzeichensatz.<br />

162 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Backup Server kann zwischen Servern, die unterschiedliche logische<br />

Seitengrößen verwenden, keine Lade- oder Sicherungsvorgänge<br />

durchführen. Sie können beispielsweise eine Datenbanksicherung mit<br />

einer logischen Seitengröße von 4 KByte auf einen anderen Server mit<br />

der logischen Seitengröße von 4 KByte laden. Backup Server unterstützt<br />

jedoch nicht die Sicherung einer Datenbank mit einer logischen<br />

Seitengröße von 4 KByte in das anschließende Laden in eine<br />

Datenbank mit einer logischen Seitengröße von 16 KByte.<br />

Berechtigungen Jeder mit Ausführungsberechtigung auf die Binärdaten, der Lese/Schreib-<br />

Zugriff auf alle Dateien hat.<br />

Siehe auch <strong>Dienstprogramme</strong> startserver<br />

<strong>Dienstprogramme</strong> 163


cp<br />

bcp<br />

Beschreibung Kopiert eine Datenbanktabelle aus einer oder in eine Betriebssystemdatei<br />

in einem vom Benutzer festgelegten Format. bcp befindet sich unter<br />

$SYBASE/$SYBASE_OCS/bin.<br />

Windows NT Das Dienstprogramm heißt bcp.exe und befindet sich unter<br />

%SYBASE%\%SYBASE_OCS%\bin.<br />

Syntax bcp [[Datenbankname.]Eigentümer.]Tabellenname [:Scheibennummer] {in |<br />

out} Datendatei<br />

[-m max-Fehler]<br />

[-f Formatdatei]<br />

[-e Fehlerdatei]<br />

[-F erste_Zeile]<br />

[-L letzte_Zeile]<br />

[-b Anweisungsfolgengröße]<br />

[-n]<br />

[-c]<br />

[-t Feld-Abschlusszeichen]<br />

[-r Zeilen-Abschlusszeichen]<br />

-U Benutzername<br />

[-P Kennwort]<br />

[-I Interfaces-Datei]<br />

[-S Server]<br />

[-a Anzeige-Zeichensatz]<br />

[-z Sprache]<br />

[-A Paketgröße]<br />

[-J Client-Zeichensatz]<br />

[-T text_oder_image_Größe]<br />

[-E]<br />

[-g ID_Anfangswert]<br />

[-N]<br />

[-X]<br />

[-K Keytab-Datei]<br />

[-R entfernter_Hauptserver]<br />

[-V [Sicherheitsoptionen]]<br />

[-Z Sicherheitsmechanismus]<br />

[-Q]<br />

[-Y]<br />

Oder<br />

bcp -v<br />

Parameter Datenbankname<br />

ist ein wahlweiser Parameter, wenn sich die kopierte Tabelle in Ihrer<br />

Standard-Datenbank oder in master befindet. Ansonsten müssen Sie<br />

den Datenbanknamen angeben.<br />

164 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Eigentümer<br />

ist fakultativ, wenn Ihnen oder dem Datenbankeigentümer die Tabelle<br />

gehört, die kopiert wird. Wenn Sie keinen Eigentümer angeben, sucht bcp<br />

zuerst nach einer Tabelle dieses Namens, die Ihnen gehört, und dann nach<br />

einer, die dem Datenbankeigentümer gehört. Wenn die Tabelle einem<br />

anderen Benutzer gehört, müssen Sie den Namen des Eigentümers angeben,<br />

oder der Befehl schlägt fehl.<br />

Ansichtsname<br />

ist der Name der Ansicht, aus der Sie kopieren.<br />

Tabellenname<br />

ist der Name der Datenbanktabelle, die Sie kopieren wollen. Der<br />

Tabellenname darf kein reserviertes Wort der Transact-SQL-Sprache sein.<br />

Die Partitionsnummer Partition_Nummer ist in der Tabellenname-Tabelle<br />

nicht vorhanden.<br />

Scheibennummer<br />

ist die Nummer der Scheibe der zu kopierenden Datenbanktabelle.<br />

Partition_ID<br />

ist der Bezeichner der Partition, in die Sie kopieren.<br />

in | out<br />

ist die Richtung der Kopie. in bedeutet eine Kopie von einer Datei in<br />

die Datenbanktabelle; out bedeutet eine Kopie in eine Datei aus der<br />

Datenbanktabelle oder Ansicht.<br />

Datendatei<br />

ist der vollständige Pfadname einer Betriebssystemdatei. Der Pfadname<br />

darf 1 - 255 Zeichen lang sein.<br />

-m max-Fehler<br />

ist die zulässige Höchstzahl an nicht schwerwiegenden Fehlern, bevor bcp<br />

den Kopiervorgang abbricht. bcp verwirft jede Zeile, die das Programm<br />

nicht einfügen kann (wegen eines Datenkonvertierungsfehlers oder wegen<br />

eines Versuchs, einen Nullwert in eine Spalte einzufügen, die keine<br />

Nullwerte zulässt), wobei jede verworfene Zeile als Fehler gezählt wird.<br />

Wenn Sie diesen Parameter nicht angeben, verwendet bcp den<br />

Standardwert 10.<br />

<strong>Dienstprogramme</strong> 165


cp<br />

-f Formatdatei<br />

ist der vollständige Pfadname einer Datei mit gespeicherten Antworten,<br />

die bei der letzten Ausführung von bcp auf derselben Tabelle geschrieben<br />

wurden. Nachdem Sie die Formatfragen von bcp beantwortet haben, werden<br />

Sie gefragt, ob Sie die Antworten in einer Formatdatei speichern wollen.<br />

Die Erstellung der Formatdatei ist fakultativ. Der Standard-Dateiname ist<br />

bcp.fmt. Das bcp-Programm kann eine Formatdatei beim Kopieren von<br />

Daten als Informationsquelle benutzen. Sie ersparen sich dadurch die<br />

wiederholte Eingabe von Formatinformationen. Verwenden Sie den -f-<br />

Parameter nur, wenn Sie bereits eine Formatdatei erstellt haben, die Sie<br />

jetzt für Ihre Kopiervorgänge verwenden wollen. Wenn Sie diesen<br />

Parameter nicht angeben, werden Sie von bcp interaktiv nach<br />

Formatinformationen abgefragt.<br />

-e Fehlerdatei<br />

ist der vollständige Pfadname einer Fehlerdatei, in der bcp Zeilen speichert,<br />

die nicht von der Datei in die Datenbank übertragen werden konnten.<br />

Fehlermeldungen von bcp werden auf Ihrem Bildschirm angezeigt. bcp<br />

erstellt nur eine Fehlerdatei, wenn Sie diesen Parameter benutzen.<br />

-F erste_Zeile<br />

ist die Nummer der ersten Zeile, die von einer Eingabedatei kopiert werden<br />

soll (Standard ist die erste Zeile).<br />

Verwenden Sie die -F-Option nicht, um umfangreiche und komplizierte<br />

Kopiervorgänge durchzuführen, da dadurch bcp im Allgemeinen langsamer<br />

läuft. Statt dessen verwenden Sie -F bei ein-prozessigen Ad-hoc-<br />

Kopiervorgängen.<br />

-L letzte_Zeile<br />

ist die Nummer der letzten Zeile, die von einer Eingabedatei kopiert werden<br />

soll (Standard ist die letzte Zeile).<br />

166 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-b Anweisungsfolgengröße<br />

ist die Anzahl der Zeilen pro Anweisungsfolge der kopierten Daten<br />

(Standard ist, alle Zeilen in eine Anweisungsfolge zu kopieren). Die<br />

Anweisungsfolgefunktion gilt nur, wenn Sie mit dem Massenexport/-import<br />

Daten in eine Tabelle kopieren. Sie hat keine Wirkung, wenn Sie Daten<br />

aus einer Tabelle herauskopieren. Die kleinste Zahl, die bcp für<br />

Anweisungsfolgengröße annimmt, ist 1.<br />

Hinweis Das Einstellen der Anweisungsfolgengröße auf 1 bewirkt, dass<br />

der Adaptive Server einer Datenseite jeweils eine importierte Zeile zuweist.<br />

Diese Option gilt nur bei schnellem bcp und ist nur für das Auffinden von<br />

fehlerhaften Datenzeilen geeignet. Verwenden Sie -b1 mit Vorsicht. Dadurch<br />

wird jeder einzelnen Zeile eine neue Seite zugewiesen, was eine schlechte<br />

Platzausnutzung bedeutet.<br />

-n<br />

führt den Kopiervorgang durch, indem native (Betriebssystem-) Formate<br />

verwendet werden. Das Angeben des -n-Parameters bedeutet, dass bcp<br />

keine Eingabeaufforderung für die einzelnen Felder angibt. Dateien im<br />

Betriebssystem-Datenformat sind für den Benutzer nicht lesbar.<br />

Achtung! Verwenden Sie bcp im ursprünglichem Format nicht bei der Daten-<br />

Wiederherstellung oder um einen Notfall zu beheben. Verwenden Sie bcp<br />

im ursprünglichem Format nicht, um Daten zwischen unterschiedlichen<br />

Hardware-Plattformen, unterschiedlichen Betriebssystemen oder<br />

verschiedenen Versionen von Adaptive Server zu transportieren. Verwenden<br />

Sie keine Feldabschlusszeichen (-t) oder Zeilenabschlusszeichen (-r) mit bcp<br />

im ursprünglichen Format. Die Ergebnisse sind nicht vorhersehbar und die<br />

Daten könnten beschädigt werden. Das Verwenden von bcp im nativen<br />

Format kann unbrauchbare Dateien erstellen, die nicht in den Adaptive<br />

Server zurückgeladen werden können, und es ist möglicherweise unmöglich,<br />

diese Daten wiederherzustellen. Wenn Sie nicht in der Lage sind, bcp in<br />

Zeichenformat zurückzuverwandeln (weil zum Beispiel eine Tabelle gekürzt<br />

oder gelöscht wurde, eine Hardware-Beschädigung auftrat, eine Datenbank<br />

gelöscht wurde usw.), sind die Daten nicht wiederherstellbar.<br />

<strong>Dienstprogramme</strong> 167


cp<br />

-c<br />

führt den Kopiervorgang mit dem char-Datentyp als Standard-Speichertyp<br />

für alle Spalten in der Datendatei durch. Verwenden Sie dieses Format,<br />

wenn Daten auf verschiedenen Plattformen benutzt werden. Dieser<br />

Parameter fordert Sie nicht zur Eingabe in jedes Feld auf; er verwendet<br />

char als Standardspeichertyp, keinen Präfix, \t (Tabulator) als Standard-<br />

Feldabschlusszeichen und \n (Neue Zeile) als Standard-<br />

Zeilenabschlusszeichen.<br />

-t Feld-Abschlusszeichen<br />

legt das Standard-Feldabschlusszeichen fest.<br />

-r Zeilen-Abschlusszeichen<br />

legt das Standard-Zeilenabschlusszeichen fest.<br />

Achtung! Verwenden Sie nicht die -t- oder -r-Parameter mit bcp im<br />

ursprünglichen Format. Die Ergebnisse sind nicht vorhersehbar und die<br />

Daten könnten beschädigt werden.<br />

Wenn Sie Abschlusszeichen von der Befehlszeile mit dem -t- oder -r-<br />

Parameter, angeben, müssen Sie Escape-Zeichen bei Zeichen verwenden,<br />

die eine besondere Bedeutung für das UNIX-Betriebssystem (oder die<br />

Befehlseingabeaufforderung-Shell unter Windows NT) haben. Weitere<br />

Hinweise finden Sie bei den bcp-Beispielen. Entweder stellen Sie einen<br />

Rückstrich voran oder schließen das Zeichen in Anführungszeichen ein.<br />

Das ist nicht nötig, wenn bcp zur Eingabe auffordert (interaktiver Modus).<br />

-U Benutzername<br />

gibt einen Adaptive Server-Login-Namen an.<br />

-P Kennwort<br />

gibt ein Adaptive Server-Kennwort an. Wenn Sie -PKennwort, nicht<br />

angeben, fordert bcp zur Eingabe eines Kennworts auf. Sie können die<br />

-P-Option weglassen, wenn Ihr Kennwort NULL ist.<br />

-I Interfaces-Datei<br />

gibt den Namen und Position der Interfaces-Datei an, die durchsucht werden<br />

soll, wenn eine Verbindung mit Adaptive Server hergestellt wird. Wenn<br />

Sie -I, nicht angeben, sucht bcp nach einer Interfaces-Datei (sql.ini in<br />

Windows NT), die sich unter dem Verzeichnis befindet, das durch die<br />

SYBASE-Umgebungsvariable (ini-Verzeichnis in Windows NT)<br />

definiert ist.<br />

168 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-S Server<br />

gibt den Namen der Adaptive Server-Installation an, mit dem die<br />

Verbindung hergestellt werden soll. Wenn Sie -S ohne Argument<br />

angeben, verwendet bcp die Installation, die durch die DSQUERY-<br />

Umgebungsvariable festgelegt wird.<br />

-a Anzeige-Zeichensatz<br />

ermöglicht es Ihnen bcp von einem Terminal auszuführen, auf dem sich der<br />

Zeichensatz von dem des Rechners unterscheidet, auf dem bcp läuft. -a in<br />

Verbindung mit -J gibt die Zeichensatzkonvertierungs-Datei (.xlt-Datei) an,<br />

die für die Konvertierung erforderlich ist. Verwenden Sie -a ohne -J nur<br />

dann, wenn der Client-Zeichensatz mit dem Standardzeichensatz<br />

identisch ist.<br />

Die folgende Fehlermeldung wird angezeigt, wenn die Zeichenübersetzungsdateien,<br />

die mit dem -a-Parameter genannt werden, fehlen, oder wenn<br />

Sie die Namen falsch eingegeben haben:<br />

Fehler beim Versuch, die Größe eines<br />

Konvertierungstabellenpaars zu bestimmen.:'stat'-<br />

Dienstprogramm fehlgeschlagen.<br />

-z Sprache<br />

ist der offizielle Name einer Alternativsprache, die der Server zur Anzeige<br />

von bcp-Eingabeaufforderungen und Meldungen verwendet. Ohne die -z-<br />

Option verwendet bcp die Standardsprache des Servers.<br />

Sie können einem Adaptive Server-System während der Installation oder<br />

später entweder mit dem langinstall-Dienstprogramm (bzw. langinst in<br />

Windows NT) oder der gespeicherten Prozedur sp_addlanguage andere<br />

Sprachen hinzufügen.<br />

Die folgende Fehlermeldung wird angezeigt, wenn eine inkorrekte oder<br />

nicht erkannte Sprache mit dem -z-Parameter angeführt wird:<br />

Nicht erkanntes Sprachlokalisierungsobjekt. Standardwert 'iso_1' wird<br />

verwendet.Kopiervorgang beginnt...<br />

=> Warnung.<br />

-v<br />

zeigt die Versionsnummer und Copyright-Meldung für bcp an und kehrt<br />

zum Betriebssystem zurück.<br />

<strong>Dienstprogramme</strong> 169


cp<br />

-A Paketgröße<br />

gibt die Netzwerk-Paketgröße an, die in dieser bcp-Sitzung verwendet<br />

werden soll. Beispiel:<br />

bcp pubs2..titles out table_out -A 2048<br />

Mit dieser Eingabe wird die Paketgröße für diese bcp-Sitzung auf 2048 Byte<br />

gesetzt. Paketgröße muss zwischen den Werten der Konfigurationsparameter<br />

default network packet size und maximum network packet size liegen und<br />

ein Vielfaches von 512 sein.<br />

Verwenden Sie Netzwerk-Paketgrößen, die größer als der Standard sind,<br />

um die Performance von umfangreichen Massenexporten/-importen zu<br />

verbessern.<br />

-J Client-Zeichensatz<br />

gibt den Zeichensatz an, der auf dem Client verwendet wird. bcp verwendet<br />

einen Filter, um die Eingabe zwischen Clientzeichensatz und dem Adaptive<br />

Server-Zeichensatz zu konvertieren.<br />

-J Client-Zeichensatz verlangt, dass Adaptive Server in und von Client-<br />

Zeichensatz, dem auf dem Client verwendeten Zeichensatz, konvertiert.<br />

-J ohne Argument stellt die Zeichensatzkonvertierung auf NULL. Es findet<br />

keine Konvertierung statt. Verwenden Sie diese Einstellung, wenn Client<br />

und Server denselben Zeichensatz verwenden.<br />

Das Weglassen von -J stellt den Zeichensatz auf einen Standardwert der<br />

Plattform ein, der nicht unbedingt der Zeichensatz ist, den der Client<br />

verwendet. Tabelle 8-2 listet die Plattform-Standardwerte auf.<br />

Tabelle 8-2: Standard-Zeichensätze für verschiedene Plattformen<br />

Plattform Standard-Zeichensatz<br />

Sun Solaris, Digital UNIX, NCR, RS/6000 iso_1<br />

HP-UX roman8<br />

OS/2, Novell NetWare 386 cp850<br />

Macintosh mac<br />

Die folgende Fehlermeldung wird angezeigt, wenn eine inkorrekter oder<br />

nicht erkannter Zeichensatz mit dem -J-Parameter angeführt wird:<br />

Nicht erkanntes Sprachlokalisierungsobjekt. Standardwert 'iso_1' wird<br />

verwendet.Kopiervorgang beginnt...<br />

=> Warnung.<br />

Weitere Hinweise über Zeichensätze und zugeordnete Optionen finden Sie<br />

in der Dokumentation Systemadministration für Adaptive Server Enterprise.<br />

170 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-T text_oder_image_Größe<br />

ermöglicht es Ihnen, die maximale Länge in Byte von text- oder image-<br />

Daten anzugeben, die Adaptive Server versendet. Standard ist 32 KByte.<br />

Wenn ein text- oder ein image-Feld größer als der Wert von -T oder der<br />

Standardwert ist, sendet bcp den Rest nicht.<br />

-E<br />

gibt explizit den Wert der Identity-Spalte einer Tabelle an.<br />

Wenn Sie mit dem Massenexport/-import Daten in eine Tabelle mit einer<br />

Identity-Spalte kopieren, ordnet bcp standardmäßig jeder Zeile einen<br />

temporären Identity-Spaltenwert von 0 zu. Das gilt nur, wenn Sie Daten<br />

in eine Tabelle kopieren. bcp liest die Werte für die ID-Spalte aus der<br />

Datendatei, sendet ihn aber nicht an den Server. Während bcp jede Zeile in<br />

die Tabelle einfügt, ordnet ihr der Server einen eindeutigen, sequenziellen<br />

Identity-Spaltenwert zu, beginnend mit dem Wert 1. Wenn Sie die -E-Option<br />

angeben und Daten in eine Tabelle kopieren, liest bcp den Wert aus der<br />

Datendatei und sendet ihn an de Server, der den Wert in die Tabelle einfügt.<br />

Wenn dabei der höchstmögliche Identity-Zeilenwert überschritten wird, gibt<br />

Adaptive Server einen Fehler aus.<br />

Der -E-Parameter hat keine Wirkung, wenn Sie mit dem Massenexport/import<br />

Daten aus einer Tabelle kopieren. Adaptive Server kopiert die<br />

ID-Spalte in die Datendatei, außer Sie verwenden den -N-Parameter.<br />

Sie können die -E- und -g-Optionen nicht zusammen verwenden.<br />

-g ID_Anfangswert<br />

gibt den Wert der Identity-Spalte an, der als Ausgangspunkt des<br />

Datenkopiervorgangs verwendet werden soll.<br />

Sie können die -g- und -E-Optionen nicht zusammen verwenden.<br />

-N<br />

überspringt die Identity-Spalte. Verwenden Sie diese Option, wenn Sie<br />

Daten in eine Tabelle kopieren und Ihre Host-Datendatei keinen Platzhalter<br />

für die Identity-Spaltenwerte enthält, oder wenn Sie Daten aus der Tabelle<br />

herauskopieren und die Identity-Spalteninformation in der Host-Datei nicht<br />

enthalten sein soll.<br />

Sie können beim Importieren von Daten nicht sowohl den -N- als auch den<br />

-E-Parameter verwenden.<br />

<strong>Dienstprogramme</strong> 171


cp<br />

-X<br />

gibt an, dass das Login in dieser Verbindung zum Server mit<br />

Kennwortverschlüsselung durch den Client hergestellt werden soll. bcp<br />

(der Client) gibt dem Server bekannt, dass die Kennwortverschlüsselung<br />

gewünscht wird. Der Server sendet einen Verschlüsselungsschlüssel zurück,<br />

den bcp zur Verschlüsselung Ihres Kennworts verwendet, und der Server<br />

verwendet den Schlüssel, um die Zugangserlaubnis Ihres Kennworts zu<br />

überprüfen, wenn es ankommt.<br />

Wenn bcp ausfällt, erstellt das System eine Core-Datei, die Ihr Kennwort<br />

enthält. Wenn Sie die Verschlüsselungsoption nicht verwendet haben,<br />

wird Ihr Kennwort als normaler Text in der Datei angezeigt. Wenn Sie<br />

die Verschlüsselungsoption verwenden, ist Ihr Kennwort nicht lesbar.<br />

-K Keytab-Datei<br />

gibt den Pfad zur Keytab-Datei an, die zur Authentifizierung in DCE<br />

verwendet wird.<br />

-R entfernter_Hauptserver<br />

legt den Hauptnamen für den Server fest, wie vom Sicherheitsmechanismus<br />

definiert. Standardmäßig entspricht der Hauptname dem Netzwerknamen<br />

des Servers (der mit dem -S-Parameter oder der DSQUERY-Umgebungsvariablen<br />

angegeben wird). Verwenden Sie den -R-Parameter, wenn der<br />

Hauptname des Servers nicht mit seinem Netzwerknamen übereinstimmt.<br />

-V Sicherheitsoptionen<br />

legt eine netzbasierte Benutzer-Authentifizierung fest. Bei dieser Option<br />

muss sich der Benutzer beim Sicherheitssystem des Netzwerks anmelden,<br />

bevor er das Dienstprogramm ausführt. In diesem Fall muss der Benutzer<br />

den Netzwerk-Benutzernamen mit der-U-Option angeben; ein mit der -P-<br />

Option angegebenes Kennwort wird ignoriert.<br />

-V – Auf diesen Parameter kann eine Sicherheitsoptionen-Zeichenfolge<br />

folgen, die Schlüsselzeichen für die Aktivierung zusätzliche<br />

Sicherheitsdienste enthalten. Es gibt folgende Schlüsselzeichen:<br />

c – Datenvertraulichkeitsdienst aktivieren<br />

c – Datenintegritätsdienst aktivieren<br />

m – Gegenseitige Authentifizierung für Verbindungserstellung<br />

aktivieren<br />

c – Abzeichnungsdienst für Datenursprung aktivieren<br />

r – Datenwiedergabeermittlung aktivieren<br />

q – Feststellung von Fehlern in der Sequenzreihenfolge aktivieren<br />

172 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-Z Sicherheitsmechanismus<br />

legt den Namen eines Sicherheitsmechanismus fest, der bei der Verbindung<br />

verwendet werden soll.<br />

Namen für Sicherheitsmechanismen sind in der Konfigurationsdatei<br />

$SYBASE/install/libtcl.cfg festgelegt. Wenn kein Name für den<br />

Sicherheitsmechanismus angegeben ist, wird der Standardmechanismus<br />

verwendet. Weitere Hinweise zu Namen für den Sicherheitsmechanismus<br />

entnehmen Sie der Beschreibung der libtcl.cfg-Datei in der Dokumentation<br />

Open Client/Server Configuration Guide.<br />

-Q<br />

liefert Rückwärtskompatibilität mit der bcp-Version 10.0.4 bei<br />

Kopiervorgängen mit Spalten, die NULL-Werte aufnehmen können.<br />

-Y<br />

gibt an, dass die Zeichensatzkonvertierung auf dem Server deaktiviert ist<br />

und statt dessen von bcp auf der Client-Seite durchgeführt wird, wenn bcp<br />

IN verwendet wird.<br />

Hinweis Die gesamte Zeichensatzkonvertierung erfolgt auf dem Server bei<br />

Verwendung von bcp OUT.<br />

Beispiele Beispiel 1 Es werden Daten aus der publishers-Tabelle im Zeichenformat<br />

(unter Verwendung von char bei allen Feldern) kopiert, wobei der -c-Parameter<br />

verwendet wird. Der Parameter -t Feld-Abschlusszeichen beendet jedes Feld<br />

mit einem Komma, und der Parameter -r Zeilen-Abschlusszeichen beendet<br />

jede Zeile mit einer Zeilenschaltung. bcp fordert nur zur Eingabe eines<br />

Kennworts auf:<br />

Auf UNIX-Plattformen – Der erste Rückstrich vor dem letzten „r“ ist ein<br />

Escape-Zeichen für den zweiten, wodurch nur der Rückstrich gedruckt wird.<br />

bcp pubs2..publishers out pub_out -c -t , -r \\r<br />

Unter Windows NT:<br />

bcp pubs2..publishers out pub_out -c -t , -r \r<br />

<strong>Dienstprogramme</strong> 173


cp<br />

Beispiel 2 Es werden Daten aus der Tabelle publishers in eine Datei namens<br />

pub_out kopiert, die später wieder in die Adaptive Server-Installation eingelesen<br />

werden soll. Mit der Eingabetaste bestätigen Sie die Standardwerte, die von<br />

der Eingabeaufforderung angezeigt werden. Dieselben Eingabeaufforderungen<br />

werden angezeigt, wenn Daten in die Tabelle publishers kopiert werden:<br />

bcp pubs2..publishers out pub_out<br />

Kennwort:<br />

Dateispeichertyp für das Feld pub_id [char] eingeben:<br />

Präfixlänge des Feldes pub_id [0] eingeben:<br />

Länge des Feldes pub_id [4] eingeben:<br />

Feldabschlusszeichen eingeben [keines]:<br />

Dateispeichertyp für das Feld pub_name [char] eingeben:<br />

Präfixlänge des Feldes pub_name [1] eingeben:<br />

Länge des Feldes pub_name [40] eingeben:<br />

Feldabschlusszeichen eingeben [keines]:<br />

Dateispeichertyp für das Feld city [char] eingeben:<br />

Präfixlänge des Feldes city [1] eingeben:<br />

Länge des Feldes city [20] eingeben:<br />

Feldabschlusszeichen eingeben [keines]:<br />

Dateispeichertyp für das Feld state [char] eingeben:<br />

Präfixlänge des Feldes state [1] eingeben:<br />

Länge des Feldes state [2] eingeben:<br />

Feldabschlusszeichen eingeben [keines]:<br />

Unter UNIX werden Sie Folgendes gefragt:<br />

Wollen Sie diese Formatinformationen in eine<br />

Datei speichern? [Y-n] y<br />

Host-Dateiname [bcp.fmt]: pub_form<br />

Kopiervorgang beginnt...<br />

3 Zeilen kopiert.<br />

Uhrzeit (ms.): Summe = 1 Durchschnitt = 0 (3000.00<br />

Zeilen pro Sek.)<br />

Beispiel 3 Hier werden Daten zurück in die Adaptive Server-Installation<br />

kopiert, indem die gespeicherte Formatdatei pub_form verwendet wird:<br />

bcp pubs2..publishers in pub_out -f pub_form<br />

174 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beispiel 4 Geben Sie den einzelnen Buchstaben genauso ein, wie er unten<br />

dargestellt ist.<br />

Um Beispiele von Datentypen anzuzeigen, geben Sie "?"<br />

an der Eingabeaufforderung ein:<br />

Dateispeichertyp des Feldes 'pub_id' eingeben<br />

['char']:?<br />

Unzulässiger Spaltentyp. Gültige Typen sind:<br />

: gleicher Typ wie Adaptive Server-Spalte.<br />

c : char<br />

T : text<br />

i : int<br />

s : smallint<br />

t : tinyint<br />

f : float<br />

m : money<br />

b : bit<br />

d : datetime<br />

x : binary<br />

I : image<br />

D : smalldatetime<br />

r : real<br />

M : smallmoney<br />

n : numeric<br />

e : decimal<br />

Beispiel 5 Hier wird eine Datendatei, die mit einem Zeichensatz<br />

erstellt wurde, wie er auf einem VT200-Terminal verwendet wird, in die<br />

pubs2..publishers-Tabelle kopiert. Die -z-Option zeigt bcp-Meldungen auf<br />

Französisch an:<br />

bcp pubs2..publishers in vt200_data -J iso_1 -z french<br />

Beispiel 6 Nur UNIX-Plattformen – Hier wird angegeben, dass Sie einen<br />

Macintosh verwenden und bcp auf einer Workstation mit dem Zeichensatz<br />

roman8 ausführen:<br />

bcp pubs2..publishers in -a mac -J roman8<br />

Beispiel 7 Legt fest, dass Adaptive Server 40 KByte text- oder image-Daten<br />

mit einer Paketgröße von 4096 Byte sendet:<br />

bcp pubs2..publishers out -T 40960 -A 4096<br />

Syntax Verwenden Sie diese Syntax bei bcp_r, wenn Sie Thread-Treiber<br />

verwenden.<br />

Verwenden Sie diese Syntax bei bcp_dce, wenn Sie Thread-Treiber auf<br />

der IBM-Plattform verwenden.<br />

<strong>Dienstprogramme</strong> 175


cp<br />

Die aktuelle Version von bcp ignoriert den Parameter -y sybase_directory.<br />

Sie können nicht Named Pipes verwenden, um Dateien zu kopieren.<br />

Das Fehlermeldungsformat unterscheidet sich von den früheren Versionen<br />

von bcp. Wenn Sie Skripten haben, die Routinen aufgrund der Werte dieser<br />

Meldungen ausführen, werden Sie sie möglicherweise umschreiben<br />

müssen. Zum Beispiel:<br />

Die Anzeigemeldung, die die Anzahl von<br />

transferierten Zeilen angibt, wurde geändert.<br />

Diese Version von bcp meldet während einer Sitzung<br />

regelmäßig die laufenden Summen von übertragenen<br />

Zeilen. Diese Meldung ersetzt die Meldung "1000 rows<br />

transferred", angezeigt vom früheren bcp.<br />

Berechtigungen Um bcp verwenden zu können, müssen Sie ein Adaptive Server-Konto und die<br />

entsprechenden Berechtigungen für die Datenbanktabellen oder Ansichten und<br />

Betriebssystemdateien haben, die Sie übertragen werden.<br />

Um Daten in eine Tabelle kopieren zu können, müssen Sie die insert-<br />

Berechtigung für die Tabelle haben.<br />

Um eine Tabelle in eine Betriebssystemdatei kopieren zu können,<br />

müssen Sie die select-Berechtigung für folgende Tabellen haben:<br />

die zu kopierende Tabelle<br />

sysobjects<br />

syscolumns<br />

sysindexes<br />

Benutzte Tabellen sysaudits_01 – sysaudits_08<br />

Siehe auch Im Kapitel 3, „Daten mit bcp in und aus Adaptive Server übertragen“,<br />

finden Sie eine ausführliche Erläuterung des Programms bcp.<br />

In der Dokumentation Performance and Tuning Guide finden Sie weitere<br />

Informationen darüber, wie sich eine Änderung bestimmter Parameter auf bcp<br />

bei umfangreichen Anweisungsfolgen auswirken kann.<br />

Befehle insert<br />

Systemprozeduren sp_audit, sp_dboption, sp_displayaudit<br />

176 Adaptive Server Enterprise


uildmaster<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Adaptive Server Version 12.5 verwendet nicht die buildmaster-Binärdaten,<br />

um das Master-Device einzurichten. Statt dessen hat <strong>Sybase</strong> die buildmaster-<br />

Funktionalität in dataserver integriert. Weitere Hinweise finden Sie im<br />

Kapitel 1, „Server mit dem dataserver-Dienstprogramm einrichten“,<br />

und Syntaxinformationen finden Sie unter dataserver auf Seite 188.<br />

Syntax Keine.<br />

certauth<br />

Beschreibung Konvertiert eine Server-Zertifikatsanforderung in ein Zertifikat mit<br />

CA-Berechtigung (Certificate Authority). Standort ist<br />

$SYBASE/ASE-12_5/bin.<br />

Windows NT Das Dienstprogramm heißt certauth.exe und befindet sich in<br />

%SYBASE%\ASE-12_5\bin.<br />

Syntax certauth<br />

[-r]<br />

[-C caCert-Datei]<br />

[-Q Anforderung-Dateiname]<br />

[-K caKey-Dateiname]<br />

[-O SignedCert-Dateiname]<br />

[-P ca-Kennwort]<br />

[-T Gültigkeitsdauer]<br />

Parameter -r<br />

Oder<br />

certauth -v<br />

wenn angegeben, wird ein selbst unterschriebenes Stamm-Zertifikat für die<br />

Test-Umgebung erstellt.<br />

-C caCert-Datei<br />

gibt den Namen der CA-Zertifikatsanforderungsdatei an, wenn -r angegeben<br />

ist; oder es bestimmt den Namen des CA-Stamm-Zertifikats.<br />

-Q Anforderung-Dateiname<br />

gibt den Namen der Zertifikatsanforderungsdatei an.<br />

-K caKey-Dateiname<br />

gibt den Namen des privaten CA-Schlüssels an.<br />

<strong>Dienstprogramme</strong> 177


certauth<br />

-O SignedCert-Dateiname<br />

gibt den Namen für die Ausgabe an, wenn eine unterschriebene<br />

Zertifikatsdatei erstellt wird. Wenn -r angegeben ist, ist SignedCert-<br />

Dateiname das selbst unterschriebene Stammzertifikat. Wenn die -r-Option<br />

nicht verwendet wird, ist SignedCert-Dateiname das Zertifikat, das von der<br />

caCert-Datei unterschrieben wird.<br />

-P ca-Kennwort<br />

gibt das CA-Kennwort an, mit dem der private Schlüssel entschlüsselt wird.<br />

-T Gültigkeitsdauer<br />

legt den gültigen Zeitbereich für ein unterschriebenes Zertifikat fest.<br />

Die Gültigkeitsdauer wird in Tageseinheiten gezählt.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für das certauth-Tool an<br />

und beendet das Programm dann.<br />

Beispiele Beispiel 1 Dieses Beispiel konvertiert die CA-Zertifikatsanforderung<br />

(ca_req.txt) in ein Zertifikat, wobei der private Schlüssel (ca_pkey.txt)<br />

verwendet wird. Der private Schlüssel wird geschützt, indem das Kennwort<br />

angegeben wird. Dieses Beispiel setzt die Gültigkeitsdauer auf 365 Tage,<br />

unterschreibt das Zertifikat selbst und gibt es als ein Stamm-Zertifikat<br />

(trusted.txt) aus:<br />

certauth -r -C ca_req.txt -Q ca_req.txt<br />

-K ca_pkey.txt -P password -T 365 -O trusted.txt<br />

Das Dienstprogramm gibt folgende Meldung zurück:<br />

-- <strong>Sybase</strong> Test Certificate Authority --<br />

Certificate Validity:<br />

startDate = Tue Sep 5 10:34:43 2000<br />

endDate = Wed Sep 5 10:34:43 2001<br />

CA sign certificate SUCCEED (0)<br />

Hinweis Sie brauchen ein vertrauenswürdiges Stamm-Zertifikat für den CA-<br />

Test nur einmal zu erstellen. Nachdem Sie das vertrauenswürdige Stamm-<br />

Zertifikat erstellt haben, können Sie damit mehrere Server-Zertifikate in Ihrer<br />

Test-Umgebung unterschreiben.<br />

178 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beispiel 2 Dieses Beispiel konvertiert eine Server-Zertifikatsanforderung<br />

(srv5_req.txt) in ein Zertifikat und legt eine Gültigkeitsdauer von 180 Tagen<br />

fest. Es unterschreibt das Zertifikat mit einem CA-Zertifikatsschlüssel<br />

(trusted.txt und einem privaten Schlüssel ca_pkey.txt), verwendet<br />

Kennwortschutz und gibt das unterschriebene Zertifikat als sybase_srv5.crt<br />

zurück:<br />

certauth -C trusted.txt -Q srv5_req.txt<br />

-K ca_pkey.txt -P password -T 180 -O sybase_srv5.crt<br />

Hinweis Wenn Sie keine Gültigkeitsdauer angeben, beträgt der Standardwert<br />

365 Tage.<br />

Das Dienstprogramm gibt folgende Meldung zurück:<br />

-- <strong>Sybase</strong> Test Certificate Authority --<br />

Certificate Validity:<br />

startDate = Tue Sep 5 10:38:32 2000<br />

endDate = Sun Mar 4 09:38:32 2001<br />

CA sign certificate SUCCEED (0)<br />

Untenstehend finden Sie ein Muster-Zertifikat. Im folgenden Syntax-Abschnitt<br />

finden Sie zusätzliche Schritte, um ein Server-Zertifikat zu erstellen, das der<br />

Server verwenden kann.<br />

-----BEGIN CERTIFICATE-----<br />

MIICSTCCAgUCAVAwCwYHKoZIzjgEAwUAMG8xCzAJBgNVBAYTAlVTMRMwEQYDVQQI<br />

EwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpFbWVyeXZpbGxlMQ8wDQYDVQQKFAZTeWh<br />

c2UxDDAKBgNVBAsUA0RTVDEXMBUGA1UEAxQOc3liYXNlX3Rlc3RfY2EwHhcNMDAw<br />

ODE4MTkxMzM0WhcNMDEwODE4MTkxMzM0WjBvMQswCQYDVQQGEwJVUzETMBEGAUE<br />

CBMKQ2FsaWZvcm5pYTETMBEGA1UEBxMKRW1lcnl2aWxsZTEPMA0GA1UEChQGU3li<br />

YXNlMQwwCgYDVQQLFANEU1QxFzAVBgNVBAMUDnN5YmFzZV90ZXN0X2NhMIHwMIo<br />

BgcqhkjOOAQBMIGcAkEA+6xG7XCxiklxbP96nHBnQrTLTCjHlcy8QhIekwv9OlqG<br />

EMG9AjJLxj6VCkPOD75vqVMEkaPPjoIbXEJEe/aYXQIVAPyvY1+B9phC2e2YFcf7<br />

cReCcSNxAkBHt7rnOJZ1Dnd8iLQGt0wd1w4lo/Xx2OeZS4CJW0KVKkGId1hNGz8r<br />

GrQTspWcwTh2rNGbXxlNXhAV5g4OCgrYA0MAAkA70uNEl90Kmhdt3RISiceCMgOf<br />

1J8dgtWF15mcHeS8OmF9s/vqPAR5NkaVk7LJK6kk7QvXUBY+8LMOugpJf/TYMAsG<br />

ByqGSM44BAMFAAMxADAuAhUAhM2Icn1pSavQtXFzXJUCoOmNLpkCFQDtE8RUGuo8<br />

ZdxnQtPu9uJDmoBiUQ==<br />

-----END CERTIFICATE-----<br />

<strong>Dienstprogramme</strong> 179


certpk12<br />

Syntax Um eine Server-Zertifikatsdatei zu erstellen, die Adaptive Server<br />

akzeptiert, hängen Sie den privaten Schlüssel des Zertifikat-Anforderers<br />

am Ende der unterschriebenen Zertifikatsdatei an. Im obenstehenden<br />

Beispiel 2 würden Sie mit Ausschneiden und Einfügen srv5_pkey.txt an<br />

das Ende der unterschriebenen Zertifikatsdatei sybase_srv5.crt anfügen.<br />

Um eine vertrauenswürdige Stammdatei zu erstellen, die der Server beim<br />

Starten laden kann, benennen Sie trusted.txt um in sybase_srv5.txt, wobei<br />

sybase_srv5.txt der allgemeine Name des Servers ist.<br />

Dann kopieren Sie die sybase_srv5.txt-Datei in das Adaptive Server-<br />

Installationsverzeichnis, zum Beispiel $SYBASE/$SYBASE_ASE/<br />

certificates.<br />

Die Datei, die für einen auf SSL basierende Sitzung erforderlich ist, wird<br />

verwendet, um die SSL-aktivierte Adaptive Server-Installation zu starten.<br />

Nachdem das CA-Stamm-Zertifikat erstellt ist, können Sie damit mehrere<br />

Server-Zertifikate unterschreiben.<br />

Siehe auch <strong>Dienstprogramme</strong> certpk12, certreq<br />

certpk12<br />

Beschreibung Exportiert oder importiert eine PKCS #12-Datei in eine Zertifikatsdatei und<br />

einen privaten Schlüssel. Standort ist $SYBASE/ASE-12_5/bin.<br />

Windows NT Das Dienstprogramm heißt certpk12.exe und befindet sich in<br />

%SYBASE%\ASE-12_5\bin.<br />

Syntax certpk12<br />

{-O Pkcs12-Datei | -I Pkcs12-Datei}<br />

[-C Zert-Datei]<br />

[-K Schlüssel-Datei]<br />

[-P Schlüssel-Kennwort]<br />

[-E Pkcs12-Kennwort]<br />

Oder<br />

certpk12 -v<br />

Parameter -O Pkcs12-Datei<br />

gibt den Namen einer PKCS #12-Datei an, die exportiert werden soll. Die<br />

Datei kann ein Zertifikat samt privatem Schlüssel, ein einzelnes Zertifikat<br />

oder einen einzelnen privaten Schlüssel enthalten. Sie müssen entweder -O<br />

oder -I festlegen.<br />

180 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-I Pkcs12-Datei<br />

gibt den Namen einer PKCS #12-Datei an, die importiert werden soll. Die<br />

Datei kann ein Zertifikat samt privatem Schlüssel, ein einzelnes Zertifikat<br />

oder einen einzelnen privaten Schlüssel enthalten. Sie müssen entweder -I<br />

oder -O festlegen.<br />

-C Zert-Datei<br />

gibt den Namen einer Zertifikatsdatei an, die in eine PKCS #12-Datei<br />

exportiert werden soll, wenn -O eingestellt ist; oder den Namen einer<br />

Zertifikatsdatei, die in eine PKCS #12-Datei importiert werden soll, wenn -I<br />

eingestellt ist.<br />

-K Schlüssel-Datei<br />

gibt den Namen eines privaten Schlüssels an, der in eine PKCS #12-Datei<br />

exportiert werden soll, wenn -O eingestellt ist; oder den Namen eines<br />

privaten Schlüssels, der in eine PKCS #12-Datei importiert werden soll,<br />

wenn -I eingestellt ist.<br />

-P Schlüssel-Kennwort<br />

legt ein Kennwort fest, mit dem der private Schlüssel geschützt wird, der<br />

durch -K angegeben wurde. Wenn -O gesetzt ist, exportiert das Kennwort<br />

den privaten Schlüssel in eine PKCS #12-Datei; wenn -I gewählt wurde,<br />

gibt das Kennwort den privaten Schlüssel in eine Textdatei zurück,<br />

nachdem er aus einer PKCS #12-Datei importiert wurde.<br />

-E Pkcs12-Kennwort<br />

legt das Kennwort fest, mit dem die PKCS #12-Datei geschützt wird. Wenn<br />

-O eingestellt ist, wird mit dem Kennwort die zu exportierende PKCS #12-<br />

Datei verschlüsselt; wenn -I gewählt wurde, wird damit die zu importierende<br />

PKCS #12-Datei entschlüsselt. Das Kennwort wird auch „Transport-<br />

Kennwort“ genannt.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für das certpk12-Tool an<br />

und beendet das Programm.<br />

Beispiele Beispiel 1 Exportiert die Zertifikatsdatei caRSA.crt und die private<br />

Schlüsseldatei caRSApkey.txt in eine PKCS#12-Datei (caRSA.p12). Kennwort<br />

ist das Kennwort, mit dem caRSApkey.txt entschlüsselt wird. pk12-Kennwort<br />

ist das Kennwort, mit dem die endgültige caRSA.p12 verschlüsselt wird.<br />

certpk12 -O caRSA.p12 -C caRSA.crt -K caRSApkey.txt<br />

-P Kennwort -E pk12-Kennwort<br />

-- <strong>Sybase</strong> PKCS#12 Conversion Utility certpk12 Thu Nov 9 16:55:51 2000--<br />

<strong>Dienstprogramme</strong> 181


certpk12<br />

Beispiel 2 Importiert die PKCS #12-Datei caRSA.p12, die ein Zertifikat<br />

und einen privaten Schlüssel enthält. Das eingebettete Zertifikat wird in die<br />

Textdatei (caRSA_new.crt) und der eingebettete private Schlüssel in die<br />

Textdatei (caRSApkey_new.txt) ausgegeben:<br />

certpk12 -I caRSA.p12 -C caRSA_new.crt -K caRSApkey_new.txt<br />

-P neues_Kennwort -E pk12-Kennwort<br />

-- <strong>Sybase</strong> PKCS#12 Conversion Utility certpk12 Thu Nov 9 16:55:51 2000--<br />

Neues_Kennwort wird verwendet, um caRSApkey_new.txt zu schützen, und<br />

pk12-Kennwort ist erforderlich, um die caRSA.p12-Datei zu entschlüsseln.<br />

Hinweis Nachdem Sie Beispiele 1 und 2 ausgeführt haben, sind caRSA.crt<br />

und caRSA_new.crt identisch. caRSApkey.txt und caRSApkey_new.txt sind<br />

verschieden, weil sie nach dem Zufallsprinzip verschlüsselt werden.<br />

Beispiel 3 Exportiert die Zertifikatsdatei (caRSA.crt) in eine PKCS#12-Datei<br />

(caRSAcert.p12). pkcs12-Kennwort wird verwendet, um caRSAcert.p12 zu<br />

verschlüsseln.<br />

certpk12 -O caRSAcert.p12 -C caRSA.crt -E pk12-Kennwort<br />

-- <strong>Sybase</strong> PKCS#12 Conversion Utility certpk12 Thu Nov 9 16:55:51 2000--<br />

Beispiel 4 Importiert eine PKCS#12-Datei (caRSAcert.p12), die ein Zertifikat<br />

enthält. Das eingebettete Zertifikat wird in eine Textdatei (caRSAcert.txt)<br />

ausgegeben.<br />

certpk12 -I caRSAcert.p12 -C caRSAcert.txt -E pk12-Kennwort<br />

-- <strong>Sybase</strong> PKCS#12 Conversion Utility certpk12 Thu Nov 9 16:55:51 2000pk12-Kennwort<br />

ist erforderlich, um die caRSAcert.p12-Datei zu entschlüsseln.<br />

Hinweis Nachdem Sie die Beispiele 3 und 4 ausgeführt haben, sind caRSA.crt<br />

und caRSAcert.txt identisch.<br />

Syntax certpk12 unterstützt nur dreifach DES-verschlüsselte PKCS #12-Dateien.<br />

Hängen Sie den privaten Schlüssel des Zertifikat-Anforderers an das Ende<br />

der unterschriebenen Zertifikatsdatei an.<br />

182 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Benennen Sie die Datei Servername.crt, wobei Servername der<br />

Name des Servers ist. Speichern Sie sie im Zertifikatsverzeichnis unter<br />

$SYBASE/$SYBASE_ASE (%SYBASE%\%SYBASE_ASE% in Windows).<br />

Diese Datei wird benötigt, um die SSL-aktivierte Adaptive Server-<br />

Installation zu starten.<br />

Siehe auch <strong>Dienstprogramme</strong> certauth, certreq<br />

certreq<br />

Beschreibung Erstellt eine Serverzertifikatsanforderung und einen entsprechenden privaten<br />

Schlüssel. Dieses Dienstprogramm kann im interaktiven Modus verwendet<br />

werden, oder Sie geben alle fakultativen Parameter in der Befehlszeile ein.<br />

Standort ist $SYBASE/ASE-12_5/bin.<br />

Windows NT Das Dienstprogramm heißt certreq.exe und befindet sich in<br />

%SYBASE%\ASE-12_5\bin.<br />

Syntax certreq<br />

[-F Eingabedatei]<br />

[-R Anforderung-Dateiname]<br />

[-K PK-Dateiname]<br />

[-P Kennwort]<br />

Oder<br />

certreq -v<br />

Parameter -F Eingabedatei<br />

gibt den Namen der Datei an, die Attributinformationen zum Kompilieren<br />

einer Zertifikatsanforderung enthält. Wenn Sie keinen Eingabedatei-Namen<br />

angeben, müssen die erforderlichen Informationen vom Benutzer interaktiv<br />

eingegeben werden.<br />

Die Eingabedatei benötigt jeweils einen Eintrag für die folgenden Angaben:<br />

req_certtype={Server,Client}<br />

req_keytype={RSA,DSA}<br />

req_keylength={for RSA: 512-2048;<br />

for DSA: 512,768,1024}<br />

req_country={string}<br />

req_state={string}<br />

req_locality={string}<br />

req_organization={string}<br />

req_orgunit={string}<br />

req_commonname={string}<br />

<strong>Dienstprogramme</strong> 183


certreq<br />

Hinweis Der allgemeine Name (commonname) muss derselbe wie der<br />

Servername sein.<br />

Im Beispiel 2 finden Sie eine Musterdatei namens Eingabedatei.<br />

-R Anforderung-Dateiname<br />

gibt den Namen für die Zertifikatsanforderungsdatei an.<br />

-K PK-Dateiname<br />

gibt den Namen für die private Schlüsseldatei an.<br />

-P Kennwort<br />

legt das Kennwort fest, mit dem der private Schlüssel geschützt wird.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung an und beendet dann.<br />

Beispiele Beispiel 1 Dieses Beispiel verwendet nicht den -F Eingabedatei-Parameter und<br />

verwendet daher den interaktiven Modus. Um eine Server-<br />

Zertifikatsanforderung (server_req.txt) und ihren privaten Schlüssel<br />

(server_pkey.txt) zu erstellen, geben Sie ein:<br />

certreq<br />

Choose certificate request type:<br />

S – Server certificate request<br />

C – Client certificate request (not supported)<br />

Q – Quit<br />

Enter your request [Q]: s<br />

Choose key type:<br />

R – RSA key pair<br />

D – DSA/DHE key pair<br />

Q – Quit<br />

Enter your request [Q]: r<br />

Enter key length (512, 768, 1024 for DSA; 512-2048 for<br />

RSA) : 512<br />

Country: US<br />

State: california<br />

Locality: emeryville<br />

Organization: sybase<br />

Organizational Unit: dst<br />

Common Name: server<br />

184 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Das Dienstprogramm gibt folgende Meldung zurück:<br />

Generating key pair (please wait) . . .<br />

Nachdem das Schlüssel-Paar generiert wurde, werden Sie vom certreq-<br />

Dienstprogramm zur Eingabe folgender Informationen aufgefordert.<br />

Enter password for private key: Kennwort<br />

Enter file path to save request: server_req.txt<br />

Enter file path to save private key: server_pkey.txt<br />

Beispiel 2 In dieser Muster-Textdatei wird das Format tag=value bei der nichtinteraktiven<br />

Eingabe für eine Zertifikatsanforderung verwendet. Sie können<br />

die -F-Option im nicht-interaktiven Modus verwenden. Wenn Sie die -F-Option<br />

verwenden, stellen Sie sicher, dass Sie gültige Werte eingeben und das oben<br />

beschriebene Format beachten. Anderenfalls wird das Zertifikat nicht korrekt<br />

kompiliert.<br />

certreq -F Eingabedatei<br />

req_certtype=server<br />

req_keytype=RSA<br />

req_keylength=512<br />

req_country=us<br />

req_state=california<br />

req_locality=emeryville<br />

req_organization=sybase<br />

req_orgunit=dst<br />

req_commonname=server<br />

Nachdem Sie diese Datei erstellt und gespeichert haben, geben Sie Folgendes<br />

auf der Befehlszeile ein, wobei Pfad_und_Datei der Standort der Textdatei ist:<br />

certreq -F Pfad_und_Datei -R server_req.txt -K server_pkey.txt -P Kennwort<br />

Diese Datei erstellt eine Server-Zertifikatsanforderung, server_req.txt, und<br />

ihren private Schlüssel server_pkey.txt, der durch Kennwort geschützt ist.<br />

Sie können die Server-Zertifikatsdatei mit jedem Standard-ASCII-Texteditor<br />

bearbeiten.<br />

Syntax Die Eingabedatei verwendet das Format tag=value. tag berücksichtigt<br />

Groß-/Kleinschreibung und muss der oben stehenden Beschreibung<br />

entsprechen.<br />

Das „=“ ist erforderlich. Ein gültiger value-Wert muss mit einem<br />

Buchstaben oder einer Ziffer beginnen und aus einem Wort bestehen;<br />

überdies dürfen keine Leerstellen in value vorhanden sein.<br />

<strong>Dienstprogramme</strong> 185


charset<br />

value ist erforderlich für req_certtype, req_keytype, req_keylength<br />

und req_commonname.<br />

Rigsum , = und value sind Leerstellen und Tabulatoren erlaubt.<br />

Leere Zeilen sind ebenfalls erlaubt.<br />

Jede Kommentarzeile muss mit # beginnen.<br />

Die Zertifikatsanforderungsdatei ist im PKCS #10-Format und wird<br />

vom certauth-Tool als Eingabe anerkannt, um die Anforderung in ein<br />

unterschriebenes CA-Zertifikat zu konvertieren.<br />

Siehe auch <strong>Dienstprogramme</strong> certauth, certpk12<br />

charset<br />

Beschreibung Nur UNIX-Plattformen Lädt die Zeichensätze und Sortierreihenfolgen-<br />

Dateien in Adaptive Server. Standort ist $SYBASE/ASE-12_5/bin.<br />

Syntax charset<br />

[-P Kennwort]<br />

[-S Server]<br />

[-ISchnittstelle]<br />

Sortierreihenfolge<br />

[ Zeichensatz ]<br />

Oder<br />

charset -v<br />

Parameter -P Kennwort<br />

gibt Ihr Kennwort an. Wenn Sie -P nicht verwenden, fordert charset zur<br />

Eingabe Ihres Kennworts auf.<br />

-S Server<br />

legt den Namen des Servers fest, auf dem der Zeichensatz und die<br />

Sortierreihenfolge geändert werden sollen.<br />

-I Schnittstelle<br />

legt die Netzwerk-Schnittstelle fest, die vom Server benutzt werden soll.<br />

Sortierreihenfolge<br />

legt den Namen der Sortierreihenfolgen-Datei fest, die Adaptive Server<br />

verwenden wird.<br />

186 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Zeichensatz<br />

legt den Zeichensatz fest, den Adaptive Server verwenden wird.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für charset an.<br />

Syntax Bevor Sie charset verwenden, müssen Sie die SYBASE-Umgebungsvariable<br />

so einstellen, dass sie auf das aktuelle <strong>Sybase</strong>-Versionsverzeichnis zeigt.<br />

Berechtigungen Sie müssen Systemadministrator sein, um charset auszuführen.<br />

Siehe auch Befehle set<br />

cobpre<br />

<strong>Dienstprogramme</strong> langinstall<br />

Beschreibung Precompiler für COBOL unter $SYBASE/$SYBASE_OCS/bin<br />

(%SYBASE%\%SYBASE_OCS%\bin in Windows NT). Eine ausführliche<br />

Beschreibung von cobpre finden Sie in Anhang A der Dokumentation Open<br />

Client/Server Programmer’s Supplement.<br />

Syntax Siehe oben.<br />

cpre<br />

Beschreibung Precompiler für C unter $SYBASE/$SYBASE_OCS/bin<br />

(%SYBASE%\%SYBASE_OCS%\bin in Windows NT). Eine ausführliche<br />

Beschreibung von cpre finden Sie in Anhang A der Dokumentation Open<br />

Client/Server Programmer’s Supplement.<br />

Syntax Siehe oben.<br />

<strong>Dienstprogramme</strong> 187


dataserver<br />

dataserver<br />

Beschreibung Nur UNIX-Plattformen Die Adaptive Server-Programmdatei unter<br />

$SYBASE/ASE-12_5/bin.<br />

Syntax dataserver [-f] [-g] [-G] [-h] [-H] [-m] [-q] [-v] [-X]<br />

[-a Pfad_zu_CAP-Direktivendatei]<br />

-b Master-Device-Größe [k | K | m | M | g | G]<br />

[-c Konfig-Datei_für_Server]<br />

[-d Devicename]<br />

[-e Pfad_zu_Fehler-Log]<br />

[-i Interfaces-Datei-Verzeichnis]<br />

[-K Keytab-Datei]<br />

[-L Konfig-Dateiname_für_Connectivity]<br />

[-M gemeinsam_genutzer_Speicher-Repository-Verzeichnis]<br />

[-p SA-Loginname]<br />

[-r Spiegel-Plattenspeichername]<br />

[-s Servername]<br />

[-T Trace-Flag]<br />

[-u SA/SSO-Name]<br />

[-w Master- | Modelldatenbank]<br />

[-y [Kennwort] ]<br />

[-z Seitengröße [ k | K ]]<br />

Parameter -f<br />

Oder<br />

dataserver -v<br />

erzwingt die Initialisierung eines Devices oder einer Datenbank. -f ist nur<br />

gültig, wenn der Parameter mit -b und/oder -w verwendet wird. Der Server<br />

startet nicht neu, wenn Sie -f ohne -b oder -w verwenden. -f wirkt sich auf<br />

den Server unterschiedlich aus, abhängig davon, ob -w vorhanden ist.<br />

Weitere Hinweise finden Sie unter „Mögliche Probleme bei gemeinsamer<br />

Verwendung der -f- und -w-Option“ auf Seite 193 und „Abhängigkeiten<br />

und Bedingungen der -b- und -w-Optionen“ auf Seite 194.<br />

-g<br />

schaltet das Protokollieren von Ereignissen aus.<br />

-G logserv-Name<br />

legt den Namen des Ereignislog-Servers fest.<br />

188 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-h<br />

druckt die Hilfemeldung und beendet dann.<br />

-H<br />

startet den HA-Server (High Availability, Hohe Verfügbarkeit), wenn Sie die<br />

HA-Funktion in Ihrer Adaptive Server-Installation installiert haben.<br />

-m<br />

startet Adaptive Server im Einzelbenutzer-Modus.<br />

-q<br />

behandelt Datenbanken im Ruhezustand wie „in Wiederherstellung“.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für dataserver an und<br />

beendet dann.<br />

-X<br />

startet diesen Server als sybmon, und nicht als dataserver.<br />

-a Pfad_zu_CAP-Direktivendatei<br />

gibt den Pfad zur CAP-Direktivendatei an.<br />

-b Master-Device-Größe [k | K | m | M | g | G]<br />

gibt die Größe des Master-Devices oder der Datenbank an, die Sie einrichten<br />

wollen. Der Server errechnet die Größen, also können Sie „K“, „M“ und<br />

„G“ anstelle der genauen Byte-Anzahl verwenden.<br />

-c Konfig-Datei_für_Server<br />

gibt den vollständigen Pfadnamen einer Adaptive Server-Konfigurationsdatei<br />

an. Verwenden Sie diesen Parameter, um Adaptive Server mit den<br />

Konfigurationswerten in der angegebenen Konfigurationsdatei zu starten.<br />

Wenn Sie eine Konfigurationsdatei mit dem dataserver -c-Parameter<br />

angeben, stellen Sie sicher, dass alle Parameter in dieser Konfigurationsdatei<br />

kompatibel sind, bevor Sie den Server neu starten. Wenn einige Konfigurationsparameter<br />

nicht kompatibel sind, startet der Server möglicherweise<br />

nicht neu. Um das zu vermeiden, geben Sie keine Konfigurationsdatei an,<br />

wenn Sie das Master-Device einrichten. Die Einrichtphase verwendet alle<br />

Standardeinstellungen, wenn Sie keine Konfigurationsdatei angeben.<br />

Weitere Hinweise finden Sie in der Dokumentation Systemadministration<br />

für Adaptive Server Enterprise.<br />

<strong>Dienstprogramme</strong> 189


dataserver<br />

-d Devicename<br />

ist der vollständige Pfadname des Devices für die master-Datenbank.<br />

Das Master-Datenbankdevice muss für den Benutzer beschreibbar sein,<br />

der Adaptive Server startet. Wenn Sie den -d-Parameter nicht verwenden,<br />

lautet der Standardname des master-Datenbankdevices d_master.<br />

-e Fehlerlogdatei<br />

ist der vollständige Pfadname der Fehlerlogdatei für Fehlermeldungen der<br />

Adaptive Server-Systemebene.<br />

-i Interfaces-Datei-Verzeichnis<br />

gibt den Namen und den Standort der Interfaces-Datei an, die durchsucht<br />

werden soll, wenn die Verbindung mit der Adaptive Server-Installation<br />

eingerichtet wird. Wenn -I weggelassen wird, sucht dataserver nach einer<br />

Datei namens interfaces in dem Verzeichnis, auf das von Ihrer <strong>Sybase</strong>-<br />

Umgebungsvariablen gezeigt wird.<br />

-K Keytab-Datei<br />

gibt den Pfad zur Keytab-Datei an, die zur Authentifizierung in DCE<br />

verwendet wird.<br />

-L Konfig-Dateiname_für_Connectivity<br />

gibt den Namen der Konfigurationsdatei für Connectivity an.<br />

-M gemeinsam_genutzer_Speicher-Verzeichnis<br />

platziert Shared-Memory-Dateien in das angegebene Verzeichnis und nicht<br />

an den Standardstandort, $SYBASE. Wenn gemeinsam_genutzter_Speicher-<br />

Verzeichnis mit „\“ startet, wird angenommen, dass der Verzeichnisname<br />

absolut ist. Ansonsten wird der Verzeichnisname relativ zu $SYBASE<br />

interpretiert.<br />

-p SSO-Loginname<br />

gibt den Login-Namen eines Sicherheitsadministrators an, wenn Adaptive<br />

Server gestartet wird, damit für das neue Konto ein neues Kennwort<br />

eingerichtet werden kann. Adaptive Server erzeugt ein Zufallskennwort,<br />

zeigt es an, verschlüsselt es und speichert es in master..syslogins als das<br />

neue Kennwort für das Konto.<br />

-r Master-Spiegel<br />

startet den Spiegel für das Master-Device. Verwenden Sie diesen Parameter,<br />

um Adaptive Server zu starten, falls das Master-Device beschädigt wurde.<br />

-s Servername<br />

gibt den Namen der Adaptive Server-Installation an, die gestartet werden<br />

soll. Wenn -s weggelassen wird, wird ein Server mit Namen SYBASE<br />

gestartet.<br />

190 Adaptive Server Enterprise


-T Trace-Flag<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-u SA/SSO-Name<br />

gibt den Namen des Systemadministrators oder Sicherheitsadministrators<br />

an, den Sie freigeben wollen.<br />

-w Master- | Modelldatenbank<br />

legt fest, ob Sie eine Master- oder eine Modelldatenbank schreiben wollen.<br />

-y [Kennwort]<br />

mit diesem Parameter können Sie ein Kennwort für den verschlüsselten<br />

privaten Schlüssel zuordnen, damit der Server den Benutzer zur Eingabe<br />

eines Kennworts auffordert. Dieses Kennwort sollte jenem entsprechen,<br />

mit dem Sie den privaten Schlüssel verschlüsselt haben, als er erstellt<br />

wurde. Sie können diesen Parameter nicht verwenden, wenn Sie den<br />

Server im Hintergrund ausführen.<br />

Hinweis Auch wenn Sie ein Kennwort mit -y, setzen können, empfiehlt <strong>Sybase</strong><br />

ausdrücklich, dies aus Sicherheitsgründen zu unterlassen.<br />

Ein privater Schlüssel ist im digitalen Zertifikat Ihres Servers enthalten.<br />

Standardmäßig finden Sie die Zertifikatsdatei unter:<br />

/usr/local/sybase/certificates/servername.crt<br />

Der Standort der Zertifikatsdatei ändert sich, wenn Sie den sp_ssladmin<br />

addcert-Befehl aufrufen.<br />

-z Seitengröße [ k | K ]<br />

legt die Seitengröße für den Server fest. Sie müssen -b und -w verwenden,<br />

um diese Option zu nutzen, und eine gerade Zweierpotenz zwischen<br />

2 KByte und 16 KByte angeben, da sonst der Server nicht neu startet.<br />

Beispiele Beispiel 1 Erstellt eine neue Installation mit einem 100-MByte-Master-<br />

Device und einer 4-KByte-Seite:<br />

dataserver -d my_master_device -z 4k -b 100.02M<br />

Die Leerstellen zwischen den Optionen und den nachfolgenden Argumenten<br />

sind fakultativ und werden akzeptiert. In diesem Beispiel werden „100.02M“<br />

für ein 100-MByte-Master-Device festgelegt, da der Server einen 16-KByte-<br />

Overhead für seinen Konfigurationsbereich benötigt.<br />

Beispiel 2 Schreibt eine fehlerhafte Modelldatenbank neu:<br />

dataserver -d my_master_device -w model<br />

<strong>Dienstprogramme</strong> 191


dataserver<br />

Beispiel 3 Schreibt eine fehlerhafte Master-Datenbank neu, wobei die<br />

Devicegröße angegeben wird:<br />

dataserver -d my_master_device -w master -z 4k<br />

Beispiel 4 Schreibt eine fehlerhafte Master-Datenbank neu, indem Deviceund<br />

Seitengrößen festgelegt werden und der Server gezwungen wird, diese<br />

Werte anstelle von solchen, die er möglicherweise im Konfigurationsblock<br />

findet, zu akzeptieren:<br />

dataserver -d my_master_device -w master -z 4k -b<br />

100.02M -f<br />

Beispiel 5 Schreibt eine fehlerhafte Master-Datenbank, wobei eine<br />

Seitengröße angegeben wird, die nicht der entspricht, die der Server in<br />

seinem Konfigurationsblock findet. Das erzeugt einen Fehler:<br />

dataserver -d my_master_device -w master -z 8k<br />

00:00000:00000:2001/01/19 12:01:26.94 server Die<br />

konfigurierte Seitengröße des Servers entspricht<br />

nicht der, die auf der Befehlszeile angegeben ist.<br />

Um die konfigurierte Größe zu verwenden, lassen Sie die<br />

Größenangabe in der Befehlszeile weg. Um den Wert in der<br />

Befehlszeile zu verwenden, geben Sie 'force' (-f) ein.<br />

Beispiel 6 Schreibt eine fehlerhafte Master-Datenbank neu, wobei eine<br />

inkorrekte Seitengröße angegeben ist, sogar bei einem normalen Neustart.<br />

Das erzeugt einen Fehler:<br />

dataserver -d my_master_device -z4000<br />

dataserver: Die 'z'-Option darf nicht ohne 'b' oder 'w'<br />

verwendet werden. dataserver: Server wird die 'z'-<br />

Option ignorieren. dataserver: die 'z'-Option enthält<br />

eine ungültige Seitengröße. dataserver: Die Seitengröße<br />

muss eine gerade Zweierpotenz zwischen 2048 und 16384<br />

Byte sein.<br />

Syntax dataserver ermöglicht es Ihnen, Devices und Datenbanken zu erstellen,<br />

die bis zu 32 GByte groß sind, abhängig von den Einschränkungen Ihres<br />

Betriebssystems. Weitere Hinweise zu Größenbeschränkungen finden Sie<br />

in der Installationsanleitung für Ihre Plattform.<br />

Starten Sie Adaptive Server mit dem startserver-Befehl und nicht, indem<br />

Sie direkt das dataserver-Programm ausführen. Um Standardwerte<br />

zu ändern, bearbeiten Sie die RUN_servername-Datei im <strong>Sybase</strong>-<br />

Installationsverzeichnis. Weitere Hinweise finden Sie unter startserver<br />

in diesem Handbuch.<br />

192 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Da Adaptive Server-Kennwörter verschlüsselt sind, können<br />

Sie vergessene Kennwörter nicht wiederherstellen. Wenn alle<br />

Sicherheitsadministratoren ihre Kennwörter verlieren, erzeugt der -p-<br />

Parameter ein neues Kennwort für ein Sicherheitsadministrator-Konto.<br />

Starten Sie Adaptive Server mit -p, melden Sie sich sofort bei Adaptive<br />

Server mit einem neuen Zufalls-Kennwort an und führen Sie sp_password<br />

aus, um Ihr Kennwort durch ein sichereres zu ersetzen.<br />

Nachdem Sie das Adaptive Server-Installationsprogramm fertig<br />

ausgeführt haben, stellen Sie die Dateiberechtigungen in der ausführbaren<br />

dataserver-Datei ein, um den Zugriff auf ihre Ausführung zu beschränken.<br />

Wenn Sie einen Adaptive Server-Namen ohne den -s-Parameter angeben<br />

und nicht die Umgebungsvariable DSLISTEN eingestellt haben,<br />

verwendet dataserver den Adaptive Server-Standardnamen SYBASE.<br />

Der Wert der Umgebungsvariablen DSLISTEN setzt diesen Standardwert<br />

außer Kraft. Der -s-Parameter setzt den Standardwert und die DSLISTEN-<br />

Umgebungsvariable außer Kraft.<br />

Automatische Login-Sperren können dazu führen, dass auf einem<br />

Rechner alle Logins gesperrt sind, die dazu berechtigt sind, Logins<br />

freizugeben (Systemadministratoren und Sicherheitsadministratoren).<br />

Wenn das passiert, verwenden Sie das dataserver-Dienstprogramm mit<br />

dem -u-Parameter, um das angegebene Login auf Systemadministratoroder<br />

Sicherheitsadministrator-Berechtigungen zu überprüfen, geben Sie<br />

das Konto frei und setzen Sie den Zählerwert für aktuelle fehlgeschlagene<br />

Logins auf Null.<br />

Mögliche Probleme bei gemeinsamer Verwendung der -f- und -w-Option<br />

Bei der gemeinsamen Verwendung der Optionen -f und -w ist äußerste Vorsicht<br />

geboten. Wenn Sie beim Neuschreiben der Master-Datenbank die -w-Option<br />

verwenden, verlangt der Server, dass die Konfigurationsblock-Seitengröße<br />

und die Devicegröße korrekt sind. Wenn Sie diese nicht auf der Befehlszeile<br />

angeben, müssen sie übereinstimmen. Der Server stellt das Master-Device<br />

wieder her und speichert Master- sowie alle anderen darin vorhandenen<br />

Datenbanken wieder an ihre richtigen Standorte.<br />

Verwenden Sie die -f-Option zur erzwungenen Initialisierung, setzen Ihre<br />

Seitengröße und Master-Devicegröße die Werte im Konfigurationsblock<br />

außer Kraft. Darüber hinaus weist -f den gesamten restlichen unbekannten<br />

Speicherplatz, also nicht benutzte oder fehlerhafte Zuordnungsblöcke,<br />

der Masterdatenbank zu.<br />

<strong>Dienstprogramme</strong> 193


dataserver<br />

Abhängigkeiten und Bedingungen der -b- und -w-Optionen<br />

Die Auswirkung von -b ist abhängig davon, ob -w vorhanden ist:<br />

-b ohne -w erstellt ein Master-Device, benannt durch -d (der Standardwert<br />

ist d_master) und mit einer in -z angegebenen Seitengröße<br />

(der Standardwert ist 2048):<br />

Wenn das benannte Device bereits als eine OS-Datei vorhanden ist,<br />

schlägt der Versuch fehl und Sie erhalten eine ähnliche Meldung wie<br />

die Folgende:<br />

Datei bereits vorhanden. Entfernen Sie die<br />

vorhandene Datei, bevor Sie versuchen, eine<br />

neue Datei mit der b-Serveroption zu erstellen.<br />

Erstellen des Master-Devices nicht möglich.<br />

Wenn das benannte Device eine vorhandene unformatierte Partition<br />

benennt, schlägt der Versuch fehl, außer Sie beziehen die -f-Option<br />

ein. Das reinitialisiert die unformatierte Partition als ein Server-<br />

Master-Device.<br />

-b mit -w master fordert dataserver dazu auf, die in -z angegebene Größe<br />

zu verwenden, wenn die Master-Datenbank neu erstellt wird. Diese<br />

Einstellung bezieht sich nicht auf das Erstellen eines neuen Devices.<br />

-w erfordert möglicherweise zusätzliche Optionen:<br />

Wenn Sie -w model verwenden, werden die -z- und -b-Optionen akzeptiert,<br />

aber ignoriert.<br />

Wenn Sie -w master bei neuen Installationen verwenden, werden -z und -b<br />

nicht benötigt, weil die Device-Größeninformationen im config_block<br />

gespeichert sind.<br />

Wenn Sie -w master zum Upgrade alter Installationen verwenden,<br />

beachten Sie Folgendes:<br />

Der Server benötigt -b und/oder -z, wenn der config_block keinen<br />

gültigen Eintrag für die zugeordneten Größen enthält. Der Befehl<br />

schlägt fehl, wenn er keine gültigen Daten für die Seitengröße oder<br />

die Devicegröße erhält.<br />

Sie können -b und/oder -z angeben, wenn config_block gültige<br />

Einträge für die Größen, die sie darstellen, enthält. Wenn die Größen<br />

allerdings nicht mit denen im config_block übereinstimmen, müssen<br />

Sie -f hinzufügen, um Ihre neuen Größenwerte durchzusetzen.<br />

194 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Berechtigungen Jeder mit Ausführungsberechtigung auf die Binärdaten, der Lese/Schreib-<br />

Zugriff auf alle Dateien hat.<br />

Siehe auch Befehle disk mirror, disk remirror, disk unmirror<br />

dataxtr<br />

Systemprozeduren sp_ssladmin addcert<br />

<strong>Dienstprogramme</strong> startserver<br />

Beschreibung Das Daten-Migrationstool mit grafischer Benutzeroberfläche (GUI), zum<br />

Verschieben von Daten und Datenbankschemata aus Adaptive Server-<br />

Datenbanken vor Version 12.5 in 12.5-Datenbanken. Der Standort ist<br />

$SYBASE/ASE-12_5/bin (%SYBASE%\ASE-12_5\bin in Windows NT).<br />

Hinweise zur Verwendung des dataxtr-Dienstprogramms finden Sie ihn den<br />

Versionshinweisen für Adaptive Server Enterprise 12.5 für Ihre Plattform.<br />

Syntax Keine.<br />

ddlgen<br />

Beschreibung Ein auf Java basierendes Tool, das Definitionen für Objekte der Server- und<br />

Datenbankebene in Adaptive Server generiert. ddlgen unterstützt Adaptive<br />

Server Version 12.0 und später.<br />

Die Befehlszeilen-Version von ddlgen befindet sich unter $SYBASE/sybcent41<br />

(%SYBASE%\sybcent41 in Windows NT).<br />

Syntax ddlgen<br />

-ULogin<br />

-PKennwort<br />

-SHostname : Portnummer<br />

[-TObjekttyp]<br />

[-NObjektname]<br />

[-DDatenbankname]<br />

[-Xerweiterter_Objekttyp]<br />

[-OAusgabedatei]<br />

[-EFehlerdatei]<br />

[-LFortschritts-Logdatei]<br />

[-J Client-Zeichensatz]<br />

-F[ % | SGM | GRP | USR | R | D | UDD | U | V | P | XP | I | RI | KC | TR]<br />

<strong>Dienstprogramme</strong> 195


ddlgen<br />

Oder<br />

ddlgen -v<br />

Parameter -U Login<br />

gibt einen Loginnamen an und berücksichtigt Groß-/Kleinschreibung.<br />

-P Kennwort<br />

gibt Ihr Kennwort an.<br />

-S Hostname : Portnummer<br />

gibt den Hostnamen oder IP-Adresse von Adaptive Server an, wie auch<br />

seine Portnummer. Trennen Sie Hostname und Portnummer mit einem<br />

Doppelpunkt ohne Leerstellen.<br />

Hinweis Sie müssen die -S-Option verwenden da ddlgen nicht mit einem<br />

Standard-Server verbindet.<br />

-T Objekttyp<br />

legt den Typ des Objekts fest, das Sie erstellen. Wenn Sie nicht -T<br />

verwenden, erstellt ddlgen eine DDL für die Standarddatenbank von Login.<br />

Tabelle 8-3 listet Objekttypen für -T auf.<br />

Tabelle 8-3: Gültige Objekttypen für die ddlgen -T-Option<br />

Objekttyp Beschreibung<br />

C Cache<br />

D Standardwert<br />

DB Datenbank<br />

DBD Datenbankdevice<br />

DPD Sicherungsdevice<br />

EC Ausführungsklasse<br />

EG Engine-Gruppe<br />

GRP Gruppe<br />

I Index<br />

KC Schlüssel-Integritätsregeln<br />

L Login<br />

P Gespeicherte Prozedur<br />

R Regel<br />

196 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Objekttyp Beschreibung<br />

RI Referenzielle Integrität<br />

RO Rolle<br />

RS Fremdserver<br />

SGM Segment<br />

TR Trigger<br />

U Tabelle<br />

UDD Benutzerdefinierter Datentyp<br />

USR Benutzer<br />

V Ansicht<br />

XP Erweiterte gespeicherte Prozedur<br />

-N Objektname<br />

bestimmt den vollständig qualifizierten Namen des Objekts, das Sie<br />

erstellen, wie zum Beispiel -Ndb-Name.Eigentümername.<br />

Tabellenname.Objektname. Die -N-Option:<br />

ist erforderlich, wenn Sie einen anderen Objekttyp als DB (Datenbank)<br />

im -T-Parameter angeben.<br />

akzeptiert Wildcards, wenn Sie mit % verwendet werden.<br />

erstellt eine DDL für alle Einträge eines bestimmten Objekttyps auf<br />

Ihrem Server.<br />

erzwingt eine strikte Reihenfolge für die Analyse der Namen im Format<br />

-Ndb-Name.Eigentümername.Tabellenname.Objektname. Wenn Sie nur<br />

drei Argumente angeben, nimmt ddlgen an, dass es sich dabei um<br />

Eigentümername, Tabellenname und Objektname, in genau dieser<br />

Reihenfolge handelt. Sie können auch -NEigentümername.Tabellenname<br />

-Ddb-Name verwenden. ddlgen macht diese Einschränkung nicht,<br />

wenn Objektname ein Index (I) ist.<br />

-D Datenbankname<br />

legt den Namen der Datenbank für das Objekt fest, das Sie in der -N-Option<br />

angeben. Der Standardwert ist die Standarddatenbank des Benutzers.<br />

<strong>Dienstprogramme</strong> 197


ddlgen<br />

-X erweiterter_Objekttyp<br />

unterscheidet folgende Elemente voneinander:<br />

Benutzertabellen (OU) von Proxy-Tabellen (OD), wenn Sie eine Tabelle<br />

als Ihren Objekttyp (-TU) angeben<br />

temporäre Datenbanken (OD) von nicht-temporären Datenbanken<br />

(OU), wenn Sie eine Datenbank als Ihren Objekttyp angeben (-TDB)<br />

SQLJ-Prozeduren (OD) von gespeicherten Prozeduren (OU), wenn Sie<br />

eine Prozedur als Ihren Objekttyp angeben (-TP).<br />

Wenn der Objekttyp (-T) ein U-Typ (Tabelle) ist und -X nicht angegeben<br />

wird, generiert ddlgen DDL sowohl für Benutzertabellen als auch für Proxy-<br />

Tabellen. So generieren Sie eine DDL-Datei nur für:<br />

Benutzertabellen – verwenden Sie den erweiterten OU-Objekttyp mit<br />

der -X-Option.<br />

Proxy-Tabellen – verwenden Sie den erweiterten OD-Objekttyp mit der<br />

-X-Option.<br />

Hinweis ddlgen unterstützt keine Systemtabellen.<br />

-O Ausgabedatei<br />

gibt eine Ausgabedatei für die generierten DDL an. Wenn Sie nicht -O<br />

angeben, wird die DDL, die Sie generieren, in einem Konsolenfenster<br />

angezeigt.<br />

-E Fehlerdatei<br />

bestimmt eine Logdatei zum Aufzeichnen der Fehler. Wenn Sie nicht -E<br />

angeben, werden die generierten Fehler in einem Konsolenfenster<br />

angezeigt.<br />

-L Fortschritts-Logdatei<br />

bestimmt eine Logdatei zur Protokollierung des Fortschritts von ddlgen.<br />

Wenn Sie -L nicht festlegen, wird der Fortschritt nicht aufgezeichnet.<br />

198 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-J Client-Zeichensatz<br />

gibt den Zeichensatz an, der auf dem Client verwendet wird. -J Client-<br />

Zeichensatz verlangt, dass Adaptive Server in und von Client-Zeichensatz,<br />

dem auf dem Client verwendeten Zeichensatz, konvertiert. Ein Filter<br />

konvertiert die Eingabe zwischen Client-Zeichensatz und dem Adaptive<br />

Server-Zeichensatz.<br />

Das Weglassen von -J stellt den Zeichensatz auf einen Standardwert der<br />

Plattform ein. Der Standard ist nicht unbedingt der Zeichensatz, den der<br />

Client verwendet.<br />

-F<br />

filtert Indizes, Trigger und Integritätsregeln aus Tabellen- und<br />

Datenbankdefinitionen in der DDL von Objekten auf Tabellen- und<br />

Datenbankebene. Folgende Filter sind gültig:<br />

Für Tabellen – [ % | I | RI | KC | TR]<br />

Für Datenbanken – [ % | SGM | GRP | USR | R | D | UDD | U | V | P |<br />

XP|I|RI | KC |TR]<br />

Mögliche Filteroptionen:<br />

% – filtert alles heraus und fragt nur die Schema-Definition einer<br />

Tabelle ab.<br />

SGM – filtert Segmente heraus<br />

GRP – filtert Gruppen heraus<br />

USR – filtert Benutzer heraus<br />

R – filtert Regeln heraus<br />

D – filtert Standardwerte heraus<br />

UDD – filtert benutzerdefinierte Datentypen heraus<br />

U – filtert Benutzertabellen heraus<br />

V – filtert Ansichten heraus<br />

P – filtert gespeicherte Prozeduren heraus<br />

XP – filtert erweiterte gespeicherte Prozeduren heraus<br />

I – filtert Indizes heraus<br />

RI – filtert referenzielle Integritätsregeln heraus<br />

KC – filtert primäre und eindeutige Schlüssel-Integritätsregeln heraus<br />

TR – filtert Trigger heraus<br />

<strong>Dienstprogramme</strong> 199


ddlgen<br />

-v<br />

zeigt Versionsnummer und Copyright-Meldung von ddlgen an und kehrt<br />

zum Betriebssystem zurück.<br />

Beispiele Beispiel 1 Caches – Generiert eine DDL für einen Cache namens<br />

Standarddatencache auf einem Rechner namens HARBOR unter Verwendung<br />

von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TC -N"default data cache"<br />

Generieren von DDL für alle Caches:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TC -N%<br />

Beispiel 2 Standardwerte – Generiert eine DDL für einen Standardwert<br />

namens „phondflt“ mit dem Eigentümer „jones“ in der Datenbank pubs2<br />

auf einem Rechner namens HARBOR unter Verwendung von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TD -Njones.phonedflt -Dpubs2<br />

Da ddlgen die Verwendung eines vollständig qualifizierten Namens in der<br />

-N-Option ermöglicht, können Sie alternativ dazu auch -Ddb-Name weglassen<br />

und den Datenbanknamen in der -N-Option angeben:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TD -Ndb-<br />

Name.Eigentümer.Standardname<br />

Generieren von DDL für alle Standardwerte in einer Datenbank,<br />

die „Eigentümer“ gehört:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TD -NEigentümer.% -Ddb-Name<br />

Beispiel 3 Datenbanken – Generiert eine DDL für eine Datenbank namens<br />

pubs2 auf einem Rechner namens HARBOR unter Verwendung von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB -Npubs2<br />

Wenn Sie db-Name nicht angeben, generiert ddlgen eine DDL für die<br />

Standarddatenbank von Login:<br />

ddlgen -ULogin -PKennwort -SServer:Port<br />

Wenn Sie den -T-Parameter nicht angeben, generiert ddlgen eine DDL für eine<br />

Standardtyp-Datenbank:<br />

ddlgen -ULogin -PKennwort -SServer:Port -Ndb-Name<br />

Generieren von DDL für alle Datenbanken:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDB -N%<br />

200 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beispiel 4 Datenbankdevice – Generiert eine DDL für ein Datenbankdevice<br />

namens master auf einem Rechner namens HARBOR unter Verwendung von<br />

Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDBD -Nmaster<br />

Generieren von DDL für alle Datenbankdevices:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDBD -N%<br />

Beispiel 5 Temporäre Datenbanken – Generiert eine DDL für alle<br />

Datenbanken einschl. tempdbs:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDB -N%<br />

Zum Generieren von DDL für alle temporären Datenbanken verwenden Sie<br />

den erweiterten Datenbanktyp OD:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDB -XOD -N%<br />

Sie können den erweiterten Typ OD in Adaptive Server 12.5.0.3 und späteren<br />

Versionen verwenden; in früheren Versionen als 12.5.0.3 werden jedoch<br />

Warnmeldungen ausgegeben. Diese Meldungen können Sie ruhig ignorieren,<br />

da ddlgen die Verarbeitung des Befehls fortsetzt.<br />

Zum Generieren von DDL für alle Datenbanken außer temporären<br />

Datenbanken verwenden Sie den erweiterten Typ OU:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDB -XOU -N%<br />

Folgende Syntax generiert eine DDL für eine temporäre Datenbank namens<br />

tempdb1:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDB -Ntempdb1<br />

Die Ausgabe besteht aus folgenden Elementen:<br />

Die Anweisung create temporary database<br />

create temporary database tempdb1 on master = 4,<br />

asdas = 2<br />

go<br />

Die Anweisung sp_tempdb bind, in der die isql-Anwendung mit tempdb1<br />

verbunden wird:<br />

sp_tempdb 'bind','ap', 'isql', 'DB', 'tempdb1'<br />

go<br />

<strong>Dienstprogramme</strong> 201


ddlgen<br />

Hinweis DDL für Objekte wie Ansichten, gespeicherte Prozeduren und<br />

Tabellen werden nicht zusammen mit DDL für eine temporäre Datenbank<br />

erzeugt, weil diese Objekte temporär sind und beim Neustart des Servers<br />

erneut erstellt werden.<br />

Beispiel 6 Sicherungsdevice – Generiert eine DDL für ein Sicherungsdevice<br />

namens tapedump1 auf einem Rechner namens HARBOR unter Verwendung<br />

von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDPD -Ntapedump1<br />

Generieren von DDL für alle Sicherungsdevices:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDPD -N%<br />

Beispiel 7 Ausführungsklasse – Generiert eine DDL für eine Ausführungsklasse<br />

namens EC2 auf einem Rechner namens HARBOR unter Verwendung<br />

von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEC -NEC2<br />

Generieren von DDL für alle Ausführungsklassen:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TEC -N%<br />

Beispiel 8 Engine-Gruppen – Generiert eine DDL für eine Engine-Gruppe<br />

namens LASTONLINE auf einem Rechner namens HARBOR unter<br />

Verwendung von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEG -NLASTONLINE<br />

Generieren von DDL für alle Engine-Gruppen:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TEG -N%<br />

Beispiel 9 Erweiterte gespeicherte Prozeduren – Generiert eine DDL für die<br />

erweiterte gespeicherte Prozedur xp_cmdshell in der Datenbank pubs2, die dem<br />

Eigentümer „Jones“ gehört und auf einem Rechner namens HARBOR unter<br />

Verwendung von Port 1955 läuft; hierzu wird das vollständig qualifizierte<br />

Format db-Name.Eigentümer.erweiterte_gespeicherte_Prozedur mit der -N-<br />

Option verwendet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TXP -Npubs2.jones.xp_cmdshell<br />

202 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Anstelle des vollständig qualifizierten Namens können Sie auch die -D-Option<br />

verwenden:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TXP<br />

-NEigentümer.erweiterte_gespeicherte_Prozedur<br />

-Ddb-Name<br />

Generieren von DDL für alle erweiterten gespeicherten Prozeduren:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TXP -Ndb-Name.Eigentümer.%<br />

Beispiel 10 Gruppen – Generiert eine DDL für eine Gruppe namens „public“<br />

in der Datenbank pubs2, die auf einem Rechner namens HARBOR unter<br />

Verwendung von Port 1955 läuft; hierzu wird das vollständig qualifizierte<br />

Format db-Name.Gruppenname in der -N-Option verwendet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TGRP -Npubs2.public<br />

Alternativ dazu können Sie auch die -D-Option verwenden, um db-Name<br />

anzugeben:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TGRP -NGruppenname -Ddb-Name<br />

Generieren von DDL für alle Gruppen:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TGRP -Ndb-Name.%<br />

Beispiel 11 Indizes – Generiert eine DDL für einen Index namens au_lname<br />

für die Tabelle authors, die dem Eigentümer „dbo“ gehört und sich in der<br />

Datenbank pubs2 befindet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TI -Ndbo.authors.au_lname -Dpubs2<br />

Da ddlgen die Verwendung eines vollständig qualifizierten Namens in der<br />

-N-Option ermöglicht, können Sie alternativ dazu auch -Ddb-Name weglassen<br />

und den Datenbanknamen in der -N-Option angeben:<br />

ddlgen -ULogin -PKennwort -SServer:Port<br />

-TI -Ndb-Name.Eigentümer.Tabellenname.Indexname<br />

Bei Verwendung eines vollständig qualifizierten Namens können Sie die -D-<br />

Option weglassen.<br />

Generieren von DDL für alle Indizes:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TI<br />

-Ndb-Name.Eigentümer.Tabellenname.%<br />

<strong>Dienstprogramme</strong> 203


ddlgen<br />

Beispiel 12 Schlüssel – Diese beiden Anweisungen generieren eine DDL<br />

für die primären und eindeutigen Schlüssel aller Tabellen in einer Datenbank,<br />

die mit „PK“ beginnen:<br />

Oder:<br />

ddlgen -Usa -P -TKC -Ndb-Name.%.%.PK%<br />

ddlgen -Usa -P -TKC -N%.%.PK% -Ddb-Name<br />

Hinweis Normalerweise können Sie alle Indizes nur für eine Tabelle erzeugen;<br />

jedoch ermöglicht Ihnen der Objekttyp-Parameter -T zusammen mit dem RI-<br />

und KC-Wert, sowohl Fremdschlüssel als auch primäre und eindeutige<br />

Schlüssel für eine ganze Datenbank zu erzeugen.<br />

Beispiel 13 Logins – Generiert eine DDL für alle Logins auf einem Rechner<br />

namens HARBOR unter Verwendung von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TL -N%<br />

Hinweis Das Kennwort in der für alle Logins generierten DDL ist „Kennwort“.<br />

Oder Sie geben ein individuelles Login an, indem Sie -NBenutzername anstelle<br />

von -N% verwenden:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TL -Ndb-Name.Benutzername<br />

Beispiel 14 Entfernte Server – Generiert eine DDL für einen entfernten Server<br />

namens ORANGE auf einem Rechner namens HARBOR unter Verwendung<br />

von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TRS -NORANGE<br />

Generieren von DDL für alle entfernten Server:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TRS -N%<br />

Beispiel 15 Rollen – Generiert eine DDL für die Rolle „sa_role“ auf einem<br />

Rechner namens HARBOR unter Verwendung von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TRO -Nsa_role<br />

Generieren von DDL für alle Rollen:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TRO -N%<br />

Hinweis Das Kennwort in der für alle Rollen generierten DDL ist „Kennwort“.<br />

204 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beispiel 16 Regeln – Generiert eine DDL für alle Regeln, die authors<br />

zugeordnet sind, auf einem Rechner namens HARBOR unter Verwendung<br />

von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TR -Nauthors.dbo.%<br />

Das %-Symbol fordert DDLGen auf, DDL für alle Regeln zu erstellen, die auf<br />

dem Server vorhanden sind.<br />

Sie können auch den vollständig qualifizierten Namen der Regel angeben:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TR -Ndb-Name.Eigentümer.Regelname<br />

Sie können alternativ dazu auch den -D-Parameter verwenden:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TR -NEigentümer.Regelname<br />

-Ddb-Name<br />

Beispiel 17 Segmente – Generiert eine DDL mithilfe des vollständig<br />

qualifizierten Formats db-Name.Segmentname in der -N-Option für ein<br />

Segment namens logsegment für die Datenbank pubs2 auf einem Rechner<br />

namens HARBOR unter Verwendung von Port 1955:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TSGM -Npubs2.logsegment<br />

Alternativ dazu können Sie auch db-Name angeben, indem Sie die -D-Option<br />

verwenden:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TGSM -NSegmentname -Ddb-Name<br />

Generieren von DDL für alle Segmente:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TSGM -Ndb-Name.%<br />

Beispiel 18 SQLJ-Funktionen – Generiert eine DDL für eine SQLJ-Funktion<br />

namens region_of, die dem Eigentümer dbo gehört und sich in der Datenbank<br />

master befindet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB –Nmaster.dbo.region_of<br />

Sie können alternativ dazu auch den -D-Parameter verwenden:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TDB –Ndbo.region_of –Dmaster<br />

Um eine DDL für alle SQLJ-Funktionen in einer Datenbank zu erzeugen,<br />

verwenden Sie Objekttyp F:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TF –Ndb-Name.Eigentümer.%<br />

<strong>Dienstprogramme</strong> 205


ddlgen<br />

Beispiel 19 SQLJ-Prozeduren – sind eine Art gespeicherte Prozedur. Sie<br />

können DDL für SQL-Prozeduren zusammen mit DDL für gespeicherte<br />

Prozeduren generieren. Folgende Anweisung erzeugt eine DDL für<br />

alle gespeicherten Prozeduren (einschl. SQLJ-Prozeduren), die dem<br />

Eigentümer dbo gehören und sich in der Datenbank master befinden:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TP –Nmaster.dbo.%<br />

Um eine DDL für alle SQLJ-Prozeduren zu erzeugen, die nur dem Eigentümer<br />

dbo gehören und sich in der Datenbank master befinden, verwenden Sie<br />

folgende Anweisung, wobei der erweiterte Typ OD sich auf SQLJ-Prozeduren<br />

bezieht:<br />

ddlgen -ULogin -PKennwort -SServer:Port - TP –Nmaster.dbo.% -XOD<br />

Um eine DDL für alle SQLJ-Prozeduren zu erzeugen, außer denjenigen,<br />

die dem Eigentümer dbo gehören und sich in der Datenbank master befinden,<br />

verwenden Sie folgende Anweisung, wobei der erweiterte Typ OU sich auf alle<br />

gespeicherten Prozeduren mit Ausnahme von SQLJ-Prozeduren bezieht:<br />

ddlgen -ULogin -PKennwort -SServer:Port - TP –Nmaster.dbo.% -XOU<br />

Beispiel 20 Gespeicherte Prozeduren – Generiert eine DDL für die<br />

gespeicherte Prozedur sp_monitor für die Datenbank pubs2 auf einem<br />

Rechner namens HARBOR unter Verwendung von Port 1955; hierzu wird<br />

das vollständig qualifizierte Format db-Name.Eigentümer.Prozedurname für<br />

die -N-Option verwendet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TP -Npubs2.dbo.sp_monitor<br />

Alternativ dazu können Sie auch db-Name angeben, indem Sie die -D-Option<br />

verwenden:<br />

DDLGen -ULogin -PKennwort -SServer:Port -TP -NEigentümer.Prozedurname<br />

-Ddb-Name<br />

Generieren von DDL für alle gespeicherten Prozeduren:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TP -Ndb-Name.Eigentümer.%<br />

Beispiel 21 Tabellen – Generiert eine DDL für alle Benutzertabellen in der<br />

Datenbank pubs2, die dem Eigentümer „dbo“ gehören und auf einem Rechner<br />

namens HARBOR unter Verwendung von Port 1955 laufen:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TU -Ndbo.% -Dpubs2<br />

Sie können auch den -N-Parameter verwenden, um den vollständig<br />

qualifizierten Namen der Tabelle anzugeben:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TU<br />

-Ndb-Name.Tabelleneigentümer.Tabellenname<br />

206 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Sie können alternativ dazu auch den -D-Parameter verwenden, um die<br />

Datenbank zu bestimmen:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TU<br />

-NTabelleneigentümer.Tabellenname -Ddb-Name<br />

Um eine DDL für alle Proxy-Tabellen, die den Wert OD verwendet,<br />

zu generieren, verwenden Sie statt dessen -XOD, wobei X der erweiterte<br />

Typ ist und OD Proxy-Tabellen kennzeichnet:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TU<br />

-NTabelleneigentümer.% -Ddb-Name -XOD<br />

Um eine DDL für alle Benutzertabellen, die den Wert OU verwendet,<br />

zu generieren, verwenden Sie statt dessen -XOU, wobei X der erweiterte<br />

Typ ist und OU Benutzertabellen kennzeichnet:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TU<br />

-NTabelleneigentümer.% -Ddb-Name -XOU<br />

Generieren von DDL für alle Tabellen einschl. Benutzertabellen und Proxy-<br />

Tabellen:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TU -Ndb-Name.Tabelleneigentümer.%<br />

Beispiel 22 Trigger – Generiert eine DDL für den Trigger checksum für die<br />

Datenbank pubs2 auf einem Rechner namens HARBOR unter Verwendung<br />

von Port 1955; hierzu wird das vollständig qualifizierte Format db-Name.<br />

Eigentümer.Triggername für die -N-Option verwendet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TTR -Npubs2.dbo.checksum<br />

Alternativ dazu können Sie auch Datenbankname angeben, indem Sie die -D-<br />

Option verwenden:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TTR<br />

-NEigentümer.Triggername -Ddb-Name<br />

Generieren von DDL für alle Trigger:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TTR -Ndb-Name.Eigentümer.%<br />

Beispiel 23 Benutzerdefinierte Datentypen – Generiert eine DDL für den<br />

benutzerdefinierten Datentyp „dentype“ für die Datenbank pubs2 auf einem<br />

Rechner namens HARBOR unter Verwendung von Port 1955; hierzu wird das<br />

vollständig qualifizierte Format db-Name.benutzerdefinierter_Datentyp für die<br />

-N-Option verwendet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TUDD -Npubs2.Identype<br />

Alternativ dazu können Sie auch die -D-Option verwenden, um db-Name<br />

anzugeben:<br />

<strong>Dienstprogramme</strong> 207


ddlgen<br />

ddlgen -ULogin -PKennwort -SServer:Port -TUDD<br />

-Nbenutzerdefinierter_Datentyp -Ddb-Name<br />

Generieren von DDL für alle benutzerdefinierten Datentypen:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TUDD -Ndb-Name.%<br />

Beispiel 24 Ansichten – Generiert eine DDL für eine Ansicht namens retail,<br />

die dem Eigentümer „Miller“ gehört und sich in der Datenbank pubs2 befindet,<br />

die auf einem Rechner namens HARBOR unter Verwendung von Port 1955<br />

läuft, hierzu wird das vollständig qualifizierte Format db-Name.Eigentümer.<br />

Ansichtsname mit der -N-Option verwendet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TV -Npubs2.miller.retail<br />

Anstelle des vollständig qualifizierten Namens können Sie auch die -D-Option<br />

verwenden:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TV -NEigentümer.Ansichtsname<br />

-Ddb-Name<br />

Generieren von DDL für alle Ansichten:<br />

DDLGen -ULogin -PKennwort -SServer:Port -TV -Ndb-Name.Eigentümer.%<br />

Beispiel 25 Benutzer – Generiert eine DDL für einen Benutzer namens<br />

„Smith“ in der Datenbank pubs2, die auf einem Rechner namens HARBOR<br />

unter Verwendung von Port 1955 läuft; hierzu wird das vollständig<br />

qualifizierte Format db-Name.Benutzername mit der -N-Option verwendet:<br />

ddlgen -Uroy -Proy123 -SHARBOR:1955 -TUSR -Npubs2.smith<br />

Oder Sie können die Optionen -N und -D anstelle eines vollständig<br />

qualifizierten Namens in -N verwenden:<br />

ddlgen -ULogin -PKennwort -SHostname:Port -TUSR -NBenutzername -Ddb-Name<br />

Generieren von DDL für alle Benutzer:<br />

ddlgen -ULogin -PKennwort -SServer:Port -TUSR -Ndb-Name.%<br />

Syntax ddlgen identifiziert keine vorhandenen Sequenzen innerhalb von<br />

Ansichten, gespeicherten Prozeduren oder Triggern. Daher müssen Sie<br />

beim Erzeugen von DDL für eine Datenbank zuerst ddlgen auf diesen<br />

Ansichten, gespeicherten Prozeduren und Triggern, die unabhängig sind,<br />

ausführen, bevor Sie ddlgen auf solchen mit Abhängigkeiten ausführen.<br />

Wenn zum Beispiel die Ansicht B von Ansicht A abhängt, müssen Sie<br />

ddlgen zuerst auf Ansicht A ausführen, bevor Sie es auf Ansicht B<br />

ausführen.<br />

208 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Die Standard-Informationen für ddlgen sind:<br />

Option Parameter benötigt Standardwerte<br />

-U Benutzername Ja Keiner<br />

-P Kennwort Ja Keiner<br />

-S Hostname:Portnummer Ja Keiner<br />

-T Objekttyp<br />

Eine Liste der gültigen Objekttypen finden<br />

Sie in Tabelle 8-3.<br />

Nein Datenbank<br />

-N Objektname Ja, wenn Objekttyp<br />

für -T nicht DB<br />

(Datenbank) ist.<br />

Standard-Datenbankname<br />

von Benutzername, wenn<br />

-TObjekttyp db ist bzw. -T<br />

nicht angegeben ist.<br />

-D Datenbankname Nein Standarddatenbank von<br />

Benutzername.<br />

-X erweiterter_Objekttyp<br />

Optionen sind OU bei Benutzertabellen und<br />

OD bei Proxy-Tabellen.<br />

Nein; nur verwendet,<br />

wenn Objekttyp für -T<br />

U (Benutzertabellen),<br />

P (Prozedur), DB<br />

(Datenbank) ist.<br />

Keiner<br />

-O Ausgabedatei-Name Nein Standard out<br />

-E Fehlerdatei-Name Nein Standard out<br />

-L Logdatei-Name Nein Keiner<br />

-V Versionsnummer von ddlgen Nein Keiner<br />

Um ddlgen von einer Befehlszeile aus aufzurufen, müssen Sie JRE 1.1.8<br />

oder höher installieren und DDLGen.jar in Ihrem Klassenpfad haben.<br />

Auf der Befehlszeile rufen Sie ddlgen unter Verwendung der DDLGen.sh-<br />

Datei (DDLGen.bat für Windows NT), die in Ihrer Adaptive Server-<br />

Installation enthalten ist. Die Hauptklasse in DDLGen.jar ist<br />

com.sybase.ddlgen.DDLGenerator.<br />

So starten Sie ddlgen in <strong>Sybase</strong> Central, dem Plug-In-Programm für<br />

Adaptive Server:<br />

a Rechtsklicken Sie auf das Objekt, für welches Sie eine DDL<br />

generieren wollen.<br />

b Wählen Sie DDL erstellen.<br />

In der ausgegebenen DDL von create table werden Bindungsanweisungen<br />

als unabhängige DLL und nicht als abhängige DLL generiert.<br />

<strong>Dienstprogramme</strong> 209


defncopy<br />

Filter<br />

Wenn Sie einen ungültigen Filterparameter verwenden, erzeugt ddlgen eine<br />

Warnung, ignoriert diesen Parameter und fährt mit den restlichen gültigen<br />

Parametern, die Sie angeben, fort.<br />

Wenn Sie % zusammen mit anderen Filterparametern angeben, ignoriert<br />

ddlgen alle anderen filterbaren Parameter und zeigt nur Schema-Definitionen<br />

an. Anschließend wertet ddlgen die Abhängigkeiten innerhalb der Untergruppe<br />

der angewendeten Parameter weiterhin als filterbare Parameter für die<br />

Datenbank.<br />

Berechtigungen Da ddlgen Daten aus Systemkatalogen abrufen muss, müssen die Benutzer<br />

entweder als „dbo“ angemeldet sein oder über die Select- Berechtigung auf<br />

syscatalogs verfügen.<br />

defncopy<br />

Beschreibung Kopiert Definitionen für angegebene Ansichten, Regeln, Standardwerte,<br />

Trigger oder Prozeduren aus einer Datenbank in eine Betriebssystemdatei<br />

bzw. aus einer Betriebssystemdatei in eine Datenbank. Standort ist<br />

$SYBASE/$SYBASE_OCS/bin.<br />

Windows NT Das Dienstprogramm heißt defncopy.exe und befindet sich<br />

unter %SYBASE%\%SYBASE_OCS%\bin.<br />

Syntax defncopy<br />

[-X]<br />

[-a Anzeige-Zeichensatz]<br />

[-I Interfaces-Datei]<br />

[-J [Client-Zeichensatz]]<br />

[-K Keytab-Datei]<br />

[-P Kennwort]<br />

[-R entfernter_Hauptserver]<br />

[-S [Servername]]<br />

[-U Benutzername]<br />

[-V Sicherheitsoptionen]<br />

[-Z Sicherheitsmechanismus]<br />

[-z Sprache]<br />

{ in Dateiname Datenbankname |<br />

out Dateiname Datenbankname [Eigentümer.]Objektname<br />

[[Eigentümer.]Objektname...] }<br />

Oder<br />

defncopy -v<br />

210 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Parameter -X<br />

stellt das Login in dieser Verbindung zum Server mit Kennwortverschlüsselung<br />

durch den Client her. defncopy (der Client) gibt dem<br />

Server bekannt, dass die Kennwortverschlüsselung gewünscht wird.<br />

Der Server sendet einen Verschlüsselungsschlüssel zurück, den defncopy<br />

zur Verschlüsselung Ihres Kennworts und der Server verwendet, um die<br />

Zugangserlaubnis Ihres Kennworts zu überprüfen, wenn es ankommt.<br />

Wenn defncopy ausfällt, erstellt das System eine Core-Datei, die Ihr<br />

Kennwort enthält. Wenn Sie die Verschlüsselungsoption nicht verwendet<br />

haben, wird Ihr Kennwort als normaler Text in der Datei angezeigt. Wenn<br />

Sie die Verschlüsselungsoption verwenden, ist Ihr Kennwort nicht lesbar.<br />

-a Anzeige-Zeichensatz<br />

führt defncopy von einem Terminal aus, dessen Zeichensatz von dem des<br />

Rechners, auf dem defncopy läuft, verschieden ist. -a in Verbindung mit -J<br />

gibt die Zeichensatzkonvertierungs-Datei (.xlt-Datei) an, die für die<br />

Konvertierung erforderlich ist. Verwenden Sie -a ohne -J nur dann,<br />

wenn der Client-Zeichensatz mit dem Standardzeichensatz identisch ist.<br />

Hinweis Der ascii_7-Zeichensatz ist mit allen anderen Zeichensätzen<br />

kompatibel. Wenn entweder der Adaptive Server- oder der Clientzeichensatz<br />

auf ascii_7 eingestellt ist, können alle 7-Bit-ASCII-Zeichen unverändert<br />

zwischen Client und Server übermittelt werden. Andere Zeichen erzeugen<br />

Konvertierungsfehler. Weitere Hinweise zur Zeichensatzkonvertierung finden<br />

Sie in der Dokumentation Systemadministration für Adaptive Server<br />

Enterprise.<br />

-I Interfaces-Datei<br />

gibt den Namen und Position der Interfaces-Datei an, die durchsucht werden<br />

soll, wenn eine Verbindung mit Adaptive Server hergestellt wird. Wenn Sie<br />

für -I keine Angaben machen, sucht defncopy auf UNIX-Plattformen nach<br />

einer Datei namens interfaces in dem Verzeichnis, das durch die SYBASE-<br />

Umgebungsvariable bestimmt wird, und nach sql.ini im ini-Unterverzeichnis<br />

für Ihr <strong>Sybase</strong>-Versionsverzeichnis in Windows NT.<br />

<strong>Dienstprogramme</strong> 211


defncopy<br />

-J Client-Zeichensatz<br />

gibt den Zeichensatz an, der auf dem Client verwendet wird. Ein Filter<br />

konvertiert die Eingabe zwischen Client-Zeichensatz und dem Adaptive<br />

Server-Zeichensatz.<br />

-J Client-Zeichensatz verlangt, dass Adaptive Server in und von Client-<br />

Zeichensatz, dem Zeichensatz des Clients, konvertiert.<br />

-J ohne Argument stellt die Zeichensatzkonvertierung auf NULL. Es findet<br />

keine Konvertierung statt. Verwenden Sie dies, wenn der Client und der<br />

Server denselben Zeichensatz verwenden.<br />

Das Weglassen von -J stellt den Zeichensatz auf einen Standardwert der<br />

Plattform ein. Der Standardwert ist nicht unbedingt der Zeichensatz, den<br />

der Client verwendet. Weitere Hinweise über Zeichensätze und zugeordnete<br />

Optionen finden Sie in der Dokumentation Systemadministration für<br />

Adaptive Server Enterprise und in der Konfigurationsanleitung für Ihre<br />

Plattform.<br />

-K Keytab-Datei<br />

gibt den Pfad zur Keytab-Datei an, die zur Authentifizierung in DCE<br />

verwendet wird.<br />

-P Kennwort<br />

gibt Ihr Kennwort an. Wenn Sie -P nicht verwenden, fordert defncopy zur<br />

Eingabe Ihres Kennworts auf.<br />

-R entfernter_Hauptserver<br />

legt den Hauptnamen für den Server fest. Standardmäßig entspricht der<br />

Hauptname dem Netzwerknamen des Servers (der mit dem -S-Parameter<br />

oder der DSQUERY-Umgebungsvariablen angegeben wird). Verwenden<br />

Sie den -R-Parameter, wenn der Hauptname des Servers nicht mit seinem<br />

Netzwerknamen übereinstimmt.<br />

-S Servername<br />

gibt den Namen der Adaptive Server-Installation an, mit dem die<br />

Verbindung hergestellt werden soll. Wenn Sie -S ohne Argument eingeben,<br />

sucht defncopy nach einem Server namens SYBASE. Wenn Sie -S nicht<br />

angeben, verwendet defncopy den Server, der durch Ihre DSQUERY-<br />

Umgebungsvariable festgelegt wird.<br />

-U Benutzername<br />

gibt einen Login-Namen an. Login-Namen reagieren auf Groß/<br />

Kleinschreibung. Wenn Sie Benutzername nicht angeben, verwendet<br />

defncopy den Betriebssystem-Login-Namen des aktuellen Benutzers.<br />

212 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-V Sicherheitsoptionen<br />

legt eine netzbasierte Benutzer-Authentifizierung fest. Bei dieser Option<br />

muss sich der Benutzer beim Sicherheitssystem des Netzwerks anmelden,<br />

bevor er das Dienstprogramm ausführt. In diesem Fall muss der Benutzer<br />

den Netzwerk-Benutzernamen mit der-U-Option angeben; ein mit der<br />

-P-Option angegebenes Kennwort wird ignoriert.<br />

-V – Auf diesen Parameter kann eine Sicherheitsoptionen-Zeichenfolge<br />

folgen, die Schlüsselzeichen für die Aktivierung zusätzliche<br />

Sicherheitsdienste enthalten. Es gibt folgende Schlüsselzeichen:<br />

c – Datenvertraulichkeitsdienst aktivieren<br />

c – Datenintegritätsdienst aktivieren<br />

m – Gegenseitige Authentifizierung für Verbindungserstellung<br />

aktivieren<br />

c – Abzeichnungsdienst für Datenursprung aktivieren<br />

r – Datenwiedergabeermittlung aktivieren<br />

q – Feststellung von Fehlern in der Sequenzreihenfolge aktivieren<br />

-Z Sicherheitsmechanismus<br />

legt den Namen eines Sicherheitsmechanismus fest, der bei der Verbindung<br />

verwendet werden soll.<br />

Namen für Sicherheitsmechanismen sind in der Konfigurationsdatei<br />

$SYBASE/install/libtcl.cfg festgelegt. Wenn kein Name für den<br />

Sicherheitsmechanismus angegeben ist, wird der Standardmechanismus<br />

verwendet. Weitere Hinweise zu Namen für den Sicherheitsmechanismus<br />

entnehmen Sie der Beschreibung der libtcl.cfg-Datei in der Dokumentation<br />

Open Client/Server Configuration Guide.<br />

-z Sprache<br />

ist der offizielle Name einer Alternativsprache, die der Server zur Anzeige<br />

von defncopy-Eingabeaufforderungen und Meldungen verwendet. Ohne die<br />

-z-Option verwendet defncopy die Standardsprache des Servers.<br />

Sie fügen Sprachen einem Adaptive Server-System während der Installation<br />

hinzu, oder später mit dem Dienstprogramm langinstall (langinst in<br />

Windows NT) bzw. mit der gespeicherten Prozedur sp_addlanguage.<br />

<strong>Dienstprogramme</strong> 213


defncopy<br />

in | out<br />

legt die Richtung der Definitionskopie fest.<br />

Dateiname<br />

legt den Namen der Betriebssystemdatei (Ziel oder Quelle) für die<br />

Definitionskopie fest. Die Kopie überschreibt etwaig vorhandene Dateien.<br />

Datenbankname<br />

legt den Namen der Datenbank fest, aus der oder in die die Definitionen<br />

kopiert werden.<br />

Eigentümer<br />

ist fakultativ, wenn Ihnen oder dem Datenbankeigentümer die Tabelle<br />

gehört, die kopiert wird. Wenn Sie keinen Eigentümer angeben, sucht<br />

defncopy zuerst nach einer Tabelle dieses Namens, die Ihnen gehört, und<br />

dann nach einer, die dem Datenbankeigentümer gehört. Wenn die Tabelle<br />

einem anderen Benutzer gehört, müssen Sie den Namen des Eigentümers<br />

angeben, oder der Befehl schlägt fehl.<br />

Objektname<br />

gibt die Namen von Datenbankobjekten an, die defncopy aus einer<br />

Datenbank kopieren soll. Verwenden Sie objectname nicht, wenn Sie<br />

Definitionen in die Datenbank kopieren.<br />

-v<br />

zeigt Versionsnummer und Copyright-Meldung von defncopy an und kehrt<br />

zum Betriebssystem zurück.<br />

Beispiele Beispiel 1 Kopiert Definitionen aus der Datei new_proc in die Datenbank<br />

stagedb auf dem Server MERCURY. Die Verbindung mit MERCURY wird<br />

mit dem Benutzernamen „sa“ und einem NULL-Kennwort hergestellt:<br />

defncopy -Usa -P -SMERCURY in new_proc stagedb<br />

Beispiel 2 Kopiert Definitionen für die Objekte sp_calccomp und sp_vacation<br />

aus der employees-Datenbank auf dem SYBASE-Server in die Datei dc.out.<br />

Meldungen und Eingabeaufforderungen werden auf Französisch angezeigt.<br />

Der Benutzer wird zur Eingabe eines Kennworts aufgefordert:<br />

defncopy -S -z french out dc.out employees sp_calccomp sp_vacation<br />

214 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Syntax Verwenden Sie diese Syntax bei defncopy_r, wenn Sie Thread-Treiber<br />

verwenden.<br />

Verwenden Sie diese Syntax bei defncopy_dce, wenn Sie Thread-Treiber<br />

auf der IBM-Plattform verwenden.<br />

Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor<br />

Sie defncopy verwenden können.<br />

Das defncopy -Dienstprogramm kann keine Tabellendefinitionen oder<br />

Protokolle kopieren, die mit Report Workbench erstellt wurden.<br />

Rufen Sie das defncopy-Programm direkt vom Betriebssystem auf.<br />

defncopy stellt eine nicht-interaktive Möglichkeit dar, Definitionen<br />

(create-Anweisungen) für Ansichten, Regeln, Standardwerte, Trigger<br />

und Prozeduren von einer Datenbank auf eine Betriebssystemdatei zu<br />

kopieren. Oder Sie können alle Definitionen aus einer angegebenen Datei<br />

in eine Datenbank kopieren.<br />

Die Angabe von in Dateiname oder out Dateiname und des<br />

Datenbanknamens ist erforderlich und muss eindeutig sein. Beim<br />

Kopieren aus einer Datenbank verwenden Sie Dateinamen, die sowohl<br />

auf den Namen des Objekts als auch auf seinen Eigentümer verweisen.<br />

defncopy beendet jede Definition, die aus einer Datenbank kopiert wird,<br />

mit folgendem Kommentar:<br />

/* ### DEFNCOPY: END OF DEFINITION */<br />

Definitionen, die Sie als Text erstellen, müssen mit diesem Kommentar<br />

aufhören, da defncopy sie sonst nicht erfolgreich kopieren kann.<br />

Setzen Sie in defncopy angegebene Werte in Klammern, wenn sie Zeichen<br />

enthalten, die für die Shell möglicherweise signifikant sind.<br />

Achtung! Lange Kommentare mit mehr als 100 Zeichen, die vor einer<br />

create-Anweisung platziert sind, können dazu führen, dass defncopy<br />

fehlschlägt.<br />

Berechtigungen Sie müssen die select-Berechtigung für die sysobjects- und syscomments-<br />

Tabellen haben, um Definitionen zu kopieren; Sie benötigen nicht die<br />

Berechtigung für das Objekt selbst.<br />

<strong>Dienstprogramme</strong> 215


defncopy<br />

Benutzte Tabellen syscomments, sysobjects<br />

Siehe auch Befehle create, select<br />

Sie haben möglicherweise keine select-Berechtigung für die text-Spalte<br />

der syscomments-Tabelle, wenn der Sicherheitsadministrator (SSO)<br />

den allow select on syscomments.text column-Parameter mit der<br />

Systemprozedur sp_configure wiederhergestellt hat. Diese Neueinstellung<br />

beschränkt die select-Berechtigung auf den Objekteigentümer und den<br />

Systemadministrator. Diese Einschränkung ist erforderlich, um Adaptive<br />

Server in der bewerteten Konfiguration auszuführen, wie in der<br />

Installations- und Konfigurationsdokumentation für Ihre Plattform<br />

beschrieben. In diesem Fall muss der Objekteigentümer oder der System-<br />

Administrator defncopy ausführen, um Definitionen zu exportieren.<br />

Hinweis Wenn der Text verschlüsselt wurde, kann er vor Ihnen verborgen<br />

sein, auch wenn Sie alle erforderlichen Berechtigungen haben. Nähere<br />

Informationen hierzu finden Sie unter „Verifying and Encrypting Source<br />

Text“ in der Dokumentation Transact-SQL User’s Guide.<br />

Sie müssen die entsprechende create-Berechtigung für den Typ von<br />

Objekten haben, den Sie in eine Datenbank kopieren. Importierte Objekte<br />

gehören dem Kopierer. Ein System-Administrator, der Definitionen im<br />

Auftrag eines Benutzers in eine Datenbank kopiert, muss sich unter<br />

dem Namen dieses Benutzers anmelden, um ihm den Zugriff auf die<br />

wiedererstellten Datenbankobjekte zu ermöglichen.<br />

Systemprozeduren sp_addlanguage, sp_checkreswords, sp_configure,<br />

sp_procqmode, sp_remap<br />

<strong>Dienstprogramme</strong> langinstall<br />

216 Adaptive Server Enterprise


dscp<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Nur UNIX-Plattformen Ermöglicht es Ihnen, auf UNIX-Plattformen<br />

Servereinträge in der Interfaces-Datei von der Befehlszeile aus anzuzeigen<br />

und zu bearbeiten. Standort ist $SYBASE/$SYBASE_OCS/bin.<br />

Syntax dscp [-p]<br />

oder<br />

dscp -v<br />

So beenden Sie dscp:<br />

quit<br />

oder<br />

exit<br />

Parameter -p<br />

unterdrückt Eingabeaufforderungen in der Befehlszeile.<br />

-v<br />

zeigt Versionsnummer und Copyright-Meldung von dscp an und kehrt zum<br />

Betriebssystem zurück.<br />

Beispiele Öffnet die Standard-Interfaces-Datei zur Bearbeitung und unterdrückt die<br />

Eingabeaufforderung in der Befehlszeile.<br />

dscp -p<br />

Syntax Verwenden Sie diese Syntax bei dscp_r, wenn Sie Thread-Treiber<br />

verwenden.<br />

Verwenden Sie diese Syntax bei dscp_dce, wenn Sie Thread-Treiber<br />

auf der IBM-Plattform verwenden<br />

Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor Sie<br />

dscp verwenden können.<br />

Das dscp-Dienstprogramm ist ein auf Text basierendes Dienstprogramm.<br />

In Kapitel 5, „dscp verwenden“ finden Sie weitere Hinweise über das<br />

dscp-Dienstprogramm.<br />

Siehe auch <strong>Dienstprogramme</strong> dsedit<br />

<strong>Dienstprogramme</strong> 217


dsedit<br />

dsedit<br />

Beschreibung UNIX-Plattformen Das dsedit-Dienstprogramm ermöglicht es Ihnen,<br />

auf UNIX-Plattformen Servereinträge in der Interfaces-Datei anzuzeigen<br />

und zu bearbeiten, indem Sie eine auf X11/Motif basierende grafische<br />

Benutzeroberfläche (GUI) verwenden. Das Dienstprogramm befindet<br />

sich unter $SYBASE/$SYBASE_OCS/bin.<br />

Windows NT Das Dienstprogramm dsedit.exe erstellt und ändert<br />

Netzwerkverbindungsinformationen in der Interfaces-Datei. Das<br />

Dienstprogramm befindet sich unter %SYBASE%\%SYBASE_OCS%bin.<br />

Syntax dsedit<br />

oder<br />

dsedit -v<br />

Parameter -v<br />

zeigt Versionsnummer und Copyright-Meldung von dsedit an.<br />

Syntax Verwenden Sie diese Syntax bei dsedit_r, wenn Sie Thread-Treiber<br />

verwenden.<br />

Verwenden Sie diese Syntax bei dsedit_dce, wenn Sie Thread-Treiber<br />

auf der IBM-Plattform verwenden.<br />

Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor Sie<br />

dsedit verwenden können.<br />

Siehe auch <strong>Dienstprogramme</strong> dscp<br />

Sie müssen die DISPLAY-Umgebungsvariable einstellen, bevor Sie dsedit<br />

aufrufen, außer Sie verwenden den -v-Parameter, um die Versionsnummer<br />

anzuzeigen.<br />

Weitere Hinweise über das dsedit-Dienstprogramm finden Sie in<br />

Kapitel 4, „dsedit verwenden“ sowie in der Installationsanleitung<br />

und der Konfigurationsanleitung für Ihre Plattform.<br />

218 Adaptive Server Enterprise


extractjava<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Kopiert eine gespeicherte JAR-Datei und die darin enthaltenen Klassen<br />

von einer Adaptive Server-Installation in eine Clientdatei. Standort ist<br />

$SYBASE/$SYBASE_OCS/bin.<br />

Unter Windows NT Das Dienstprogramm heißt extrjava.exe und befindet<br />

sich unter %SYBASE%\%SYBASE_OCS%\bin.<br />

Syntax extractjava (extrjava in Windows NT)<br />

-j jar-Name<br />

-f Dateiname<br />

[-S Servername]<br />

[-U Benutzername]<br />

[-P Kennwort]<br />

[-D Datenbankname]<br />

[-I Interfaces-Datei]<br />

[-a Anzeige-Zeichensatz]<br />

[-J Client-Zeichensatz]<br />

[-z Sprache]<br />

[-t Zeitüberschreitung]<br />

[-v]<br />

Oder<br />

extractjava -v<br />

Parameter -j jar-Name<br />

der Name, der der gespeicherten JAR-Dateien in der Datenbank zugeordnet<br />

ist, die die Quelle der Übertragung ist.<br />

-f Dateiname<br />

der Name der Clientdatei, die das Ziel der Übertragung ist.<br />

-S Servername<br />

der Name des Servers.<br />

-U Benutzername<br />

ein Adaptive Server-Login-Name. Wenn Sie die -U-Option und Parameter<br />

weglassen oder die -U-Option ohne Parameter angeben, verwendet Adaptive<br />

Server den Betriebssystem-Login-Namen des aktuellen Benutzers.<br />

-P Kennwort<br />

ein Adaptive Server-Kennwort. Wenn Sie die -P-Option und Parameter<br />

weglassen, fordert Sie extractjava zur Eingabe eines Kennworts auf.<br />

Wenn Sie die -P-Option ohne Kennwort angeben, wird das Null-Kennwort<br />

verwendet.<br />

<strong>Dienstprogramme</strong> 219


extractjava<br />

-D Datenbankname<br />

der Name der Datenbank, in der die JAR-Datei installiert werden soll. Wenn<br />

Sie die -D-Option weglassen oder die -D-Option ohne Parameter angeben,<br />

wird die Standarddatenbank des Benutzers verwendet.<br />

-I Interfaces-Datei<br />

der Name und die Position der Interfaces-Datei, die durchsucht werden soll,<br />

wenn mit Adaptive Server verbunden wird. Wenn Sie die -I-Option und<br />

Parameter weglassen oder die -I-Option ohne Parameter angeben, wird die<br />

Interfaces-Datei in dem Verzeichnis verwendet, auf das Ihre SYBASE-<br />

Umgebungsvariable verweist.<br />

-a Anzeige-Zeichensatz<br />

damit können Sie extractjava von einem Rechner aus verwenden, dessen<br />

Zeichensatz sich von dem des Servers unterscheidet. -a in Verbindung mit -J<br />

gibt die Zeichensatzkonvertierungs-Datei (.xlt-Datei) an, die für die<br />

Konvertierung erforderlich ist. Verwenden Sie -a ohne -J nur dann,<br />

wenn der Client-Zeichensatz mit dem Standardzeichensatz identisch ist.<br />

-J Client-Zeichensatz<br />

gibt den Zeichensatz an, der auf dem Client verwendet wird. extractjava<br />

verwendet einen Filter, um die Eingabe zwischen Client-Zeichensatz und<br />

dem Adaptive Server-Zeichensatz zu konvertieren.<br />

-J Client-Zeichensatz verlangt, dass Adaptive Server in und von Client-<br />

Zeichensatz, dem auf dem Client verwendeten Zeichensatz, konvertiert.<br />

-J ohne Argument deaktiviert die Zeichensatz-Konvertierung. Verwenden<br />

Sie diese Einstellung, wenn Client und Server denselben Zeichensatz<br />

verwenden.<br />

Das Weglassen von -J stellt den Zeichensatz auf einen Standardwert der<br />

Plattform ein, der nicht unbedingt der Zeichensatz ist, den der Client<br />

verwendet. Weitere Hinweise über Zeichensätze und ihre zugeordneten<br />

Optionen finden Sie in den Dokumentation Systemadministration für<br />

Adaptive Server Enterprise.<br />

-z Sprache<br />

der Name einer Alternativsprache, um extractjava-Eingabeaufforderungen<br />

und -Meldungen anzuzeigen. Ohne die -z-Option verwendet extractjava die<br />

Standardsprache des Servers. Sie können einem Adaptive Server-System<br />

während der Installation oder später mit dem langinstall-Dienstprogramm<br />

bzw. mit der gespeicherten Prozedur sp_addlanguage andere Sprachen<br />

hinzufügen.<br />

220 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-t Zeitüberschreitung<br />

legt die Anzahl der Sekunden fest, bevor für den SQL-Befehl eine<br />

Zeitüberschreitung eintritt. Wenn Sie keine Zeitüberschreitung festlegen,<br />

wird ein Befehl ohne Zeitbeschränkung ausgeführt. Das wirkt sich auf<br />

Befehle aus, die von extractjava ausgegeben werden, und nicht auf die<br />

Verbindungszeit. Die Standard-Zeitüberschreitung zum Anmelden bei<br />

extractjava beträgt 60 Sekunden.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für extractjava an und<br />

beendet dann.<br />

Beispiele Lädt die der employees-JAR-Datei zugeordneten Klassen in die Clientdatei<br />

newaddr.jar herunter.<br />

UNIX:<br />

extractjava -j employees -f '/home/usera/jars/addr.jar' -new<br />

Windows NT:<br />

extrjava -j employees -f '\home\usera\jars\addr.jar' -new<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor Sie<br />

extractjava verwenden können.<br />

Wenn die Ziel-Clientdatei bereits existiert, wird ihr Inhalt von extractjava<br />

überschrieben.<br />

Die Parameteroptionen -f, -j, -S, -U, -P, -D und -I können mit oder ohne<br />

Leerstelle zwischen dem Optionsbuchstaben und dem folgenden<br />

Parameter geschrieben werden.<br />

Wenn Sie extractjava ausführen, wird eine Exklusivsperre auf<br />

sysxtypes gelegt.<br />

Wenn -jar angegeben ist, wird eine exklusive Tabellensperre auf<br />

sysjars gelegt.<br />

Weitere Hinweise über die Verwendung dieses Dienstprogramms, wenn<br />

Java in der Datenbank aktiviert ist, finden Sie in der Dokumentation Java<br />

in Adaptive Server Enterprise.<br />

<strong>Dienstprogramme</strong> 221


installjava<br />

Berechtigungen Sie müssen Systemadministrator oder Datenbankeigentümer sein,<br />

um extractjava auszuführen.<br />

Benutzte Tabellen sysjars, sysxtypes<br />

Siehe auch Befehle remove java<br />

installjava<br />

Systemprozeduren sp_helpjava<br />

<strong>Dienstprogramme</strong> installjava<br />

Beschreibung Installiert eine JAR-Datei von einer Clientdatei in eine Adaptive Server-<br />

Installation. Das Dienstprogramm befindet sich unter $SYBASE/<br />

$SYBASE_OCS/bin.<br />

Windows NT Das Dienstprogramm heißt instjava.exe und befindet sich unter<br />

%SYBASE%\%SYBASE_OCS%\bin.<br />

Syntax installjava<br />

-f Dateiname<br />

[ -new | -update ]<br />

[ -j jar-Name ]<br />

[ -S Servername ]<br />

[ -U Benutzername ]<br />

[ -P Kennwort ]<br />

[ -D Datenbankname ]<br />

[ -I Interfaces-Datei ]<br />

[ -a Anzeige-Zeichensatz ]<br />

[ -J Client-Zeichensatz ]<br />

[ -z Sprache ]<br />

[ -t Zeitüberschreitung ]<br />

[-v]<br />

Oder<br />

installjava -v<br />

Parameter -f Dateiname<br />

der Name der Quellendatei, die die Klassen enthält, die in der Datenbank<br />

installiert werden sollen.<br />

222 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-new | -update<br />

legt fest, ob die Klassen in der Datei bereits in der Datenbank<br />

vorhanden sind.<br />

Wenn Sie den new-Parameter angeben, können Sie keine Klasse mit dem<br />

Namen einer vorhandenen Klasse installieren.<br />

Wenn Sie den update-Parameter angeben, können Sie eine Klasse mit<br />

dem Namen einer vorhandenen Klasse installieren, und die neu installierte<br />

Klasse ersetzt die vorhandene Klasse.<br />

-j jar-Name<br />

der Name der JAR-Datei, die die Klassen enthält, die in der Datenbank<br />

installiert werden sollen. Zeigt an, dass die JAR-Datei in der Datenbank<br />

gespeichert und den in ihr enthaltenen Klassen zugeordnet werden soll.<br />

-S Servername<br />

der Name des Servers.<br />

-U Benutzername<br />

ein Adaptive Server-Login-Name. Wenn Sie die -U-Option und Parameter<br />

weglassen oder die -U-Option ohne Parameter angeben, verwendet Adaptive<br />

Server den Betriebssystem-Login-Namen des aktuellen Benutzers.<br />

-P Kennwort<br />

ein Adaptive Server-Kennwort. Wenn Sie die -P-Option und Parameter<br />

weglassen, fordert Sie installjava zur Eingabe eines Kennworts auf. Wenn<br />

Sie die -P-Option ohne Kennwort angeben, wird das Null-Kennwort<br />

verwendet.<br />

-D Datenbankname<br />

der Name der Datenbank, in der die JAR-Datei installiert werden soll. Wenn<br />

Sie die -D-Option weglassen oder die -D-Option ohne Parameter angeben,<br />

wird die Standarddatenbank des Benutzers verwendet.<br />

-I Interfaces-Datei<br />

der Name und die Position der Interfaces-Datei, die durchsucht werden soll,<br />

wenn mit Adaptive Server verbunden wird. Wenn Sie die -I-Option und<br />

Parameter weglassen oder die -I-Option ohne Parameter angeben, wird die<br />

Interfaces-Datei in dem Verzeichnis verwendet, auf das Ihre SYBASE-<br />

Umgebungsvariable verweist.<br />

<strong>Dienstprogramme</strong> 223


installjava<br />

-a Anzeige-Zeichensatz<br />

damit können Sie installjava von einem Rechner aus verwenden, dessen<br />

Zeichensatz sich von dem des Servers unterscheidet. -a in Verbindung mit -J<br />

gibt die Zeichensatzkonvertierungs-Datei (.xlt-Datei) an, die für die<br />

Konvertierung erforderlich ist. Verwenden Sie -a ohne -J nur dann,<br />

wenn der Client-Zeichensatz mit dem Standardzeichensatz identisch ist.<br />

-J Client-Zeichensatz<br />

gibt den Zeichensatz an, der auf dem Client verwendet wird. installjava<br />

verwendet einen Filter, um die Eingabe zwischen Client-Zeichensatz und<br />

dem Adaptive Server-Zeichensatz zu konvertieren.<br />

-J Client-Zeichensatz verlangt, dass Adaptive Server in und von Client-<br />

Zeichensatz, dem auf dem Client verwendeten Zeichensatz, konvertiert.<br />

-J ohne Argument deaktiviert die Zeichensatz-Konvertierung. Verwenden<br />

Sie diese Einstellung, wenn Client und Server denselben Zeichensatz<br />

verwenden.<br />

Das Weglassen von -J stellt den Zeichensatz auf einen Standardwert der<br />

Plattform ein, der nicht unbedingt der Zeichensatz ist, den der Client<br />

verwendet. Weitere Hinweise über Zeichensätze und ihre zugeordneten<br />

Optionen finden Sie in den Dokumentation Systemadministration für<br />

Adaptive Server Enterprise.<br />

-z Sprache<br />

der Name einer Alternativsprache, um installjava-Eingabeaufforderungen<br />

und -Meldungen anzuzeigen. Ohne die -z-Option verwendet installjava die<br />

Standardsprache des Servers. Sie können einem Adaptive Server-System<br />

während der Installation oder später mit dem langinstall-Dienstprogramm<br />

bzw. mit der gespeicherten Prozedur sp_addlanguage andere Sprachen<br />

hinzufügen.<br />

-t Zeitüberschreitung<br />

legt die Anzahl der Sekunden fest, bevor für den SQL-Befehl eine<br />

Zeitüberschreitung eintritt. Wenn Sie keine Zeitüberschreitung festlegen,<br />

wird ein Befehl ohne Zeitbeschränkung ausgeführt. Das wirkt sich auf<br />

Befehle aus, die von installjava ausgegeben werden, und nicht auf die<br />

Verbindungszeit. Die Standard-Zeitüberschreitung zum Anmelden bei<br />

installjava beträgt 60 Sekunden.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für installjava an und<br />

beendet dann.<br />

224 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beispiele Beispiel 1 Installiert addr.jar und ihre Klassen, hält aber nicht die Zuordnung<br />

zwischen der JAR-Datei und den Klassen aufrecht:<br />

installjava -f '/home/usera/jars/addr.jar' -new<br />

In Windows NT:<br />

instjava -f '\home\usera\jars\addr.jar' -new<br />

Beispiel 2 Reinstalliert addr.jar und ordnet ihre Klassen dem employees-JAR-<br />

Dateinamen zu:<br />

installjava -f '/home/usera/jars/addr.jar' -update -j employees<br />

In Windows NT:<br />

instjava -f '\home\usera\jars\addr.jar' -update -j employees<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor Sie<br />

installjava verwenden können.<br />

Weitere Hinweise über die Verwendung dieses Dienstprogramms,<br />

wenn Java in der Datenbank aktiviert ist, finden Sie in der Dokumentation<br />

Java in Adaptive Server Enterprise.<br />

Jeder Benutzer kann installierte Klassen referenzieren.<br />

Die Parameteroptionen -f, -j, -S, -U, -P, -D und -I können mit oder ohne<br />

Leerstelle zwischen dem Optionsbuchstaben und dem folgenden<br />

Parameter geschrieben werden.<br />

Neue JAR-Dateien hinzufügen<br />

Wenn Sie „new“ mit der -jar-Option verwenden und eine JAR-Datei<br />

dieses Namens bereits auf der Datenbank vorhanden ist, tritt eine<br />

Ausnahmebedingung ein.<br />

Wenn irgendwelche Klassen desselben Namens wie die in der Quellen-<br />

JAR-Datei bereits in der Datenbank vorhanden sind, tritt eine<br />

Ausnahmebedingung ein.<br />

JAR-Dateien und Klassen aktualisieren<br />

Achtung! Wenn Sie eine Klasse ändern, die als ein Spaltendatentyp verwendet<br />

wird, indem Sie eine geänderte Version der Klasse reinstallieren, müssen<br />

Sie sicherstellen, dass die geänderte Klasse vorhandene Objekte (Zeilen)<br />

in Tabellen lesen und verwenden kann, die diese Klasse als Datentyp<br />

verwenden. Sonst sind Sie möglicherweise nicht in der Lage, auf diese<br />

Objekte zuzugreifen, ohne die Klasse zu reinstallieren.<br />

<strong>Dienstprogramme</strong> 225


installjava<br />

Wenn Sie -update mit der -jar-Option verwenden, tritt Folgendes ein:<br />

Alle Klassen in der Datenbank, die der JAR-Datei zugeordnet sind,<br />

werden aus der Datenbank gelöscht und die Klassen in der Quellen-<br />

JAR-Datei werden installiert.<br />

Wenn eine Klasse in der Quellen-JAR-Datei bereits in der Datenbank<br />

installiert ist, ohne einer JAR-Datei zugeordnet zu sein, dann wird die<br />

Klasse in der Quellen-JAR-Datei in der Datenbank installiert, und die<br />

nicht zugeordnete Klasse wird gelöscht.<br />

Wenn Sie -update ohne die -jar-Option verwenden, tritt Folgendes ein:<br />

Klassen in der Quellen-JAR-Datei ersetzen nicht zugeordnete<br />

Klassen desselben Namens.<br />

Klassen in der Quellen-JAR-Datei, die keiner installierten Klasse<br />

entsprechen, werden als nicht zugeordnete Klassen in der Datenbank<br />

installiert.<br />

Wenn Sie eine neue JAR-Datei mit einem Ersatz für eine installierte<br />

Klasse installieren, die von einer SQLJ-Prozedur oder -Funktion<br />

referenziert wird, stellen Sie sicher, dass die neu installierte Klasse eine<br />

gültige Signatur für die SQLJ-Routine hat. Wenn die Signatur ungültig ist,<br />

wird eine Ausnahmebedingung ausgelöst, wenn die SQLJ-Routine<br />

aufgerufen wird.<br />

Sperren<br />

Wenn Sie installjava ausführen, wird eine Exklusivsperre auf<br />

sysxtypes gelegt.<br />

Wenn -jar angegeben ist, wird eine exklusive Tabellensperre auf<br />

sysjars gelegt.<br />

Berechtigungen Sie müssen Systemadministrator oder Datenbankeigentümer sein,<br />

um installjava auszuführen.<br />

Benutzte Tabellen sysjars, sysxtypes<br />

Siehe auch Befehle remove java<br />

Systemprozeduren sp_helpjava<br />

<strong>Dienstprogramme</strong> extractjava<br />

226 Adaptive Server Enterprise


isql<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Interactive SQL-Parser von Adaptive Server. Standort ist $SYBASE/<br />

ASE-12_5/bin.<br />

Windows NT Das Dienstprogramm heißt isql.exe unter %SYBASE%\<br />

ASE-12_5\bin.<br />

Syntax isql [-b] [-e] [-F] [-p] [-n] [-v] [-X] [-Y] [-Q]<br />

[-a Anzeige-Zeichensatz]<br />

[-A Paketgröße]<br />

[-c Befehlsende]<br />

[-D Datenbank]<br />

[-E Editor]<br />

[-h Header]<br />

[-H Hostname]<br />

[-i Eingabedatei]<br />

[-I Interfaces-Datei]<br />

[-J Client-Zeichensatz]<br />

[-K Keytab-Datei]<br />

[-l Login-Zeitüberschreitung]<br />

[-m Fehlerebene]<br />

[-o Ausgabedatei]<br />

[-P Kennwort]<br />

[-R entfernter_Hauptserver]<br />

[-s Spaltentrennzeichen]<br />

[-S Servername]<br />

[-t Zeitüberschreitung]<br />

-U Benutzername<br />

[-V [Sicherheitsoptionen]]<br />

[-w Spaltenbreite]<br />

[-z Sprachumgebung-Name]<br />

[-Z Sicherheitsmechanismus]<br />

So beenden Sie einen Befehl:<br />

go<br />

So löschen Sie den Abfragepuffer:<br />

reset<br />

So rufen Sie den Standard-Editor auf:<br />

vi<br />

<strong>Dienstprogramme</strong> 227


isql<br />

Parameter -b<br />

So führen Sie einen Betriebssystembefehl aus:<br />

!! Befehl<br />

So beenden Sie isql:<br />

oder<br />

quit<br />

exit<br />

deaktiviert die Anzeige der Tabellen-Header-Ausgabe.<br />

-e<br />

zeigt die Eingabe an (Echo).<br />

-F<br />

aktiviert den FIPS-Flagger. Wenn Sie den -F-Parameter angeben, gibt der<br />

Server eine Meldung zurück, wenn er auf einen Nicht-Standard-SQL-<br />

Befehl stößt. Diese Option deaktiviert nicht die SQL-Erweiterungen. Die<br />

Prozessverarbeitung wird fortgesetzt, wenn Sie den nicht zum ANSI-<br />

Standard gehörenden SQL-Befehl eingeben.<br />

-p<br />

druckt Performance-Statistiken.<br />

-n<br />

-v<br />

entfernt die Nummerierung und das Eingabeaufforderungssymbol (>)<br />

aus Eingabezeilen in der Ausgabedatei, wenn es zusammen mit -e<br />

verwendet wird.<br />

gibt die Versionsnummer und Copyright-Meldung für isql an und<br />

beendet dann.<br />

-X<br />

stellt das Login in dieser Verbindung zum Server mit<br />

Kennwortverschlüsselung durch den Client her. isql (der Client) gibt<br />

dem Server bekannt, dass die Kennwortverschlüsselung gewünscht wird.<br />

Der Server sendet einen Verschlüsselungsschlüssel zurück, den isql zur<br />

Verschlüsselung Ihres Kennworts verwendet, und der Server verwendet den<br />

Schlüssel, um die Zugangserlaubnis Ihres Kennworts zu überprüfen, wenn<br />

es ankommt.<br />

Wenn isql ausfällt, erstellt das System eine Core-Datei, die Ihr Kennwort<br />

enthält. Wenn Sie die Verschlüsselungsoption nicht verwendet haben,<br />

wird Ihr Kennwort als normaler Text in der Datei angezeigt. Wenn Sie<br />

die Verschlüsselungsoption verwenden, ist Ihr Kennwort nicht lesbar.<br />

228 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-Y<br />

weist Adaptive Server an, verkettete Transaktionen zu verwenden.<br />

-Q<br />

stattet Clients mit der Failover-Eigenschaft aus. Weitere Hinweise finden<br />

Sie in der Dokumentation Using <strong>Sybase</strong> Failover in a High Availability<br />

System.<br />

-a Anzeige-Zeichensatz<br />

führt isql von einem Terminal aus, dessen Zeichensatz von dem des<br />

Rechners, auf dem isql läuft, verschieden ist. -a in Verbindung mit -J gibt die<br />

Zeichensatzkonvertierungs-Datei (.xlt-Datei) an, die für die Konvertierung<br />

erforderlich ist. Verwenden Sie -a ohne -J nur dann, wenn der Client-<br />

Zeichensatz mit dem Standardzeichensatz identisch ist.<br />

Hinweis Der ascii_7-Zeichensatz ist mit allen anderen Zeichensätzen<br />

kompatibel. Wenn entweder der Adaptive Server- oder der Clientzeichensatz<br />

auf ascii_7 eingestellt ist, können alle 7-Bit-ASCII-Zeichen unverändert<br />

zwischen Client und Server übermittelt werden. Andere Zeichen erzeugen<br />

Konvertierungsfehler. Weitere Hinweise über Zeichensatz-Konvertierung<br />

finden Sie in der Dokumentation Systemadministration für Adaptive<br />

Enterprise.<br />

-A Paketgröße<br />

gibt die Netzwerk-Paketgröße an, die in dieser isql-Sitzung verwendet<br />

werden soll. Der folgende Befehl zum Beispiel stellt die Paketgröße auf<br />

2048 Byte für die aktuelle isql-Sitzung ein:<br />

isql -A 2048<br />

Um Ihre Netzwerk-Paketgröße zu überprüfen, geben Sie Folgendes ein:<br />

select * from sysprocesses<br />

Der Wert wird unter der Überschrift network_pktsz angezeigt.<br />

Größe muss zwischen den Werten der Konfigurationsparameter default<br />

network packet size und maximum network packet size liegen und ein<br />

Vielfaches von 512 sein.<br />

Verwenden Sie Paketgrößen, die größer als der Standardwert sind,<br />

um I/O-intensive Vorgänge wie zum Beispiel readtext oder writetext<br />

durchzuführen.<br />

Das Einstellen oder das Ändern der Paketgröße von Adaptive Server<br />

wirkt sich auf die Paketgröße eines Remote Procedure Calls nicht aus.<br />

<strong>Dienstprogramme</strong> 229


isql<br />

-c Befehlsende<br />

ändert das Befehlsabschlusszeichen. Standardmäßig sollten Sie Befehle<br />

abschließen und an die Adaptive Server-Installation senden, indem Sie „go“<br />

auf einer eigenen Zeile eingeben. Wenn Sie das Befehlsabschlusszeichen<br />

ändern, dürfen Sie keine reservierten SQL-Wörter oder Steuerungszeichen<br />

verwenden.<br />

-D Datenbank<br />

wählt die Datenbank aus, in der die isql-Sitzung beginnt.<br />

-E Editor<br />

legt einen anderen Editor als den Standard-Editor vi fest.<br />

-h Header<br />

bestimmt die Anzahl der Zeilen, die zwischen den Spaltentiteln gedruckt<br />

werden sollen. Mit der Standardeinstellung werden Überschriften nur<br />

einmal pro Abfrageergebnis ausgegeben.<br />

-H Hostname<br />

legt den Hostnamen des Clients fest.<br />

-i Eingabedatei<br />

gibt den Namen einer Betriebssystemdatei an, die die Eingaben für<br />

isql enthält. Die Datei muss Befehlsabschlusszeichen enthalten<br />

(standardmäßig „go“).<br />

Wenn Sie den Parameter folgendermaßen eingeben, ist er äquivalent zu<br />

< Eingabedatei:<br />

-i Eingabedatei<br />

Wenn Sie -i verwenden und in der Befehlszeile Ihr Kennwort nicht<br />

eingeben, fordert isql Sie zur Eingabe des Kennworts auf.<br />

Wenn Sie < Eingabedatei verwenden und in der Befehlszeile Ihr<br />

Kennwort nicht eingeben, müssen Sie Ihr Kennwort als erste Zeile in<br />

die Eingabedatei einfügen.<br />

-I Interfaces-Datei<br />

gibt den Namen und die Position der Interfaces-Datei an, die durchsucht<br />

werden soll, wenn eine Verbindung mit Adaptive Server hergestellt wird.<br />

Wenn Sie für -I keine Angaben machen, sucht isql nach einer Datei namens<br />

interfaces, die sich im von der SYBASE-Umgebungsvariablen<br />

angegebenen Verzeichnis befindet.<br />

230 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-J Client-Zeichensatz<br />

gibt den Zeichensatz an, der auf dem Client verwendet wird. -J Client-<br />

Zeichensatz verlangt, dass Adaptive Server in und von Client-Zeichensatz,<br />

dem auf dem Client verwendeten Zeichensatz, konvertiert. Ein Filter<br />

konvertiert die Eingabe zwischen Client-Zeichensatz und dem Adaptive<br />

Server-Zeichensatz.<br />

-J ohne Argument stellt die Zeichensatzkonvertierung auf NULL. Es findet<br />

keine Konvertierung statt. Verwenden Sie diese Einstellung, wenn Client<br />

und Server denselben Zeichensatz verwenden.<br />

Das Weglassen von -J stellt den Zeichensatz auf einen Standardwert der<br />

Plattform ein. Der Standard ist nicht unbedingt der Zeichensatz, den der<br />

Client verwendet. Weitere Hinweise über Zeichensätze und zugeordnete<br />

Optionen finden Sie in Kapitel 20, „Konfiguration der Client/Server-<br />

Zeichensatzkonvertierung“, in der Dokumentation Systemadministration<br />

für Adaptive Server Enterprise. Die Standardzeichensätze für verschiedene<br />

Plattformen sind folgende:<br />

Plattform Standardzeichensatz<br />

Sun Solaris, Digital UNIX, Pyramid, NCR, RS/6000 iso_1<br />

HP-UX roman8<br />

OS/2, Novell NetWare 386 cp850<br />

Macintosh mac<br />

-K Keytab-Datei<br />

gibt den Pfad zur Keytab-Datei an, die zur Authentifizierung in DCE<br />

verwendet wird.<br />

-l Login-Zeitüberschreitung<br />

legt den maximalen Zeitüberschreitungswert fest, der bei der Verbindung zu<br />

Adaptive Server erlaubt ist. Der Standard beträgt 60 Sekunden. Dieser Wert<br />

wirkt sich nur auf die Zeitspanne aus, in der isql auf den Server wartet, um<br />

auf einen Login-Versuch zu antworten. Um einen Zeitüberschreitungszeitraum<br />

für Prozessverarbeitung festzulegen, verwenden Sie den -t timeout-<br />

Parameter.<br />

-m Fehlerebene<br />

passt die Fehlermeldungsanzeige an. Bei Fehlern mit dem angegebenen<br />

Schweregrad oder höher werden nur die Meldungsnummer, der Status und<br />

die Fehlerebene angezeigt. Der Fehlertext wird weggelassen. Bei Fehlern<br />

unterhalb der angegebenen Fehlerebene erfolgt keine Anzeige.<br />

<strong>Dienstprogramme</strong> 231


isql<br />

-o Ausgabedatei<br />

gibt den Namen einer Betriebssystemdatei an, in der die Eingaben von isql<br />

gespeichert werden sollen. Die Angabe des Parameters als -o Ausgabedatei<br />

entspricht > Ausgabedatei.<br />

-P Kennwort<br />

gibt Ihr Adaptive Server-Kennwort an. Wenn Sie die -P-Option nicht<br />

angeben, fordert isql zur Eingabe eines Kennworts auf. Wenn Ihr Kennwort<br />

NULL ist, verwenden Sie die -P-Option ohne Kennwort.<br />

-R entfernter_Hauptserver<br />

legt den Hauptnamen für den Server fest, wie vom Sicherheitsmechanismus<br />

definiert. Standardmäßig entspricht der Hauptname dem Netzwerknamen<br />

des Servers (der mit dem -S-Parameter oder der DSQUERY-Umgebungsvariablen<br />

angegeben wird). Verwenden Sie den -R-Parameter, wenn der<br />

Hauptname des Servers nicht mit seinem Netzwerknamen übereinstimmt.<br />

-s Spaltentrennzeichen<br />

stellt das Spaltentrennungszeichen neu ein, das standardmäßig leer ist.<br />

Um Zeichen verwenden zu können, die eine spezielle Bedeutung für das<br />

Betriebssystem haben (zum Beispiel „|“, „;“, „&“, „“), schließen Sie<br />

sie in Anführungszeichen ein oder stellen ihnen einen Rückstrich voran.<br />

-S Servername<br />

gibt den Namen der Adaptive Server-Installation an, mit dem die<br />

Verbindung hergestellt werden soll. isql sucht nach diesem Namen in der<br />

Interfaces-Datei. Wenn Sie -S ohne Argument eingeben, sucht ISQL nach<br />

einem Server namens SYBASE. Wenn Sie -S nicht angeben, sucht isql nach<br />

dem Server, der durch Ihre DSQUERY-Umgebungsvariable festgelegt wird.<br />

-t Zeitüberschreitung<br />

legt die Anzahl der Sekunden fest, bevor für den SQL-Befehl eine<br />

Zeitüberschreitung eintritt. Wenn Sie keine Zeitüberschreitung festlegen,<br />

wird ein Befehl ohne Zeitbeschränkung ausgeführt. Das wirkt sich<br />

auf Befehle aus, die von isql ausgegeben werden, und nicht auf die<br />

Verbindungszeit. Die Standard-Zeitüberschreitung zum Anmelden bei<br />

isql beträgt 60 Sekunden.<br />

-U Benutzername<br />

gibt einen Login-Namen an. Login-Namen reagieren auf<br />

Groß/Kleinschreibung.<br />

232 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-V Sicherheitsoptionen<br />

legt eine netzbasierte Benutzer-Authentifizierung fest. Bei dieser Option<br />

muss sich der Benutzer beim Sicherheitssystem des Netzwerks anmelden,<br />

bevor er das Dienstprogramm ausführt. In diesem Fall muss der Benutzer<br />

den Netzwerk-Benutzernamen mit der-U-Option angeben; ein mit der<br />

-P-Option angegebenes Kennwort wird ignoriert.<br />

-V – Auf diesen Parameter kann eine Sicherheitsoptionen-Zeichenfolge<br />

folgen, die Schlüsselzeichen für die Aktivierung zusätzliche<br />

Sicherheitsdienste enthalten. Es gibt folgende Schlüsselzeichen:<br />

c – Datenvertraulichkeitsdienst aktivieren<br />

c – Datenintegritätsdienst aktivieren<br />

m – Gegenseitige Authentifizierung für Verbindungserstellung<br />

aktivieren<br />

c – Abzeichnungsdienst für Datenursprung aktivieren<br />

q – Feststellung von Fehlern in der Sequenzreihenfolge aktivieren<br />

r – Datenwiedergabeermittlung aktivieren<br />

-w Spaltenbreite<br />

stellt die Bildschirmbreite für die Ausgabe ein. Der Standardwert ist<br />

80 Zeichen. Wenn eine Ausgabezeile die maximale Bildschirmbreite<br />

erreicht, wird sie in mehrere Ausgabezeilen umgebrochen.<br />

-z Sprachumgebung-Name<br />

ist der offizielle Name einer Alternativsprache zur Anzeige von isql-<br />

Eingabeaufforderungen und Meldungen. Ohne -z verwendet isql die<br />

Standardsprache des Servers. Sie können einem Adaptive Server-System<br />

während der Installation oder später mit dem langinstall-Dienstprogramm<br />

bzw. mit der gespeicherten Prozedur sp_addlanguage andere Sprachen<br />

hinzufügen.<br />

-Z Sicherheitsmechanismus<br />

legt den Namen eines Sicherheitsmechanismus fest, der bei der Verbindung<br />

verwendet werden soll.<br />

Namen für Sicherheitsmechanismen sind in der Konfigurationsdatei<br />

libtcl.cfg festgelegt, die sich im ini-Unterverzeichnis unterhalb des<br />

<strong>Sybase</strong>-Installationsverzeichnisses befindet. Wenn kein Name für den<br />

Sicherheitsmechanismus angegeben ist, wird der Standardmechanismus<br />

verwendet. Weitere Hinweise zu Namen für den Sicherheitsmechanismus<br />

entnehmen Sie der Beschreibung der libtcl.cfg-Datei in der Dokumentation<br />

Open Client/Server Configuration Guide.<br />

<strong>Dienstprogramme</strong> 233


isql<br />

Beispiele Beispiel 1 Damit wird der Texteditor aufgerufen, in dem Sie die Abfrage<br />

bearbeiten können. Wenn Sie die Datei bearbeitet und gespeichert haben,<br />

kehren Sie zu isql zurück. Die Abfrage wird angezeigt; tippen Sie „go“ auf<br />

eine eigene Zeile, um sie auszuführen:<br />

isql -Ujoe -Pabracadabra<br />

1> select *<br />

2> from authors<br />

3> where city = "Oakland"<br />

4> vi<br />

Beispiel 2 reset löscht den Abfragepuffer. quit bringt Sie zum Betriebssystem<br />

zurück:<br />

isql -Ualma<br />

Password:<br />

1> select *<br />

2> from authors<br />

3> where city = "Oakland"<br />

4> reset<br />

1> quit<br />

Beispiel 3 Gibt an, dass Sie isql auf einem Macintosh gegenüber einem Server<br />

ausführen, der den roman8-Zeichensatz verwendet:<br />

isql -a mac -J roman8<br />

Syntax Verwenden Sie diese Syntax bei isql_r, wenn Sie Thread-Treiber<br />

verwenden.<br />

Verwenden Sie diese Syntax bei isql_dce, wenn Sie Thread-Treiber auf<br />

der IBM-Plattform verwenden.<br />

Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor Sie<br />

isql verwenden können.<br />

Die 5701-Servermeldung („changed database“) wird nicht mehr nach<br />

einem Login oder der Ausgabe des use database-Befehls angezeigt.<br />

Das Fehlermeldungsformat unterscheidet sich von den früheren isql-<br />

Versionen. Wenn Sie Skripten haben, die Routinen aufgrund der Werte<br />

dieser Meldungen ausführen, werden Sie sie möglicherweise umschreiben<br />

müssen.<br />

234 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Um isql interaktiv zu verwenden, geben Sie den Befehl isql<br />

(und alle zusätzlichen Parameter) nach der Eingabeaufforderung Ihres<br />

Betriebssystems ein. Das isql-Programm akzeptiert SQL-Befehle und<br />

sendet sie an Adaptive Server. Die Ergebnisse werden formatiert und<br />

als Standardausgabe gesandt. Sie beenden isql mit quit oder exit.<br />

Sie schließen einen Befehl ab, indem Sie das Standard-Befehlsabschlusszeichen<br />

go oder ein anderes Befehlsabschlusszeichen eingeben, wenn der<br />

-c-Parameter verwendet wird. Sie können dem Befehlsabschlusszeichen<br />

eine Gesamtzahl anfügen, um anzugeben, wie oft der Befehl ausgeführt<br />

werden soll. Um den Befehl zum Beispiel 100 Mal auszuführen, geben<br />

Sie Folgendes ein:<br />

select x = 1<br />

go 100<br />

Die Ergebnisse werden am Ende der Ausführung einmal angezeigt.<br />

Wenn Sie eine Option mehr als einmal in der Befehlszeile angeben,<br />

verwendet isql den letzten Wert. Wenn Sie zum Beispiel den folgenden<br />

Befehl eingeben, überschreibt „send“, der zweite Wert für -c, „.“,<br />

den ersten Wert:<br />

isql -c"." -csend<br />

Dadurch können Sie etwaige Aliasnamen aufheben, die Sie<br />

eingerichtet haben.<br />

Um einen Editor für den aktuellen Abfragepuffer aufzurufen, geben Sie<br />

seinen Namen als erstes Wort in einer Zeile ein. Definieren Sie Ihren<br />

bevorzugten aufrufbaren Editor, indem Sie ihn mit der EDITOR-<br />

Umgebungsvariable angeben. Wenn EDITOR nicht definiert ist,<br />

ist der Standardwert vi.<br />

Sie führen Betriebssystembefehle aus, indem Sie eine Zeile mit „!!“,<br />

gefolgt vom Befehl, beginnen. So rufen Sie auch Alternativ-Editoren<br />

auf, ohne EDITOR zu definieren.<br />

Um einen vorhandenen Abfragepuffer zu löschen, geben Sie reset in einer<br />

eigenen Zeile ein. isql verwirft etwaige noch ausstehende Eingaben.<br />

Sie können auch Strg-c an einer beliebigen Stelle in einer Zeile drücken.<br />

Dies bricht die aktuelle Abfrage ab und bringt den Benutzer zur isql-<br />

Eingabeaufforderung zurück.<br />

Mit dem folgenden Befehl lesen Sie eine Betriebssystemdatei ein,<br />

die eine Abfrage zur Ausführung von isql enthält:<br />

isql -U alma -PKennwort < Eingabedatei<br />

<strong>Dienstprogramme</strong> 235


isql<br />

Die Datei muss ein Befehlsabschlusszeichen enthalten. Die Ergebnisse<br />

werden auf Ihrem Terminal angezeigt. Mit dem folgenden Befehl lesen Sie<br />

eine Betriebssystemdatei ein, die eine Abfrage enthält, und übermitteln die<br />

Ergebnisse an eine andere Datei:<br />

isql -U alma -PKennwort < Eingabedatei ><br />

Ausgabedatei<br />

isql-Optionen beachten Groß/Kleinschreibung.<br />

isql zeigt nur 6 Stellen von float- oder real-Daten nach<br />

dem Dezimalzeichen an und rundet den Rest.<br />

Wenn Sie isql interaktiv verwenden, lesen Sie eine Betriebssystemdatei<br />

mit folgendem Befehl in den Befehlspuffer ein:<br />

:r Dateiname<br />

Geben Sie kein Befehlsabschlusszeichen in die Datei ein; sobald Sie mit<br />

der Bearbeitung fertig sind, geben Sie das Abschlusszeichen auf eine<br />

eigene Zeile interaktiv ein.<br />

Sie können Kommentare in eine Transact-SQL-Anweisung einfügen,<br />

die an Adaptive Server von isql übermittelt wird. Leiten Sie einen<br />

Kommentar mit „/*“ ein. Schließen Sie ihn mit „*/“, wie im folgenden<br />

Beispiel gezeigt:<br />

select au_lname, au_fname<br />

/*Zu- und Vorname der Autoren abrufen*/<br />

from authors, titles, titleauthor<br />

where authors.au_id = titleauthor.au_id<br />

and titles.title_id = titleauthor.title_id<br />

/*das ist ein Dreifach-Join, der Autoren<br />

**mit den Büchern verknüpft, die sie geschrieben<br />

haben.*/<br />

Wenn Sie einen go-Befehl kommentieren, sollte er nicht am Anfang der<br />

Zeile stehen. Löschen Sie zum Beispiel den Kommentar aus dem go-<br />

Befehl, indem Sie Folgendes eingeben:<br />

/*<br />

**go<br />

*/<br />

Folgendes dürfen Sie nicht verwenden:<br />

/*<br />

go<br />

*/<br />

236 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Siehe auch In Kapitel 2, „Das isql-Dienstprogramm verwenden“ finden Sie weitere<br />

Hinweise zu isql.<br />

langinstall<br />

In der Dokumentation <strong>Sybase</strong> Adaptive Server Enterprise Reference Manual<br />

finden Sie weitere Hinweise über die Konfigurationsparameter default network<br />

packet size und maximum network packet size.<br />

Befehle create schema, set<br />

Datentyp exact numeric datatypes<br />

System ESP xp_sendmail<br />

Systemprozeduren sp_addlanguage, sp_addlogin, sp_addremotelogin,<br />

sp_add_resource_limit, sp_bindexeclass, sp_configure, sp_defaultlanguage,<br />

sp_droplanguage, sp_helplanguage, sp_processmail, sp_remoteoption,<br />

sp_serveroption, sp_showcontrolinfo, sp_unbindexeclass, sp_volchanged<br />

Beschreibung Installiert eine neue Spracheinstellung in Adaptive Server. Standort ist<br />

$SYBASE/ASE-12_5/bin.<br />

Windows NT Das Dienstprogramm heißt langinst.exe unter<br />

%SYBASE%\ASE-12_5\bin.<br />

Syntax langinstall<br />

[-S Server]<br />

[-U Benutzer]<br />

[-I Interfaces-Datei]<br />

[-P Kennwort]<br />

[-R Versionsnummer]<br />

[-I Pfad_zu_Interfaces-Datei]<br />

Sprache<br />

Zeichensatz<br />

Oder<br />

langinstall -v<br />

Parameter -S Server<br />

gibt den Namen der Adaptive Server-Installation an, mit dem die<br />

Verbindung hergestellt werden soll. Wenn Sie -S nicht angeben, verwendet<br />

langinstall den Server, der durch Ihre DSQUERY-Umgebungsvariable<br />

festgelegt wird. Wenn DSQUERY nicht eingestellt ist, versucht langinstall,<br />

mit einem Server namens SYBASE zu verbinden.<br />

<strong>Dienstprogramme</strong> 237


langinstall<br />

-U Benutzer<br />

gibt einen Login-Namen an. Login-Namen reagieren auf Groß/<br />

Kleinschreibung.<br />

-I Interfaces-Datei<br />

gibt den Namen und den Standort der Interfaces-Datei (sql.ini in<br />

Windows NT) an, die langinstall bei der Verbindungsaufnahme mit Adaptive<br />

Server sucht. Wenn Sie für -I keine Angaben machen, sucht langinstall<br />

nach der Interfaces-Datei im von der SYBASE-Umgebungsvariablen<br />

angegebenen Verzeichnis. Wenn SYBASE nicht eingestellt ist,<br />

sucht langinstall nach dem Standard-SYBASE-Verzeichnis.<br />

-P Kennwort<br />

ist das Kennwort des Systemadministrators („sa“-Konto). Wenn Sie<br />

-P weglassen, fordert Sie langinstall zur Eingabe des „sa“-Konto-<br />

Kennworts auf.<br />

-R Versionsnummer<br />

legt die Versionsnummer fest, im Format n.n.n, die verwendet wird, um<br />

Meldungen in master..sysmessages umzustellen. Verwenden Sie -R nur,<br />

wenn Fehler auftreten, wenn beispielsweise langinstall (langinst in<br />

Windows NT) nicht ausgeführt werden kann oder wenn Benutzerfehler<br />

auftreten; oder wenn Sie annehmen, dass die Ursache der Fehler auf<br />

veraltete Meldungen in sysmessages zurückzuführen ist.<br />

Der -R-Parameter teilt langinstall mit, Meldungen aus einer früheren<br />

Version als der aktuellen abzurufen. langinstall vergleicht die vorhandenen<br />

Meldungen mit denen, die installiert werden sollen und ersetzt alle, die sich<br />

geändert haben.<br />

Wenn zum Beispiel die aktuellste Version 12.5 ist und die vorherige 12.0<br />

war, Sie aber glauben, dass sysmessages möglicherweise nicht korrekt ist,<br />

dann können Sie Meldungen aus der vorherigen Version (in diesem<br />

Fall 12.0) in die syslanguages.upgrade-Spalte aufnehmen, indem Sie<br />

-R 12.0 angeben. langinstall installiert dann alle Meldungen aus Adaptive<br />

Server 12.0.<br />

-I Pfad_zu_Interfaces-Datei<br />

gibt den Pfad zur Interfaces-Datei an.<br />

Sprache<br />

ist der offizielle Name der Sprache, die installiert werden soll. Sie müssen<br />

eine Sprache angeben.<br />

238 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Zeichensatz<br />

ist der Name des Standard-Zeichensatzes der Adaptive Server-Installation.<br />

Zeichensatz zeigt den Verzeichnisnamen der Lokalisierungsdateien für die<br />

Sprache an. Die common.loc- und server.loc-Lokalisierungsdateien für eine<br />

offizielle Sprache befinden sich im Zeichensatzverzeichnis $SYBASE/<br />

locales/language/character_set auf UNIX-Plattformen bzw. unter<br />

%sybase%\locales\language\character_set in Windows NT. Sie müssen<br />

einen Zeichensatz angeben.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für langinstall an und<br />

beendet dann.<br />

Syntax Das Adaptive Server-Installationsprogramm führt langinstall automatisch<br />

bei einer neuen Installation sowie für Benutzer aus, die ein Upgrade einer<br />

früheren Version durchführen.<br />

langinstall führt Folgendes durch:<br />

Die spezifischen Sprachinformationen werden in<br />

master..syslanguages mittels sp_addlanguage hinzugefügt. Wenn die<br />

Sprache bereits existiert, aktualisiert langinstall die entsprechende<br />

Zeile in syslanguages.<br />

Falls erforderlich werden Meldungen aus master..sysmessages<br />

hinzugefügt, aktualisiert und gelöscht.<br />

syslanguages.update, wird aktualisiert, indem die neue<br />

Versionsnummer eingefügt wird.<br />

langinstall überprüft die Einträge, die in den verwendeten<br />

Lokalisierungsdateiabschnitten gefunden werden. Wenn etwas fehlt,<br />

gibt langinstall eine Fehlermeldung aus und fügt die Sprache syslanguages<br />

nicht hinzu.<br />

langinstall vergleicht die Versionsnummern der beiden verwendeten<br />

Lokalisierungsdateien common.loc und server.loc. Wenn sie<br />

nicht übereinstimmen, wird eine Warnmeldung ausgegeben.<br />

syslanguages.upgrade ist immer entsprechend der Versionsnummer<br />

in server.loc eingestellt.<br />

<strong>Dienstprogramme</strong> 239


optdiag<br />

Berechtigungen Nur ein Systemadministrator, der das „sa“-Konto verwendet, kann langinstall<br />

ausführen.<br />

Benutzte Tabellen master.dbo.syslanguages, master.dbo.sysmessages<br />

Siehe auch Systemprozeduren sp_addlanguage, sp_addlogin, sp_configure,<br />

sp_defaultlanguage, sp_droplanguage, sp_helplanguage<br />

optdiag<br />

<strong>Dienstprogramme</strong> defncopy, srvbuild<br />

Beschreibung Zeigt Optimiererstatistiken an oder lädt die aktualisierte Statistik in<br />

Systemtabellen. Standort ist $SYBASE/ASE-12_5/bin.<br />

Windows NT Das Dienstprogramm heißt optdiag.exe unter<br />

%SYBASE%\ASE-12_5\bin.<br />

Syntax optdiag [binary] [simulate] statistics<br />

{ -i Eingabedatei |<br />

Datenbank[.Eigentümer[.[Tabelle[.Spalte]]]][-o Ausgabedatei] }<br />

[-U Benutzername]<br />

[-P Kennwort]<br />

[-T Trace-Wert]<br />

[-I Interfaces-Datei]<br />

[-S Server]<br />

[-v]<br />

[-h]<br />

[-s]<br />

[-z Sprache ]<br />

[-J Client-Zeichensatz]<br />

[-a Anzeige-Zeichensatz]<br />

Parameter binary<br />

extrahiert die Statistik in lesbarer Form oder im Binärdatenformat.<br />

Bei Verwendung mit einer Eingabedatei (-i Eingabedatei) wird die binäre<br />

Statistik in Systemtabellen geladen.<br />

simulate<br />

gibt an, dass optdiag eine simulierte Statistik anzeigt oder lädt. Weitere<br />

Hinweise finden Sie in der Dokumentation Performance and Tuning Guide.<br />

-i Eingabedatei<br />

gibt den Namen einer Betriebssystemdatei an, die die Eingaben für<br />

optdiag enthält. Das Angeben einer Eingabedatei bewirkt, dass optdiag die<br />

Optimiererstatistik für die Tabelle oder Spalte aktualisiert, indem die Werte<br />

in der angegebenen Datei verwendet werden (auch „Eingabemodus“<br />

genannt).<br />

240 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Datenbank<br />

ist der Name der Datenbank, deren Statistik Sie anzeigen wollen.<br />

Im Eingabemodus verwendet optdiag den Datenbanknamen, wie er in der<br />

Datei angegeben ist, und akzeptiert nicht den Datenbanknamen von der<br />

Befehlszeile.<br />

Eigentümer<br />

ist der Name eines Tabelleneigentümers.<br />

Wenn Sie im Anzeigen-Modus keinen Eigentümer angeben, aber einen<br />

Tabellennamen angeben, zeigt optdiag die Ausgabe für alle Eigentümer<br />

einer Tabelle an.<br />

Im Eingabemodus ignoriert optdiag den in der Befehlszeile<br />

angegebenen Tabelleneigentümer und verwendet den Wert in der<br />

Eingabedatei.<br />

Tabelle<br />

ist der Name der Tabelle, deren Statistik erstellt wird.<br />

Wenn der Befehl keinen Eigentümer- oder Tabellennamen enthält,<br />

zeigt optdiag die Statistik für alle Tabellen in der Datenbank an.<br />

Wenn der Befehl einen Eigentümernamen aber keinen Tabellennamen<br />

anführt, zeigt optdiag alle Tabellen an, die dem angegebenen<br />

Eigentümer gehören.<br />

Im Eingabemodus ignoriert optdiag den in der Befehlszeile<br />

angegebenen Tabellennamen und verwendet den Wert aus der<br />

Eingabedatei.<br />

Spalte<br />

ist der Name der Spalte, deren Statistik erstellt wird.<br />

Wenn der Befehl keinen Spaltennamen enthält, zeigt optdiag die<br />

gesamte Statistik für eine Tabelle an.<br />

Im Eingabemodus ignoriert optdiag den in der Befehlszeile<br />

angegebenen Spaltennamen und verwendet die Werte aus der<br />

Eingabedatei.<br />

-o Ausgabedatei<br />

gibt den Namen einer Betriebssystemdatei an, in der die Eingaben von<br />

optdiag gespeichert werden sollen. Wenn bereits eine Datei mit diesem<br />

Namen existiert, überschreibt optdiag diese Datei, ohne eine Warnung<br />

auszugeben.<br />

<strong>Dienstprogramme</strong> 241


optdiag<br />

-U Benutzername<br />

gibt einen Adaptive Server-Login-Namen an.<br />

-P Kennwort<br />

gibt Ihr Adaptive Server-Kennwort an. Wenn Sie die -P-Option nicht<br />

angeben, fordert optdiag zur Eingabe eines Kennworts auf.<br />

-T Trace-Wert<br />

setzt Trace-Flags für die optdiag-Sitzung. Die optdiag-Trace-Flags sind die<br />

folgenden:<br />

Optionswert Bedeutung<br />

1 Nicht mit einer Warnmeldung unterbrechen, wenn die optdiag-Version der<br />

verwendeten Adaptive Server-Installation nicht mit der Adaptive Server-Version<br />

in der Eingabedatei übereinstimmt.<br />

2 Statusmeldung „Nächste Tabelle ist Tabellenname“, wenn im Eingabemodus.<br />

4 Konsistenzprüfung der Schrittnummern beim Laden von Histogrammen im<br />

Eingabemodus überspringen.<br />

6 Zeilen der Eingabedatei während des Eingabemodus anzeigen. Diese Option hat im<br />

Anzeigemodus keine Auswirkung.<br />

-I Interfaces-Datei<br />

gibt Namen und Position der Interfaces-Datei an, die verwendet werden soll,<br />

wenn eine Verbindung mit Adaptive Server hergestellt wird.<br />

Wenn Sie -I nicht verwenden und einen Interfaces-Dateinamen angeben,<br />

sucht optdiag nach der Interfaces-Datei (interfaces in UNIX), im Verzeichnis,<br />

das durch die SYBASE-Umgebungsvariable festgelegt ist. In Windows NT<br />

sucht optdiag nach einer Datei namens sql.ini im ini-Unterverzeichnis des<br />

<strong>Sybase</strong>-Installationsverzeichnisses (d:\sybase). Wenn SYBASE nicht<br />

eingestellt ist, sucht optdiag nach der Datei im Standard-$SYBASE-<br />

Verzeichnis (%SYBASE% in Windows NT).<br />

-S Server<br />

gibt den Namen der Adaptive Server-Installation an, mit dem die Verbindung<br />

hergestellt werden soll. optdiag sucht nach diesem Name in der interfaces-<br />

Datei (sql.ini in Windows NT).<br />

Wenn Sie -S ohne Angabe eines Servernamens verwenden,<br />

sucht optdiag nach einem Server namens SYBASE.<br />

Wenn Sie -S nicht verwenden, sucht optdiag nach dem Server,<br />

den Ihre DSQUERY-Umgebungsvariable angibt.<br />

242 Adaptive Server Enterprise


-v<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

zeigt die Versionsnummer und Copyright-Meldung für optdiag an und<br />

beendet dann.<br />

-h<br />

zeigt die optdiag-Syntaxhilfe an.<br />

-s<br />

-v<br />

bezieht Systemtabellen in die optdiag-Ausgabe ein. Standardmäßig werden<br />

nur Benutzertabellen aufgenommen.<br />

zeigt die Versionsnummer und Copyright-Meldung für optdiag an und<br />

beendet dann.<br />

-h<br />

zeigt die optdiag-Syntaxhilfe an.<br />

-s<br />

bezieht Systemtabellen in die optdiag-Ausgabe ein. Standardmäßig werden<br />

nur Benutzertabellen aufgenommen.<br />

-z Sprache<br />

ist der offizielle Name einer Alternativsprache, die der Server für<br />

Datumsformate und zur Anzeige von optdiag-Eingabeaufforderungen<br />

und Meldungen verwendet. Ohne die -z-Option verwendet optdiag die<br />

Standardsprache des Servers.<br />

Sie können Adaptive Server-Sprachen während oder nach der Installation<br />

hinzufügen. Nach der Installation des Adaptive Server-Systems verwenden<br />

Sie entweder das langinstall-Dienstprogramm oder die gespeicherte<br />

Prozedur sp_addlanguage, um eine Sprache hinzuzufügen.<br />

-J Client-Zeichensatz<br />

gibt den Zeichensatz an, der auf dem Client verwendet wird. Ein Filter<br />

konvertiert die Eingabe zwischen Client-Zeichensatz und dem Adaptive<br />

Server-Zeichensatz.<br />

Indem Sie -J Client-Zeichensatz verwenden, fordern Sie Adaptive Server<br />

auf, Daten in und von Client-Zeichensatz, dem Zeichensatz des Clients,<br />

zu konvertieren.<br />

Indem Sie -J ohne einen Zeichensatznamen verwenden, geben Sie<br />

Zeichensatzkonvertierung als NULL an, und keine Konvertierung findet<br />

statt. Verwenden Sie -J alleine, wenn der Client und der Server denselben<br />

Zeichensatz verwenden.<br />

<strong>Dienstprogramme</strong> 243


optdiag<br />

Indem Sie -J weglassen, stellen Sie den Zeichensatz auf den Standardwert<br />

der Plattform ein. Ein Filter konvertiert die Eingabe zwischen dem<br />

Standardzeichensatz und dem Adaptive Server-Zeichensatz. Beachten Sie,<br />

dass der Standardwert nicht unbedingt der Zeichensatz ist, den der Client<br />

verwendet.<br />

Weitere Hinweise über Zeichensätze und ihre zugeordnete Optionen finden<br />

Sie in der Dokumentation Systemadministration für Adaptive Server<br />

Enterprise.<br />

-a Anzeige-Zeichensatz<br />

führt optdiag von einem Terminal aus, dessen Zeichensatz von dem des<br />

Rechners, auf dem optdiag läuft, verschieden ist.<br />

-a in Verbindung mit -J gibt die Zeichensatzkonvertierungs-Datei (.xlt)<br />

an, die für die Konvertierung erforderlich ist.<br />

Verwenden Sie -a ohne -J nur dann, wenn der Client-Zeichensatz mit<br />

dem Standardzeichensatz identisch ist.<br />

Hinweis Der ascii_7-Zeichensatz ist mit allen anderen Zeichensätzen<br />

kompatibel. Wenn entweder der Adaptive Server- oder der Clientzeichensatz<br />

auf ascii_7 eingestellt ist, können alle 7-Bit-ASCII-Zeichen unverändert<br />

zwischen Client und Server übermittelt werden. Andere Zeichen erzeugen<br />

Konvertierungsfehler. Weitere Hinweise über Zeichensatzkonvertierung<br />

finden Sie in der Dokumentation Systemadministration für Adaptive<br />

Enterprise.<br />

Beispiele Beispiel 1 Zeigt die Statistik für alle Benutzertabellen in der pubs2-Datenbank<br />

an und platziert die Ausgabe in die pubs2.opt-Datei:<br />

optdiag statistics pubs2 -Usa -Ppasswd -o pubs2.opt<br />

Beispiel 2 Zeigt die Statistik für die titles-Tabelle an:<br />

optdiag statistics pubs2..titles -Usa -Ppasswd -o titles.opt<br />

Beispiel 3 Zeigt die Statistik im roman8-Zeichensatz mit Zeilen-Labels und<br />

Fehlermeldungen auf Französisch an:<br />

optdiag statistics pubs2..titles -Usa -Ppasswd -o titles.opt -J roman8<br />

-z french<br />

Beispiel 4 Zeigt Binärdaten-Statistik für die price-Spalte in der titles-<br />

Tabelle an:<br />

optdiag binary statistics pubs2..titles.price -Usa -Ppasswd -o price.opt<br />

244 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beispiel 5 Lädt eine bearbeitete Statistik aus der price.opt-Datei:<br />

optdiag statistics -i price.opt -Usa -Ppasswd<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor Sie<br />

optdiag verwenden können.<br />

Standardmäßig bezieht optdiag nicht die Systemtabellen ein, wenn Sie<br />

die Statistik für eine Datenbank anzeigen. Um die Systemtabellen in die<br />

Ausgabe aufzunehmen, verwenden Sie die -s-Option.<br />

Wenn Sie den binary-Modus verwenden, zeigt optdiag Werte in lesbarer<br />

Form mit Kommentarmarken (#) am Anfang der Ausgabezeilen an,<br />

wie im folgenden Beispiel:<br />

Statistics for column: "price"<br />

Last update of column statistics: Jan 20 1998 7:16PM<br />

Statistics loaded from Optdiag.<br />

Range cell density: 0x3f8b9cfefece26bf<br />

# Range cell density: 0.0134830400000000<br />

Total density: 0x3f8b9cfefece26bf<br />

# Total density: 0.0134830400000000<br />

Range selectivity: default used (0.33)<br />

# Range selectivity: default used (0.33)<br />

In between selectivity: default used (0.25)<br />

# In between selectivity: default used (0.25)<br />

Wenn Sie optdiag mit einer Eingabedatei verwenden, um die Statistik zu<br />

ändern, werden alle Zeichen nach dem „#“ in einer Ausgabezeile ignoriert.<br />

Das Konvertieren von Gleitkomma-Werten führt möglicherweise zu<br />

Rundungsfehlern, wenn Sie Dateien für die Eingabe verwenden.<br />

Wenn Sie die Statistik auf dieselbe Hardware-Plattform laden, sollten Sie<br />

die Statistik bearbeiten, indem Sie die Binärdatenwerte verwenden,<br />

um eine größere Genauigkeit zu erreichen.<br />

<strong>Dienstprogramme</strong> 245


optdiag<br />

Byte-Sortierfolge und binäre optdiag-Dateien<br />

Verwenden Sie nicht die binary-Modusoption, um eine Statistik<br />

zwischen Adaptive Server-Installationen auf Rechner zu verschieben,<br />

die verschiedene Byte-Sortierfolgen verwenden.<br />

Auf einem inkompatiblen Architektur-Server sollten Sie immer die<br />

Binärdaten-Statistik als Kommentar darstellen und die Statistik in<br />

lesbarer Form laden.<br />

Auf einem Server mit kompatibler Architektur können Sie entweder<br />

Binärdaten-Statistik oder Statistik in lesbarer Form laden.<br />

Eingabemodus<br />

Wenn Sie die -i Eingabedatei-Syntax verwenden, liest optdiag die benannte<br />

Datei und aktualisiert die Statistik in sysstatistics.<br />

optdiag-Eingabemodus ändert den Konfigurationsparameter allow update<br />

to system tables, indem der Parameter auf 1 am Anfang der Sitzung<br />

eingestellt wird, und dann auf 0 am Ende der Sitzung.<br />

Während der Histogramm-Eingabe überprüft der Prozess die folgenden<br />

Regeln und zeigt Fehlermeldungen für jede verletzte Regel an:<br />

Die Schrittnummern müssen monoton erhöht werden, außer der<br />

Befehl enthält die -T4-Trace-Flag.<br />

Der Spaltenwert für die Schritte muss monoton ansteigen.<br />

Die Gewichtung für jede Zelle muss zwischen 0.0 und 1.0 liegen.<br />

Die Summe der Gewichtungen bei einer Spalte muss nahe bei<br />

1.0 liegen.<br />

Die erste Zelle stellt Nullwerte dar und muss vorhanden sein, sogar<br />

bei Spalten, die keine Nullwerte zulassen. Es muss eine Zelle geben,<br />

um den Nullwert darzustellen.<br />

Zwei benachbarte Zellen dürfen nicht beide den


pwdcrypt<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Erstellt und schreibt ein verschlüsseltes LDAP-Kennwort in der Datei<br />

libtcl.cfg. pwdcrypt befindet sich unter $SYBASE/$SYBASE_OCS/bin.<br />

Syntax pwdcrypt<br />

Parameter Keine<br />

Windows NT Das Dienstprogramm befindet sich unter<br />

%SYBASE%\%SYBASE_OCS%\bin.<br />

Beispiele Die Eingabe von pwdcrypt an der Eingabeaufforderung gibt die Anforderung<br />

zurück, Ihr Kennwort zweimal einzugeben, woraufhin pwdcrypt das LDAP-<br />

Kennwort zurückgibt:<br />

pwdcrypt<br />

Enter password please: Kennwort<br />

Enter password again : Kennwort<br />

The encrypted password:<br />

0x01312a775ab9d5c71f99f05f7712d2cded288d0ae1ce79268d0e8669313d1bc4c706<br />

Ersetzen Sie den letzten Teil der LDAP-URL in libtcl.cfg mit diesem<br />

verschlüsselten Kennwort:<br />

ldap=libdldap.so<br />

ldap://dolly:389/dc=sybase,dc=com????bindname=cn=Manager,dc=sybase,dc=com?<br />

0x01312a775ab9d5c71f99f05f7712d2cded288d0ae1ce79268d0e8669313d1bc4c706<br />

Ein nicht-verschlüsseltes Kennwort sieht folgendermaßen aus:<br />

ldap=libdldap.so<br />

ldap://dolly:389/dc=sybase,dc=com????bindname=cn=Manager,dc=sybase,dc=com?<br />

secret<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der aktuellen<br />

Version der Adaptive Server-Installation einstellen, bevor Sie pwdcrypt<br />

verwenden können.<br />

Berechtigungen Sie müssen Datei-Systemberechtigungen verwenden, um den nicht<br />

autorisierten Zugriff auf das verschlüsselte Kennwort in Ihrer libtcl.cfg-Datei<br />

zu verhindern.<br />

<strong>Dienstprogramme</strong> 247


showserver<br />

showserver<br />

Beschreibung Nur UNIX-Plattformen Zeigt die Adaptive Server- und Backup Server-<br />

Installationen an, die derzeit auf dem lokalen Rechner ausgeführt werden;<br />

steht nur für UNIX-Plattformen zur Verfügung. showserver befindet sich<br />

unter $SYBASE/ASE-12_5/install.<br />

Syntax showserver<br />

Parameter Keine<br />

Beispiele<br />

showserver<br />

USER PID %CPU %MEM SZ RSS TT STAT START TIME COMMAND<br />

user114276 0.0 1.7 712 1000 ? S Apr 5514:05 dataserver<br />

-d greensrv.dat -sgreensrv -einstall/greensrv+_errorlog<br />

sybase 1071 0.0 1.4 408 820 ? S Mar 28895:38<br />

/usr/local/sybase/bin/dataserver -d/dev/rsd1f -e/install/errorlog<br />

user128493 0.0 0.0 3692 0 ? IW Apr 1 0:10 backupserver -SSYB_BACKUP<br />

-e/install/backup.log -Iinterfaces -Mbin/sybmultbuf -Lus_english -Jiso_1<br />

Syntax showserver gibt Prozessinformationen über Adaptive Server oder Backup<br />

Server aus. Wenn keine Server laufen, wird nur der Header angezeigt.<br />

Siehe auch Befehle dataserver, startserver<br />

Funktion – host_name<br />

<strong>Dienstprogramme</strong> langinstall<br />

248 Adaptive Server Enterprise


sqldbgr<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung sqldbgr ist ein Befehlszeilenprogramm, das gespeicherte Prozeduren und<br />

Trigger auf Fehler untersucht. Wie mit vielen Fehlersuchprogrammen können<br />

Sie Folgendes durchführen:<br />

sqldbgr an eine Aufgabe anhängen<br />

Breakpoints festlegen, aktivieren und deaktivieren<br />

Eine Aufgabe zeilenweise abarbeiten<br />

Prozeduren starten und verlassen<br />

sqldbgr aus gespeicherten Prozeduren oder Triggern lösen, wenn die<br />

Fehlersuche beendet ist.<br />

UNIX-Plattformen sqldbgr befindet sich unter $SYBASE/ASE-12_5/bin.<br />

Windows NT sqldbgr befindet sich unter %SYBASE%\ASE-12_5\bin.<br />

Syntax sqldbgr<br />

-U Benutzername<br />

-PKennwort<br />

-S Host:Port<br />

Parameter -U Benutzername<br />

gibt den Benutzernamen an. Sie müssen eine Leerstelle zwischen -U und<br />

Benutzername einfügen.<br />

-P Kennwort<br />

gibt das Kennwort des Benutzers an. Sie müssen eine Leerstelle zwischen -P<br />

und Kennwort einfügen.<br />

-S Host:Port<br />

gibt den Rechnernamen und die Portnummer an. Sie müssen eine Leerstelle<br />

zwischen -S und Host:Port einfügen.<br />

Beispiele Beispiel 1 Dieses Beispiel zeigt sqldbgr bei der Fehlersuche in gespeicherten<br />

Prozeduren und Triggern auf Host MERCURY:<br />

$SYBASE/ASE-12_5/bin/sqldbgr -U sa -P -S MERCURY:16896<br />

(sqldbg) stop in sp_who<br />

Breakpoint moved to line 20<br />

(sqldbg) run sp_who<br />

(sp_who::20)if @@trancount = 0<br />

(sqldbg) next<br />

(sp_who::22) set chained off<br />

(sqldbg) cont<br />

<strong>Dienstprogramme</strong> 249


sqldbgr<br />

fid spid status loginame origname hostname blk_spid dbname cmd block_xloid<br />

0 2 sleeping NULL NULL 0 master NETWORK HANDLER 0<br />

0 3 sleeping NULL NULL 0 master NETWORK HANDLER 0<br />

0 4 sleeping NULL NULL 0 master DEADLOCK TUNE 0<br />

0 5 sleeping NULL NULL 0 master MIRROR HANDLER 0<br />

0 6 sleeping NULL NULL 0 master ASTC HANDLER 0<br />

0 7 sleeping NULL NULL 0 master ASTC HANDLER 0<br />

0 8 sleeping NULL NULL 0 master CHECKPOINT SLEEP 0<br />

0 9 sleeping NULL NULL 0 master HOUSEKEEPER 0<br />

0 10 running sa sa 0 master SELECT 0<br />

0 11 sleeping sa sa<br />

(sqldbg) show breakpoints<br />

1 stop in sp_who<br />

(sqldbg)<br />

Beispiel 2 Hier meldet sich der Systemadministrator bei Adaptive Server<br />

mittels isql an und startet sqldbgr von der Befehlszeile aus, um bei einer<br />

gespeicherten Prozedur Fehler zu suchen, die in einer anderen Task läuft:<br />

$SYBASE/$SYBASE_OCS/bin/isql -U sa -P<br />

1> select @@spid<br />

2> go<br />

------<br />

12<br />

1><br />

$SYBASE/ASE-12_5/bin/sqldbgr -U sa -P -S MERCURY:16896<br />

(sqldbg) attach 13<br />

The spid is invalid<br />

(sqldbg) attach 12<br />

(sqldbg) show breakpoints<br />

(sqldbg) stop in sp_who<br />

Breakpoint moved to line 20<br />

(sqldbg) /* jetzt führen Sie die sp_who-Prozedur von spid 12 aus */<br />

(sqldbg) where<br />

(sp_who::20::@loginname = )<br />

(ADHOC::1::null)<br />

(sqldbg) next<br />

(sp_who::22) set chained off<br />

(sqldbg) next<br />

(sp_who::25)set transaction isolation level 1<br />

(sqldbg) cont<br />

(sqldbg) /* jetzt wird das sp_who-Ergebnis auf dem isql-Bildeschirm<br />

angezeigt */<br />

(sqldbg) detach 12<br />

(sqldbg)<br />

250 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Syntax Der sql-Befehl wird im Kontext der auf Fehler behandelten Aufgabe<br />

durchgeführt, während der mysql-Befehl im Kontext der Fehlersuchaufgabe<br />

ausgeführt wird. Die Einstellung von sitzungsspezifischen<br />

Informationen, beispielsweise für set quoted_identifier on über sql<br />

funktioniert nicht.<br />

Der <strong>Sybase</strong> jConnect JDBC-Treiber verwendet standardmäßig set<br />

quoted_identifier on. Da das sqldbgr-Dienstprogramm mit jConnect-<br />

Argumenten, die Anführungszeichen erfordern, aufgebaut ist,<br />

verwenden Sie bei der Eingabe von Optionen Apostrophe anstelle<br />

von Anführungszeichen. Verwenden Sie beispielsweise sp_configure<br />

'allow update' anstelle von sp_configure "allow update".<br />

Bevor Sie sqldbgr ausführen können, müssen Sie die Umgebung<br />

SYBASE_JRE oder JAVA_HOME auf den Standort einstellen,<br />

der die Java-Ausführungsumgebung enthält.<br />

Wenn Sie sqldbgr an der Befehlseingabeaufforderung aufrufen, startet das<br />

Dienstprogramm und die Eingabeaufforderung ändert sich in eine sqldbgr-<br />

Eingabeaufforderung:<br />

(sqldbgr)<br />

Sobald die (sqldbgr)-Eingabeaufforderung angezeigt wird, können Sie<br />

die folgenden sqldbgr-Befehle eingeben, um die gewünschten Aufgaben<br />

durchzuführen:<br />

Tabelle 8-4: sqldbgr-Befehle und ihre Beschreibung<br />

Befehl Beschreibung<br />

attach spid Hängt an sqldbgr eine Aufgabe an, wenn Sie bereits bei Adaptive Server<br />

angemeldet sind.<br />

Hinweis Sie können attach spid nicht verwenden, um an eine Prozedur anzuhängen,<br />

die nicht läuft.<br />

sqldbgr kann nicht in einer Sitzung bei mehreren Aufgaben Fehler beheben. Wenn Sie<br />

versuchen, das Dienstprogramm an mehrere Aufgaben anzuhängen, bleibt die erste<br />

spid weiterhin als angehängt markiert. Da Sie nicht an eine bereits angehängte spid<br />

anhängen können, müssen Sie den detach-Befehl verwenden und dann an eine andere<br />

spid anhängen.<br />

run Prozedurname Fehlerbehebung bei gespeicherten Prozeduren und Triggern, ohne sqldbgr an eine<br />

vorhandene Aufgabe anzuhängen.<br />

Wenn Sie versuchen, run Prozedurname auszuführen, während Sie bereits bei einer<br />

vorhandenen Aufgabe mit attach spid Fehler beheben, schlägt run Prozedurname<br />

fehl und Sie erhalten folgende Meldung:<br />

Cannot run a procedure while debugging another task<br />

<strong>Dienstprogramme</strong> 251


sqldbgr<br />

Befehl Beschreibung<br />

stop in Prozedurname<br />

[at line #]<br />

Setzt einen Breakpoint, um die Fehlerbehebung der gespeicherten Prozedur oder des<br />

Triggers am Beginn des angegebenen Prozedurnamens zu stoppen.<br />

stop in Prozedurname at line # setzt einen Breakpoint, um die Fehlerbehebung der<br />

gespeicherten Prozedur oder des Triggers an der festgelegten Zeile innerhalb der<br />

angegebenen Prozedur zu stoppen.<br />

Wenn Sie eine ungültige Zeilennummer eingeben, verschiebt sqldbgr den Breakpoint<br />

an die nächste gültige Nummer und zeigt Folgendes an:<br />

Invalid line number<br />

Sie können diesen Befehl auch verwenden, um mehrere Breakpoints zu setzen.<br />

show breakpoints Zeigt den Breakpoint-Handle in der Form einer eindeutigen Zahl an, wie auch die<br />

Breakpoint-Anweisungen, die vom Benutzer während der sqldbgr-Sitzung<br />

eingegeben wurde.<br />

Wenn Sie eine Breakpoint-Zeilennummer angeben, die keine gültige SQL-<br />

Anweisung enthält, verschiebt Adaptive Server den Breakpoint an die nächste gültige<br />

Zeilennummer. Adaptive Server ändert allerdings nicht den von Ihnen eingegebenen<br />

Befehl. Daher kann show breakpoints einen in der sqldbgr-Sitzung eingegeben<br />

Breakpoint-Handle und eine Breakpoint-Anweisung zurückgeben,<br />

die verschieden sind.<br />

Ein Sternchen (*) in der Breakpoint-Zeile bedeutet, dass der Breakpoint gesetzt aber<br />

derzeit deaktiviert ist.<br />

use dbName Teilt sqldbgr mit, welche Datenbank verwendet werden soll, um die Fehler bei<br />

gespeicherten Prozeduren und Triggern dieser Datenbank zu beheben.<br />

show variables [at level #]<br />

show @varName [at level #]<br />

show variables zeigt alle Variablen und ihre Werte in der aktuellen gespeicherten<br />

SQL-Prozedur oder Trigger an.<br />

show variables at level # zeigt Variablen und ihre Werte in der aktuellen gespeicherten<br />

SQL-Prozedur oder Trigger an der angegebenen Stufe an.<br />

show @varName zeigt die angegebene Variable und ihren Wert in der aktuellen<br />

gespeicherten SQL-Prozedur oder Trigger an.<br />

show @varName at level # zeigt die angegebene Variable und ihren Wert in der<br />

aktuellen gespeicherten SQL-Prozedur oder Trigger an der angegebenen Stufe an.<br />

Hinweis sqldbgr unterstützt nicht Java-Variablen.<br />

show where Zeigt den Aufruf-Stack der gespeicherten Prozeduren und Trigger an, die in der<br />

Aufgabe vorhanden sind, deren Fehler behoben werden.<br />

step oder next step oder next fordert sqldbgr auf, zur nächsten Anweisung in der aktuellen<br />

gespeicherten Prozedur oder Trigger zu gehen.<br />

step into Fordert sqldbgr auf, in eine Prozedur zu wechseln, wenn die aktuelle Anweisung eine<br />

execute-Anweisung ist. Wenn die aktuelle Anweisung eine update-, delete- oder<br />

insert-Anweisung ist und Trigger enthält, fordert step into sqldbgr auf, in die update-,<br />

delete- oder insert-Trigger zu gehen.<br />

252 Adaptive Server Enterprise


Befehl Beschreibung<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

step out Fordert sqldbgr auf, die aktuelle gespeicherte Prozedur oder Trigger zu verlassen und<br />

an der nächsten Zeile in der aufrufenden Prozedur zu stoppen.<br />

set @varName = VALUE Setzt den Wert der angegebenen Variablen auf den im Befehl angegebenen<br />

Variablenwert in der aktuellen gespeicherten Prozedur oder Trigger. Die Werte der<br />

Variablen, die mit set @varName = VALUE eingestellt wurden, gelten nur für die<br />

aktuelle sqldbgr-Sitzung.<br />

cont[inue] Fordert sqldbgr auf, mit der Fehlerbehebung fortzufahren und am nächsten<br />

Breakpoint (falls vorhanden) zu stoppen.<br />

delete # Löscht den angegebenen Breakpoint, der in der aktuellen Instanz von sqldbgr<br />

gesetzt wurde.<br />

enable # und disable # Aktiviert die angegebenen Breakpoints. disable # deaktiviert sie.<br />

sql jede_sql-Anweisung Führt Ad-hoc-SQL-Anweisungen aus. Mit diesem Befehl können Sie Daten aus<br />

temporären Tabellen auswählen und analysieren, die durch die Aufgabe erstellt<br />

werden, deren Fehler behoben werden.<br />

sql jede_sql-Anweisung gibt eine Ergebnismenge sowie alle aufgetretenen Fehler<br />

zurück.<br />

detach spid Löst sqldbgr von der angegebenen spid und gibt die auf Fehler behandelte<br />

Aufgabe frei.<br />

Die Breakpoints werden gelöscht, die für die auf Fehler behandelte Aufgabe während<br />

der aktuellen sqldbgr-Sitzung gesetzt wurden.<br />

help [all] Zeigt sqldbgr-Befehle an.<br />

Fehlermeldung Beschreibung<br />

Cannot allocate resource<br />

in ASE<br />

Cannot create Debugger<br />

handle in ASE<br />

Tabelle 8-5 listet alle sqldbgr-Fehlermeldungen auf:<br />

Tabelle 8-5: sqldbgr-Fehlermeldungen und ihre Bedeutung<br />

Zeigt an, dass Adaptive Server nicht genügend Speicher-Ressourcen hat,<br />

um sqldbgr auszuführen. Erhöhen Sie procedure cache size und starten Sie<br />

sqldbgr erneut.<br />

Zeigt an, dass Adaptive Server nicht genügend Speicher-Ressourcen hat,<br />

um einen Debugger-Handle zu erstellen. Erhöhen Sie procedure cache size<br />

und starten Sie sqldbgr erneut.<br />

The spid is invalid Wird angezeigt, wenn Sie versuchen, sqldbgr an eine ungültige spid<br />

anzuhängen. Überprüfen Sie nochmals die spid und versuchen Sie es erneut.<br />

You cannot debug a task<br />

that is not owned by you<br />

Spid is already being<br />

debugged<br />

Spid is not debugged<br />

currently<br />

Wird angezeigt, wenn Sie versuchen, eine Aufgabe auf Fehler zu behandeln,<br />

die nicht Ihnen gehört. Sie müssen sich als der Eigentümer der zu<br />

behandelnden Aufgabe beim Server anmelden.<br />

Wird angezeigt, wenn Sie attach spid ausführen und versuchen, an ein spid<br />

anzuhängen, das bereits behandelt wird.<br />

Wird angezeigt, wenn Sie detach spid ausführen und versuchen, von einer<br />

spid zu lösen, die nicht an sqldbgr angehängt ist.<br />

<strong>Dienstprogramme</strong> 253


sqldbgr<br />

Fehlermeldung Beschreibung<br />

Invalid command Wird angezeigt, wenn Sie einen ungültigen Befehl eingeben.<br />

Invalid procedure name Wird angezeigt, wenn Sie einen ungültigen Prozedurnamen bei stop in<br />

Prozedurname eingeben.<br />

Invalid line number Wird angezeigt, wenn Sie eine ungültige Zeilennummer bei stop in<br />

Prozedurname at line # eingeben.<br />

Variable not found Wird angezeigt, wenn Sie eine ungültige Variable bei show @varName,<br />

show @varName at level # oder set @varName = VALUE eingeben.<br />

Illegal conversion<br />

attempted<br />

Conversion from text to<br />

datatype failed<br />

Cannot run a procedure<br />

while debugging another<br />

task<br />

Wird angezeigt, wenn Sie set @varName = VALUE ausführen und versuchen,<br />

die Variable in einen ungültigen Wert zu konvertieren.<br />

Wird angezeigt, wenn set @varName = VALUE scheitert.<br />

Wird angezeigt, wenn Sie run Prozedurname verwenden, während das<br />

Debug-Programm bereits eine vorhandene Aufgabe mit attach spid<br />

untersucht.<br />

254 Adaptive Server Enterprise


sqlloc<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Nur UNIX-Plattformen Installiert und modifiziert Sprachen-, Zeichensatz-<br />

und Sortierreihenfolge-Standardwerte für Adaptive Server auf UNIX-<br />

Plattformen, wobei eine auf X11/Motif basierende grafische<br />

Benutzeroberfläche verwendet wird. sqlloc befindet sich unter<br />

$SYBASE/ASE-12_5/bin.<br />

Syntax sqlloc<br />

[-S Server]<br />

[-U Benutzer]<br />

[-P Kennwort]<br />

[-s <strong>Sybase</strong>-Verzeichnis]<br />

[-I Interfaces-Datei]<br />

[-r Ressourcendatei]<br />

Oder<br />

sqlloc -v<br />

Parameter -S Server<br />

gibt den Namen der Adaptive Server-Installation an, mit dem die<br />

Verbindung hergestellt werden soll.<br />

-U Benutzer<br />

gibt einen Login-Namen an. Login-Namen reagieren auf<br />

Groß/Kleinschreibung.<br />

-P Kennwort<br />

gibt das Kennwort des mit -U eingegebenen Benutzers an.<br />

-s <strong>Sybase</strong>-Verzeichnis<br />

gibt den Wert für die SYBASE-Umgebungsvariable an.<br />

-I Interfaces-Datei<br />

gibt den Namen und Position der Interfaces-Datei an, die durchsucht<br />

werden soll, wenn eine Verbindung mit Adaptive Server hergestellt wird.<br />

-r Ressourcendatei<br />

führt die angegebene Ressourcendatei aus.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für sqlloc an und<br />

beendet dann.<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position<br />

der aktuellen Version der Adaptive Server-Installation einstellen,<br />

bevor Sie sqlloc verwenden können.<br />

<strong>Dienstprogramme</strong> 255


sqlloc<br />

Sie müssen die DISPLAY-Umgebungsvariable einstellen, bevor Sie sqlloc<br />

aufrufen, außer Sie verwenden den -v-Parameter, um die Versionsnummer<br />

anzuzeigen.<br />

Berechtigungen Sie müssen <strong>Sybase</strong>-Systemadministrator sein, um sqlloc auszuführen.<br />

Siehe auch In der Dokumentation Installation Guide for UNIX Platforms finden Sie<br />

weitere Hinweise über das sqlloc-Dienstprogramm.<br />

<strong>Dienstprogramme</strong> – langinstall, sqllocres<br />

256 Adaptive Server Enterprise


sqllocres<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Nur UNIX-Plattformen Installiert und modifiziert Sprachen-, Zeichensatz-<br />

und Sortierreihenfolge-Standardwerte für Adaptive Server unter Verwendung<br />

einer Ressourcendatei. sqllocres befindet sich unter $SYBASE/CS-12_5/bin.<br />

Syntax sqllocres<br />

[-S Server]<br />

[-U Benutzer]<br />

[-P Kennwort]<br />

[-s <strong>Sybase</strong>-Verzeichnis]<br />

[-I Interfaces-Datei]<br />

[-r Ressourcendatei]<br />

Oder<br />

sqllocres -v<br />

Parameter -S Server<br />

gibt den Namen der Adaptive Server-Installation an, mit dem die<br />

Verbindung hergestellt werden soll.<br />

-U Benutzer<br />

gibt einen Login-Namen an.<br />

-P Kennwort<br />

gibt das Kennwort des mit -U eingegebenen Benutzers an.<br />

-s <strong>Sybase</strong>-Verzeichnis<br />

gibt den Wert für die SYBASE-Umgebungsvariable an.<br />

-I Interfaces-Datei<br />

gibt den Namen und Position der Interfaces-Datei an, die durchsucht werden<br />

soll, wenn eine Verbindung mit Adaptive Server hergestellt wird.<br />

-r Ressourcendatei<br />

führt die angegebene Ressourcendatei aus.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für sqllocres an und<br />

beendet dann.<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der aktuellen<br />

Version der Adaptive Server-Installation einstellen, bevor Sie sqllocres<br />

verwenden können.<br />

Berechtigungen Sie müssen <strong>Sybase</strong>-Systemadministrator sein, um sqllocres auszuführen<br />

Siehe auch Weitere Hinweise über das sqllocres-Dienstprogramm finden Sie in der<br />

Dokumentation Installation Guide for UNIX Platforms.<br />

<strong>Dienstprogramme</strong> 257


sqllocres<br />

<strong>Dienstprogramme</strong> langinstall, sqlloc<br />

258 Adaptive Server Enterprise


sqlsrvr<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Nur Windows-Plattformen Die Adaptive Server-Programmdatei befindet<br />

sich unter %SYBASE%\ASE-12_5\bin.<br />

Syntax sqlserver [-f] [-g] [-G] [-h] [-H] [-m] [-P] [-q] [-v] [-X]<br />

[-a Pfad_zu_CAP-Direktivendatei]<br />

[-b Master-Device-Größe]<br />

[-c Konfig-Datei_für_Server]<br />

[-d Devicename]<br />

[-e Pfad_zu_Fehler-Log]<br />

[-i Interfaces-Datei-Verzeichnis]<br />

[-K Keytab-Datei]<br />

[-L Konfig-Dateiname_für_Connectivity]<br />

[-M gemeinsam_genutzer_Speicher-Repository-Verzeichnis]<br />

[-p SA-Loginname]<br />

[-r Spiegel-Plattenspeichername]<br />

[-s Servername]<br />

[-T Trace-Flag]<br />

[-u SA/SSO-Name]<br />

[-w Master- | Modelldatenbank]<br />

[-y [Kennwort] ]<br />

[-z Seitengröße [ k | K ] ]<br />

Parameter -f<br />

erzwingt die Initialisierung eines Devices oder einer Datenbank. Sie müssen<br />

sowohl -b als auch -w angeben, um -f verwenden zu können.<br />

-g<br />

schaltet das Protokollieren von Ereignissen aus.<br />

-G<br />

legt den Namen des Ereignislog-Servers fest.<br />

-h<br />

druckt die Hilfemeldung und beendet dann.<br />

-H<br />

startet den HA-Server (High Availability, Hohe Verfügbarkeit), wenn Sie<br />

die HA-Funktion in Ihrer Adaptive Server-Installation installiert haben.<br />

-m<br />

startet Adaptive Server im Einzelbenutzer-Modus.<br />

-q<br />

behandelt Datenbanken im Ruhezustand wie „in Wiederherstellung“.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für sqlsrvr an und<br />

beendet dann.<br />

<strong>Dienstprogramme</strong> 259


sqlsrvr<br />

-X<br />

startet diesen Server als sybmon, und nicht als dataserver.<br />

-a Pfad_zu_CAP-Direktivendatei<br />

gibt den Pfad zur CAP-Direktivendatei an.<br />

-b Master-Device-Größe<br />

legt die Größe des Master-Devices fest.<br />

-c Konfig-Datei_für_Server<br />

gibt den vollständigen Pfadnamen einer Adaptive Server-Konfigurationsdatei<br />

an. Verwenden Sie diesen Parameter, um Adaptive Server mit den<br />

Konfigurationswerten in der angegebenen Konfigurationsdatei zu starten.<br />

Wenn Sie eine Konfigurationsdatei mit dem sqlsrvr -c-Parameter angeben,<br />

stellen Sie sicher, dass alle Parameter in dieser Konfigurationsdatei<br />

kompatibel sind, bevor Sie den Server neu starten. Wenn einige<br />

Konfigurationsparameter nicht kompatibel sind, startet der Server<br />

möglicherweise nicht neu. Um das zu vermeiden, geben Sie keine<br />

Konfigurationsdatei an, wenn Sie das Master-Device einrichten.<br />

Die Einrichtphase verwendet alle Standardeinstellungen, wenn Sie<br />

keine Konfigurationsdatei angeben.<br />

Weitere Hinweise finden Sie in der Dokumentation Systemadministration<br />

für Adaptive Server Enterprise.<br />

-d Devicename<br />

ist der vollständige Pfadname des Devices für die master-Datenbank.<br />

Das Master-Datenbankdevice muss für den Benutzer beschreibbar sein,<br />

der Adaptive Server startet. Das Standard-master-Datenbankdevice ist<br />

d_master.<br />

-e Fehlerlogdatei<br />

ist der vollständige Pfadname der Fehlerlogdatei für Fehlermeldungen der<br />

Adaptive Server-Systemebene.<br />

-i Interfaces-Datei-Verzeichnis<br />

gibt den Namen und den Standort der Interfaces-Datei an, die durchsucht<br />

werden soll, wenn die Verbindung mit der Adaptive Server-Installation<br />

eingerichtet wird. Wenn -I weggelassen wird, sucht sqlsrvr nach einer Datei<br />

namens interfaces in dem Verzeichnis, auf das von Ihrer <strong>Sybase</strong>-<br />

Umgebungsvariablen gezeigt wird.<br />

-K Keytab-Datei<br />

gibt den Pfad zur Keytab-Datei an, die zur Authentifizierung in DCE<br />

verwendet wird.<br />

260 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-L Konfig-Dateiname_für_Connectivity<br />

gibt den Namen der Konfigurationsdatei für Connectivity an.<br />

-M gemeinsam_genutzer_Speicher-Verzeichnis<br />

platziert Shared-Memory-Dateien in das angegebene Verzeichnis und nicht<br />

an den Standardstandort, $SYBASE%. Wenn gemeinsam_genutzter_<br />

Speicher-Verzeichnis mit „\“ startet, wird angenommen, dass der<br />

Verzeichnisname absolut ist. Ansonsten wird der Verzeichnisname relativ<br />

zu $SYBASE% interpretiert.<br />

-p SSO-Loginname<br />

gibt den Login-Namen eines Sicherheitsadministrators an, wenn Adaptive<br />

Server gestartet wird, damit für das neue Konto ein neues Kennwort<br />

eingerichtet werden kann. Adaptive Server erzeugt ein Zufallskennwort,<br />

zeigt es an, verschlüsselt es und speichert es in master..syslogins als das<br />

neue Kennwort für das Konto.<br />

-r Master-Spiegel<br />

startet den Spiegel für das Master-Device. Verwenden Sie diesen Parameter,<br />

um Adaptive Server zu starten, falls das Master-Device beschädigt wurde.<br />

-s Servername<br />

gibt den Namen der Adaptive Server-Installation an, die gestartet werden<br />

soll. Wenn -s weggelassen wird, wird ein Server mit Namen SYBASE<br />

gestartet.<br />

-T Trace-Flag<br />

-u SA/SSO-Name<br />

gibt den Namen des Systemadministrators oder Sicherheitsadministrators<br />

an, den Sie freigeben wollen.<br />

-w Master- | Modelldatenbank<br />

legt fest, ob Sie eine Master- oder eine Modelldatenbank schreiben wollen.<br />

-y [Kennwort]<br />

mit diesem Parameter können Sie ein Kennwort für den verschlüsselten<br />

privaten Schlüssel zuordnen, damit der Server den Benutzer zur Eingabe<br />

eines Kennworts auffordert. Dieses Kennwort sollte jenem entsprechen,<br />

mit dem Sie den privaten Schlüssel verschlüsselt haben, als er erstellt<br />

wurde. Sie können diesen Parameter nicht verwenden, wenn Sie den<br />

Server im Hintergrund ausführen.<br />

<strong>Dienstprogramme</strong> 261


sqlsrvr<br />

Hinweis Auch wenn Sie ein Kennwort mit -y, setzen können, empfiehlt <strong>Sybase</strong><br />

ausdrücklich, dies aus Sicherheitsgründen zu unterlassen.<br />

Ein privater Schlüssel ist im digitalen Zertifikat Ihres Servers enthalten.<br />

Standardmäßig finden Sie die Zertifikatsdatei unter:<br />

%SYBASE%\%SYBASE_ASE%\certificates\Servername.crt<br />

Der Standort der Zertifikatsdatei ändert sich, wenn Sie den sp_ssladmin<br />

addcert-Befehl aufrufen.<br />

-z Seitengröße<br />

legt die Seitengröße für den Server fest. Sie müssen -b und -w verwenden,<br />

um diese Option zu nutzen, und eine gerade Zweierpotenz zwischen<br />

2 KByte und 16 KByte angeben, da sonst der Server nicht neu startet.<br />

Beispiele Beispiel 1 Erstellt eine neue Installation mit einem 100-MByte-Master-<br />

Device und einer 4-KByte-Seite:<br />

sqlsrvr -d d_master -z 4k -b 100.02M<br />

Die Leerstellen zwischen den Optionen und den nachfolgenden Argumenten<br />

sind fakultativ und werden akzeptiert. In diesem Beispiel werden „100.02M“<br />

für ein 100-MByte-Master-Device festgelegt, da der Server einen 16-KByte-<br />

Overhead für seinen Konfigurationsbereich benötigt.<br />

Beispiel 2 Schreibt eine fehlerhafte model-Datenbank neu:<br />

sqlsrvr -d d_master -w model<br />

Beispiel 3 Schreibt eine fehlerhafte master-Datenbank neu, wobei die<br />

Devicegröße angegeben wird:<br />

sqlsrvr -d d_master -w master -z 4k<br />

Beispiel 4 Schreibt eine fehlerhafte master-Datenbank neu, indem Deviceund<br />

Seitengrößen festgelegt werden und der Server gezwungen wird, diese<br />

Werte anstelle von solchen, die er möglicherweise im Konfigurationsblock<br />

findet, zu akzeptieren:<br />

sqlsrvr -d d_master -w master -z 4k -b 100.02M -f<br />

Beispiel 5 Schreibt eine fehlerhafte master-Datenbank, wobei eine<br />

Seitengröße angegeben wird, die nicht der entspricht, die der Server in<br />

seinem Konfigurationsblock findet. Das erzeugt einen Fehler:<br />

sqlsrvr -d d_master -w master -z 8k<br />

00:00000:00000:2001/01/19 12:01:26.94 server Die<br />

konfigurierte Seitengröße des Servers entspricht nicht<br />

262 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

der, die auf der Befehlszeile angegeben ist. Um die<br />

konfigurierte Größe zu verwenden, lassen Sie die<br />

Größenangabe in der Befehlszeile weg. Um den Wert in der<br />

Befehlszeile zu verwenden, geben Sie 'force' (-f) ein.<br />

Beispiel 6 Schreibt eine fehlerhafte master-Datenbank neu, wobei eine<br />

inkorrekte Seitengröße angegeben ist, sogar bei einem normalen Neustart.<br />

Das erzeugt einen Fehler:<br />

sqlsrvr -d d_master -z4000<br />

sqlsrvr: Die 'z'-Option darf nicht ohne 'b' oder 'w'<br />

verwendet werden. sqlsrvr: Server wird die 'z'-Option<br />

ignorieren. sqlsrvr: die 'z'-Option enthält eine<br />

ungültige Seitengröße. sqlsrvr: Die Seitengröße<br />

muss eine gerade Zweierpotenz zwischen 2048 und<br />

16384 Byte sein.<br />

Syntax Das sqlsrvr-Dienstprogramm wird in anderen <strong>Sybase</strong>-Dokumenten als<br />

dataserver bezeichnet.<br />

Starten Sie Adaptive Server mit dem services manager-Dienstprogramm<br />

und nicht, indem Sie direkt das sqlsrvr-Programm ausführen. Wenn Sie<br />

Standardparameter ändern wollen, bearbeiten Sie die Registerschlüssel<br />

von Adaptive Server. Weitere Hinweise finden Sie im Konfigurationshandbuch<br />

für Ihre Plattform.<br />

Adaptive Server leitet seine Ausführungsumgebung aus Werten in der<br />

sysconfigures-Systemtabelle ab. Führen Sie die Systemprozedur<br />

sp_configure aus, um die Konfigurationswerte anzuzeigen;<br />

mit sp_configure und reconfigure ändern Sie die Konfiguration.<br />

Da Adaptive Server-Kennwörter verschlüsselt sind, können<br />

Sie vergessene Kennwörter nicht wiederherstellen. Wenn alle<br />

Sicherheitsadministratoren ihre Kennwörter verlieren, erzeugt der<br />

-p-Parameter ein neues Kennwort für ein Sicherheitsadministrator-Konto.<br />

Starten Sie Adaptive Server mit -p, melden Sie sich sofort bei Adaptive<br />

Server mit einem neuen Zufalls-Kennwort an und führen Sie sp_password<br />

aus, um Ihr Kennwort durch ein sichereres zu ersetzen.<br />

<strong>Dienstprogramme</strong> 263


sqlsrvr<br />

Standardmäßig protokolliert Adaptive Server Fehlermeldungen in der<br />

lokalen Fehlerlogdatei und dem lokalen Windows NT-Ereignis-Log. Sie<br />

können das Windows NT-Ereignis-Log deaktivieren, indem Sie den -g-<br />

Parameter einbeziehen und einen anderen Rechner für das Ereignislog mit<br />

-G Rechnername angeben. Bei der Eingabe des Arguments Rechnername<br />

müssen Sie die Standard-Windows NT-Konventionen benutzen. Beispiel:<br />

Um einen PC mit der Bezeichnung „LOGSITE“ anzugeben, geben Sie<br />

„\\LOGSITE“ als Rechnername-Argument ein. Hinweise über das<br />

Protokollieren von Fehlermeldungen finden Sie im Konfigurationshandbuch<br />

für Ihre Plattform.<br />

Nachdem Sie das Installationsprogramm fertig ausgeführt haben, stellen<br />

Sie die Dateiberechtigungen in der ausführbaren sqlsrvr-Datei ein, um den<br />

Zugriff auf ihre Ausführung zu beschränken.<br />

Wenn Sie einen Adaptive Server-Namen ohne den -s-Parameter<br />

angeben und nicht die Umgebungsvariable DSLISTEN eingestellt<br />

haben, verwendet sqlsrvr den Adaptive Server-Standardnamen SYBASE.<br />

Der Wert der Umgebungsvariablen DSLISTEN setzt diesen Standardwert<br />

außer Kraft. Der -s-Parameter setzt den Standardwert und die DSLISTEN-<br />

Umgebungsvariable außer Kraft.<br />

Automatische Login-Sperren können dazu führen, dass auf einem Rechner<br />

alle Logins gesperrt sind, die dazu berechtigt sind, Logins freizugeben<br />

(Systemadministratoren und Sicherheitsadministratoren). Wenn<br />

das passiert, verwenden Sie das sqlsrvr-Dienstprogramm mit dem<br />

-u-Parameter, um das angegebene Login auf Systemadministrator- oder<br />

Sicherheitsadministrator-Berechtigungen zu überprüfen, geben Sie das<br />

Konto frei und setzen Sie den Zählerwert für aktuelle fehlgeschlagene<br />

Logins auf Null.<br />

-f ist nur gültig, wenn der Parameter mit-b und/oder -w verwendet wird.<br />

Der Server startet nicht neu, wenn Sie -f ohne -b oder -w verwenden.<br />

-f wirkt sich auf den Server unterschiedlich aus, abhängig davon, ob -w<br />

vorhanden ist. Weitere Hinweise finden Sie unter -b und -w weiter unten.<br />

Adaptive Server starten<br />

Sie können eine der beiden nachstehenden Methoden verwenden, um Adaptive<br />

Server mit einer bezeichneten Konfigurationsdatei zu starten:<br />

Verwenden Sie Server Config, um den Server dahingehend<br />

zu konfigurieren, dass er den -c-Parameter aufweist. Im Fenster<br />

„Adaptive Server konfigurieren“ wählen Sie die Option „Befehlszeile“,<br />

und im Fenster „Befehlszeilenparameter“ geben Sie Folgendes ein:<br />

-CKonfigurationsdatei-Pfadname<br />

264 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Wenn Sie beispielsweise „-chaze.cfg“ eingeben, wird der Server mit der<br />

Konfigurationsdatei haze.cfg hochgefahren.<br />

Starten Sie Adaptive Server von der Befehlszeile und verwenden Sie den<br />

-c-Parameter.<br />

Abhängigkeiten und Bedingungen der -b- und -w-Optionen<br />

Die Auswirkung von -b ist abhängig davon, ob -w vorhanden ist:<br />

-b ohne -w erstellt ein Master-Device, benannt durch -d<br />

(der Standardwert ist d_master) und mit einer in -z angegebenen<br />

Seitengröße (der Standardwert ist 2048):<br />

Wenn das benannte Device bereits als eine OS-Datei vorhanden ist,<br />

schlägt der Versuch fehl und Sie müssen die vorhandene Datei<br />

entfernen und es nochmals versuchen.<br />

Wenn das benannte Device eine vorhandene unformatierte Partition<br />

benennt, schlägt der Versuch fehl, außer Sie beziehen die -f-Option<br />

ein. Das reinitialisiert die unformatierte Partition als ein Server-<br />

Master-Device.<br />

-b mit -w master fordert dataserver dazu auf, die in -z angegebene Größe<br />

zu verwenden, wenn die Master-Datenbank neu erstellt wird. Diese<br />

Einstellung bezieht sich nicht auf das Erstellen eines neuen Devices.<br />

-w erfordert möglicherweise zusätzliche Optionen:<br />

Wenn Sie -w model verwenden, werden die -z- und -b-Optionen akzeptiert,<br />

aber ignoriert.<br />

Wenn Sie -w master bei neuen Installationen verwenden, werden -z und -b<br />

nicht benötigt, weil die Device-Größeninformationen im config_block<br />

gespeichert sind.<br />

Wenn Sie -w master zum Upgrade alter Installationen verwenden,<br />

beachten Sie Folgendes:<br />

Der Server benötigt -b und/oder -z, wenn der config_block keinen<br />

gültigen Eintrag für die zugeordneten Größen enthält. Der Befehl<br />

schlägt fehl, wenn er keine gültigen Daten für die Seitengröße oder<br />

die Devicegröße erhält.<br />

Sie können -b und/oder -z angeben, wenn config_block gültige<br />

Einträge für die Größen, die sie darstellen, enthält. Wenn die Größen<br />

allerdings nicht mit denen im config_block übereinstimmen, müssen<br />

Sie -f hinzufügen, um Ihre neuen Größenwerte durchzusetzen.<br />

<strong>Dienstprogramme</strong> 265


sqlsrvr<br />

-f kann ohne -b oder -z auftreten, da -f den Server auch anweist,<br />

beschädigte Zuordnungsseiten als zur master-Datenbank gehörend<br />

zu akzeptieren. Das ist nützlich, wenn Sie schwer beschädigte<br />

Datenbanken wiederherstellen. Wenn Sie-w master -f angeben,<br />

ordnet der Server der master-Datenbank jede Zuordnungsseite auf<br />

dem benannten Master-Device zu, die zu keiner anderen Datenbank<br />

als master gehört.<br />

Berechtigungen Jeder mit Ausführungsberechtigung auf die Binärdaten, der Lese/Schreib-<br />

Zugriff auf alle Dateien hat.<br />

Benutzte Tabellen sysconfigures<br />

Siehe auch Befehle disk mirror, disk remirror, reconfigure<br />

Systemprozeduren sp_configure, sp_password<br />

<strong>Dienstprogramme</strong> startserver<br />

266 Adaptive Server Enterprise


sqlupgrade<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Nur UNIX-Plattformen Stellt Ihre derzeit installierte Adaptive Server-<br />

Version auf die neueste Version um, wobei eine auf X11/Motif basierende<br />

grafische Benutzeroberfläche (GUI) verwendet wird. sqlupgrade befindet sich<br />

unter $SYBASE/ASE-12_5/bin.<br />

Syntax sqlupgrade<br />

[-s <strong>Sybase</strong>-Verzeichnis]<br />

[-r Ressourcendatei]<br />

Oder<br />

sqlupgrade -v<br />

Parameter -s <strong>Sybase</strong>-Verzeichnis<br />

gibt den Wert für die SYBASE-Umgebungsvariable an.<br />

-r Ressourcendatei<br />

führt die angegebene Ressourcendatei aus.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für sqlupgrade an und<br />

beendet dann.<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der<br />

aktuellen Version der Adaptive Server-Installation einstellen, bevor Sie<br />

sqlupgrade verwenden können.<br />

Sie müssen die DISPLAY-Umgebungsvariable einstellen, bevor Sie<br />

sqlupgrade aufrufen, außer Sie verwenden den -v-Parameter, um die<br />

Versionsnummer anzuzeigen.<br />

Berechtigungen Sie müssen <strong>Sybase</strong>-Systemadministrator sein, um sqlupgrade auszuführen<br />

Siehe auch Weitere Hinweise über das sqlupgrade-Dienstprogramm finden Sie in der<br />

Dokumentation Installation Guide for UNIX Platforms.<br />

<strong>Dienstprogramme</strong> sqlupgraderes<br />

<strong>Dienstprogramme</strong> 267


sqlupgraderes<br />

sqlupgraderes<br />

Beschreibung Nur UNIX-Plattformen Stellt auf UNIX-Plattformen Ihre derzeit installierte<br />

Adaptive Server-Version auf die neueste Version um, wobei Ressourcendateien<br />

verwendet werden. sqlupgraderes befindet sich unter $SYBASE/<br />

$SYBASE_OCS/bin.<br />

Syntax sqlupgraderes<br />

[-s <strong>Sybase</strong>-Verzeichnis]<br />

[-r Ressourcendatei]<br />

Oder<br />

sqlupgraderes -v<br />

Parameter -s <strong>Sybase</strong>-Verzeichnis<br />

gibt den Wert für die SYBASE-Umgebungsvariable an.<br />

-r Ressourcendatei<br />

führt die angegebene Ressourcendatei aus.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für sqlupgraderes an und<br />

beendet dann.<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der aktuellen<br />

Version der Adaptive Server-Installation einstellen, bevor Sie sqlupgraderes<br />

verwenden können.<br />

Berechtigungen Sie müssen <strong>Sybase</strong>-Systemadministrator sein, um sqlupgraderes auszuführen.<br />

Siehe auch In der Dokumentation Installation Guide for UNIX Platforms finden Sie<br />

weitere Hinweise über das sqlupgraderes-Dienstprogramm.<br />

<strong>Dienstprogramme</strong> sqlupgrade<br />

268 Adaptive Server Enterprise


srvbuild<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Nur UNIX-Plattformen Erstellt neue Adaptive Server, Backup Server,<br />

Monitor Server oder XP Server mit den Standard- oder benutzerdefinierten<br />

Werten für wichtige Konfigurationsattribute, wobei eine auf X11/Motif<br />

basierende grafische Benutzeroberfläche verwendet wird. srvbuild befindet<br />

sich unter $SYBASE/ASE-12_5/bin.<br />

Syntax srvbuild<br />

[-s sybase-Verzeichnis]<br />

[-I Interfaces-Datei]<br />

[-r Ressourcendatei]<br />

Oder<br />

srvbuild -v<br />

Parameter -s sybase-Verzeichnis<br />

gibt den Wert für die SYBASE-Umgebungsvariable an.<br />

-I Interfaces-Datei<br />

gibt den Namen und Position der Interfaces-Datei an, die durchsucht werden<br />

soll, wenn eine Verbindung mit Adaptive Server hergestellt wird.<br />

-r Ressourcendatei<br />

führt die angegebene Ressourcendatei aus.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für srvbuild an und<br />

beendet dann.<br />

Syntax So müssen Sie die SYBASE-Umgebungsvariable einstellen:<br />

Auf die Position der aktuellen Version von Adaptive Server, bevor Sie<br />

srvbuild verwenden können.<br />

Bevor Sie srvbuild aufrufen, außer Sie verwenden den -v-Parameter,<br />

um die Versionsnummer anzuzeigen.<br />

Berechtigungen Sie müssen <strong>Sybase</strong>-Systemadministrator sein, um srvbuild auszuführen.<br />

Siehe auch Weitere Hinweise über das srvbuild-Dienstprogramm finden Sie in der<br />

Dokumentation Installation Guide for UNIX Platforms.<br />

<strong>Dienstprogramme</strong> srvbuildres<br />

<strong>Dienstprogramme</strong> 269


srvbuildres<br />

srvbuildres<br />

Beschreibung Nur UNIX-Plattformen Erstellt neue Adaptive Server, Backup Server,<br />

Monitor Server oder XP Server mit den Standard- oder benutzerdefinierten<br />

Werten für wichtige Konfigurationsattribute, wobei Ressourcendateien<br />

verwendet werden. srvbuildres befindet sich unter $SYBASE/ASE-12_5/bin.<br />

Syntax srvbuildres<br />

[-s sybase-Verzeichnis]<br />

[-I Interfaces-Datei]<br />

[-r Ressourcendatei]<br />

Oder<br />

srvbuildres -v<br />

Parameter -s sybase-Verzeichnis<br />

gibt den Wert für die SYBASE-Umgebungsvariable an.<br />

-I Interfaces-Datei<br />

gibt den Namen und Position der Interfaces-Datei an, die durchsucht werden<br />

soll, wenn eine Verbindung mit Adaptive Server hergestellt wird.<br />

-r Ressourcendatei<br />

führt die angegebene Ressourcendatei aus.<br />

-v<br />

gibt die Versionsnummer und Copyright-Meldung für srvbuildres an und<br />

beendet dann.<br />

Syntax Sie müssen die SYBASE-Umgebungsvariable auf die Position der aktuellen<br />

Version der Adaptive Server-Installation einstellen, bevor Sie srvbuildres<br />

verwenden können.<br />

Berechtigungen Sie müssen <strong>Sybase</strong>-Systemadministrator sein, um srvbuildres auszuführen.<br />

Siehe auch In der Dokumentation Installation Guide for UNIX Platforms finden Sie<br />

weitere Hinweise über das srvbuildres-Dienstprogramm.<br />

<strong>Dienstprogramme</strong> srvbuild<br />

270 Adaptive Server Enterprise


startserver<br />

Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

Beschreibung Nur UNIX-Plattformen Startet eine Adaptive Server- oder Backup Server-<br />

Installation. startserver befindet sich unter $SYBASE/ASE-12_5/bin.<br />

Syntax startserver [[-f Runserver-Datei] [-m]] ...<br />

Parameter -f Runserver-Datei<br />

legt den Namen einer ausführbaren Serverdatei unter Verwendung relativer<br />

Pfadangaben fest, die jedes Mal referenziert wird, wenn Sie Adaptive Server<br />

oder Backup Server starten. Standardmäßig befindet sich die diese Datei im<br />

aktuellen Verzeichnis und heißt RUN_Servername. Wenn Sie ein zweites<br />

Adaptive Server-System auf demselben Rechner starten, erstellt startserver<br />

eine neue Datei namens RUN_Servername.<br />

-m<br />

startet Adaptive Server im Einzelbenutzer-Modus, in dem sich nur der<br />

System-Administrator anmelden kann, und schaltet den allow updates to<br />

system tables-Konfigurationsparameter auf on. Verwenden Sie diesen<br />

Modus, um die master-Datenbank wiederherzustellen. Der System-<br />

Administrator kann den dbo use only-Parameter von sp_dboption für<br />

System-Administrationsaktivitäten verwenden, die mehr als einen Prozess<br />

erfordern, wie das Kopieren mit dem Massenexport/-import oder die<br />

Verwendung von Data Dictionary. startserver normally starts up only<br />

one server per node.<br />

Der -m-Parameter erstellt eine m_RUNSERVER-Datei und überschreibt alle<br />

vorhandenen m_RUNSERVER-Dateien.<br />

Beispiele Beispiel 1 Startet ein Adaptive Server-System namens SYBASE von der<br />

Runserver-Datei RUN_Servername im aktuellen Verzeichnis:<br />

startserver<br />

Beispiel 2 Startet ein Adaptive Server-System namens MYSERVER und<br />

einen Backup Server namens SYB_BACKUP:<br />

startserver -f RUN_MYSERVER -f RUN_SYB_BACKUP<br />

Beispiel 3 Startet nur das Backup Server-System SYB_BACKUP:<br />

startserver -f RUN_SYB_BACKUP<br />

Syntax startserver verwendet die Information in der Runserver-Datei,<br />

um Adaptive Server oder Backup Server zu starten. Das Master-Device<br />

muss für den Benutzer beschreibbar sein, der Adaptive Server startet.<br />

<strong>Dienstprogramme</strong> 271


startserver<br />

Der startserver-Befehl erstellt eine Adaptive Server-Fehlerlogdatei<br />

(errorlog genannt) in dem Verzeichnis, in dem Sie den Server starten,<br />

und fügt diese Information als Teil des -e-Parameters in die ausführbare<br />

Adaptive Server-Zeile der Runserver-Datei hinzu. Wenn ein zweites<br />

Adaptive Server-System auf demselben Rechner gestartet wird, wird ein<br />

neues Error-Log namens errorlog_Servername erstellt; diese Information<br />

wird der Runserver-Datei dieses Servers hinzugefügt. Der Benutzer muss<br />

Ausführungsberechtigung für die angegebene Runserver-Datei haben.<br />

Sie können mehrere Server starten, indem Sie mehr als eine Runserver-<br />

Datei anführen, wie in Beispiel 2 gezeigt. Sie können -m nach jedem<br />

-f Runserverdatei angeben.<br />

Adaptive Server leitet seine Ausführungsumgebung aus Werten in der<br />

config-Datei ab. Führen Sie sp_configure aus oder bearbeiten Sie die<br />

config-Datei, um Konfigurationsparameter anzuzeigen oder zu ändern.<br />

Um die Integrität Ihres Adaptive Server-Systems sicherzustellen ist es<br />

wichtig, dass Sie entsprechende Betriebssystem-Sicherheitsmaßnahmen<br />

für die ausführbare startserver-Datei und die Runserver-Datei anwenden.<br />

Die Runserver-Datei<br />

Die Runserver-Datei, die von srvbuild während der Installation erstellt<br />

wird, enthält den dataserver-Befehl, um Adaptive Server, oder den<br />

backupserver-Befehl, um Backup Server zu starten. Standardmäßig<br />

befindet sich die diese Datei im aktuellen Verzeichnis und heißt<br />

RUN_Servername. Sie können die Runserver-Datei bearbeiten, um die<br />

Optionen und Parameter für die Befehle zu korrigieren. Das folgende<br />

Beispiel zeigt zwei Muster-Runserver-Dateien.<br />

Runserver-Datei für Server MYSERVER:<br />

#!/bin/sh<br />

#<br />

# Adaptive Server Information:<br />

# name: /MYSERVER<br />

# master device: /remote/Masters/myserver_dat<br />

# master device size: 10752<br />

# errorlog: /remote/serverdev/install/errorlog<br />

# interfaces: /remote/serverdev/interfaces<br />

#<br />

#<br />

/remote/serverdev/bin/dataserver -d/remote/Masters/myserver_dat \<br />

-sMYSERVER -e/remote/serverdev/install/MYSERVER_errorlog \<br />

-i/remote/serverdev &<br />

Runserver-Datei für Backup Server SYB_BACKUP:<br />

272 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

#!/bin/sh<br />

#<br />

# Backup Server Information:<br />

# name: SYB_BACKUP<br />

# errorlog: /remote/serverdev/install/backup.log<br />

# interfaces: /remote/serverdev/interfaces<br />

# location of multibuf: /remote/serverdev/bin/sybmultbuf<br />

# language: us_english<br />

# character set: iso_1<br />

# tape configuration file: /remote/serverdev/backup_tape.cfg<br />

#<br />

#<br />

/remote/serverdev/bin/backupserver -SSYB_BACKUP \<br />

-e/remote/serverdev/install/backup.log \<br />

-I/remote/serverdev/interfaces \<br />

-M/remote/serverdev/bin/sybmultbuf -Lus_english -Jiso_1 \<br />

-c/remote/serverdev/backup_tape.cfg<br />

Siehe auch Befehle disk mirror, disk remirror, disk unmirror<br />

<strong>Dienstprogramme</strong> backupserver, dataserver<br />

<strong>Dienstprogramme</strong> 273


sybmigrate<br />

sybmigrate<br />

Beschreibung sybmigrate ermöglicht es, eine Adaptive Server-Installation von einer<br />

Seitengröße zu einer anderen Seitengröße zu konvertieren und zwischen<br />

Plattformen zu migrieren. Die Programmdatei befindet sich im Verzeichnis<br />

$SYBASE/$SYBASE_ASE/bin/sybmigrate.<br />

Windows NT Die Programmdatei befindet sich im Verzeichnis<br />

%SYBASE%\%SYBASE_ASE%\bin\sybmigrate.bat.<br />

Syntax sybmigrate [-v ] [-h ] [-f]<br />

[-D 1 | 2 | 3 | 4]<br />

[-I Interfaces-Datei ]<br />

[-r Eingabe-Ressourcendatei]<br />

[-m setup | migrate | validate | report]<br />

[-rn status | space_est | repl | diff | password]<br />

[-l Logdatei]<br />

[-t Ausgabe-Vorlage-Ressourcendatei]<br />

[-J Client-Zeichensatz]<br />

[-z Sprache]<br />

[-T Trace-Flags]<br />

[-Tase Trace-Flags]<br />

[-f ]<br />

Parameter -v<br />

druckt die Versionszeichenfolge und beendet dann.<br />

-h<br />

-f<br />

druckt die Hilfeinformationen und Hinweise zur Syntaxverwendung und<br />

beendet dann.<br />

hebt die Sperrsitzung auf.<br />

-D<br />

stellt die Ebene der Fehlerbehebung für sybmigrate ein.<br />

Die Standardebene ist 2.<br />

-I<br />

-r<br />

bezeichnet eine bestimmte interfaces-Datei zum Suchen von Servernamen.<br />

Wenn Sie keinen Speicherort für die interfaces-Datei angeben, wird in<br />

Windows $SYBASE/interfaces bzw. UNIX %SYBASE%\ini\sql.ini<br />

verwendet.<br />

gibt an, dass der Ressourcendatei-Modus beim Migrationsverfahren<br />

verwendet werden soll. Wenn Sie die Eingabe-Ressourcendatei nicht unter<br />

Verwendung des -r-Parameters angeben, wird sybmigrate im GUI-Modus<br />

ausgeführt.<br />

274 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-m<br />

bestimmt die Art der Vorgänge, die durchgeführt werden:<br />

setup – Einrichten des Repository und der aktiven Migrationsdatenbank<br />

und Migration der serverweiten Daten.<br />

migrate – Ausführung der Daten- und Objektmigration.<br />

validate – Validierung der migrierten Objekte.<br />

report – Ausführung eines der fünf möglichen Berichten. Die Berichte<br />

können im GUI- und Ressourcendatei-Modus ausgeführt werden.<br />

Die verfügbaren Berichte sind:<br />

status – Der Objektmigration-Statusbericht enthält Informationen<br />

über Objekte, die migriert wurden.<br />

space_est – Verwenden Sie den Zieldatenbank-<br />

Speicherschätzungsbericht, um zu überprüfen, ob Sie Ihrer<br />

Zieldatenbank genügend Ressourcen zugewiesen haben.<br />

repl – Mit dem Replikationsbericht überprüfen Sie explizit<br />

replizierte Objekte, die migriert wurden, bestimmen den Typ des<br />

Replikationssystems und erstellen SQL-Befehle für Benutzer zur<br />

Ausführung auf der Adaptive Server-Zielinstallation und<br />

Replication Server.<br />

diff – Überprüft die Objekte zwischen Quell- und Zieldatenbanken.<br />

Der diff-Bericht enthält folgende Informationen für folgende<br />

Objekttypen:<br />

Serverinformationen<br />

Datenbankinformationen<br />

DDL-Objekte<br />

Benutzertabellendaten<br />

password – Erstellt eine Datei für die geänderten Kennwörter.<br />

-rn<br />

gibt an, welche Art von Bericht erzeugt werden soll. Wenn -rn nicht<br />

angegeben wird, werden alle fünf Berichte ausgeführt.<br />

-l<br />

bestimmt eine benutzerdefinierte Logdatei, in der die Ausgabe des<br />

Migrationsprozesses gespeichert wird. Ohne Angabe von -l werden die<br />

Logs unter $SYBASE/$SYBASE_ASE/init/logs oder im Arbeitsverzeichnis<br />

gespeichert.<br />

<strong>Dienstprogramme</strong> 275


sybmigrate<br />

-t<br />

-J<br />

weist sybmigrate an, eine Ausgabe-Vorlage-Ressourcendatei zu generieren,<br />

die für nachfolgende Migrationen im Ressourcendatei-Modus verwendet<br />

werden soll.<br />

gibt den für die Adaptive Server-Verbindung zu verwendenden<br />

Zeichensatz an.<br />

-z<br />

gibt die für die Adaptive Server-Verbindung zu verwendende Sprache an.<br />

-T<br />

legt Befehlszeilen-Trace-Flags fest.<br />

-Tase<br />

wird verwendet, um Adaptive Server-Trace-Flags (eingeschaltet mit dbcc<br />

traceon) für alle von sybmigrate geöffneten Adaptive Server-Verbindungen<br />

auszuführen. Die Trace-Flags müssen in einer durch Kommas getrennten<br />

Listen angegeben werden.<br />

Beispiele Beispiel 1 Führt den status-Bericht aus:<br />

sybmigrate -r Ressourcendatei -m report -rn status<br />

Beispiel 2 Führt den space_est-Bericht im Ressourcendatei-Modus aus:<br />

sybmigrate -r Ressourcendatei -m report -rn space_est<br />

Beispiel 3 Führt den repl-Bericht aus:<br />

sybmigrate -r Ressourcendatei -m report -rn repl<br />

Syntax Wenn sybmigrate eine Sitzung nicht ordnungsgemäß beendet hat, heben<br />

Sie mit -f die geschaffene Verbindung zwischen Quell- und Zieldatenbank<br />

auf, so dass nur eine Sitzung von sybmigrate in einem Quell- und<br />

Zieldatenbankpfad ausgeführt werden kann.<br />

Wenn Sie den -r-Parameter verwenden, müssen Sie auch das -m-Argument<br />

benutzen, um die Art des durchzuführenden Vorgangs anzugeben: setup,<br />

migrate, validate oder report. Sie können den gesamten Migrationsprozess<br />

im Ressourcendatei-Modus ausführen oder ihn wahlweise auch nur<br />

teilweise auf diese Art ausführen.<br />

Sie können -t nur im Ressourcendatei-Modus ausführen.<br />

276 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-t erfordert, dass Sie sybmigrate unter Verwendung des -r-Arguments<br />

starten, wobei die Login-Informationen angegeben werden.<br />

Die Verwendung dieses Arguments macht es auch erforderlich, -<br />

m zu verwenden, um anzugeben, welche Art von Ressourcendatei<br />

erzeugt werden soll.<br />

Sie können sybmigrate außer Kraft setzen und die interfaces-Datei<br />

verwenden, indem Sie das -I-Argument angeben, wenn der LDAP-<br />

Eintrag in $SYBASE/$SYBASE_OCS/config/libtcl.cfg (in Unix) oder<br />

in %SYBASE%\%SYBASE_OCS%\ini\libtcl.cfg (in NT) definiert ist.<br />

Berichte<br />

status – Der Objektmigration-Statusbericht enthält Informationen über<br />

Objekte, die migriert wurden.<br />

space_est – Verwenden Sie den Zieldatenbank-Speicherschätzungsbericht,<br />

um zu überprüfen, ob Sie Ihrer Zieldatenbank genügend<br />

Ressourcen zugewiesen haben.<br />

repl – Mit dem Replikationsbericht überprüfen Sie explizit replizierte<br />

Objekte, die migriert wurden, bestimmen den Typ des Replikationssystems<br />

und erstellen SQL-Befehle für Benutzer zur Ausführung<br />

auf der Adaptive Server-Zielinstallation und Replication Server.<br />

diff – Überprüft die Objekte zwischen Quell- und Zieldatenbanken.<br />

Die Benutzer können den Bericht an einzelnen Objekten oder der<br />

ganzen Datenbank ausführen, mit Ausnahme von Server- und<br />

Datenbankinformationen oder Metadaten. Sie können den diff-Bericht<br />

jederzeit ausführen. Zur Ausführung des diff-Berichtes müssen Sie keine<br />

Einrichtungssitzung ausführen. Der Name der Quell- und Zieldatenbank<br />

muss bei Ausführung des diff-Berichtes nicht derselbe sein.<br />

Der diff-Bericht enthält folgende Informationen für folgende Objekttypen:<br />

Serverinformationen – Vergleich der Zeilenanzahl der<br />

Systemkataloge in der Master-Datenbank zwischen der<br />

Adaptive Server-Quell- und Zielinstallation. Diese Aufgabe<br />

ähnelt der Validierungssitzung.<br />

Datenbankinformationen – Vergleich der Zeilenanzahl der Systemkataloge<br />

in der Benutzerdatenbank zwischen der Adaptive Server-<br />

Quell- und Zielinstallation. Diese Aufgabe ähnelt der Validierungssitzung.<br />

<strong>Dienstprogramme</strong> 277


xpserver<br />

DDL-Objekte – Der Bericht zeigt, ob die Objekte in der Adaptive<br />

Server-Quell- oder Zielinstallation vorhanden sind. Wenn die Objekte<br />

in beiden Datenbanken vorhanden sind, wird das Objekt nicht in dem<br />

Bericht angezeigt.<br />

Benutzertabellendaten – Vergleich der Zeilenzahl der Benutzertabellen<br />

in der Adaptive Server-Quell- und Zielinstallation. Wenn die<br />

Tabelle nur in der Quell- oder Zieldatenbank vorhanden ist, wird die<br />

Tabelle nicht in dem Bericht angezeigt.<br />

Berechtigungen Sie müssen <strong>Sybase</strong> Systemadministrator sein oder sich mit „sa_role“<br />

anmelden, um sybmigrate verwenden zu können.<br />

Siehe auch Kapitel 6, „Migrations-Dienstprogramm“ enthält ausführliche Informationen<br />

zum sybmigrate-Dienstprogramm.<br />

xpserver<br />

Beschreibung Startet XP Server manuell.<br />

Syntax xpserver -S XP-Server<br />

xpserver<br />

-SXP-Server<br />

[-I Interfaces-Datei]<br />

[-pPriorität]<br />

[-sStack-Größe]<br />

[-u]<br />

[-v]<br />

[-x]<br />

Parameter -S XP-Server<br />

gibt den Namen der XP Server-Installation an, die gestartet werden soll.<br />

Das Format des XP Server-Namens ist SQLSERVERNAME_XP, wobei<br />

SQLSERVERNAME der Name der Adaptive Server-Installation ist, für den<br />

das XP Server-System dediziert ist. So würde zum Beispiel das XP Server-<br />

System für eine Adaptive Server-Installation namens SMOKE SMOKE_XP<br />

genannt werden. Der XP Server-Name muss in Großbuchstaben sein.<br />

-I Interfaces-Datei<br />

gibt den Namen und den Standort des Verzeichnisses an, das die Interfaces-<br />

Datei (sql.ini) enthält, nach der Adaptive Server bei der Verbindungsaufnahme<br />

mit XP Server sucht. Wenn Sie -I nicht festlegen, benutzt xpserver<br />

das ini-Unterverzeichnis des %SYBASE%-Versionsverzeichnisses.<br />

278 Adaptive Server Enterprise


Kapitel 8 Übersicht über die Dienstprogrammbefehle<br />

-p Priorität<br />

legt die Priorität für den Open Server-Prozess fest. Werte zwischen 0<br />

(Minimum) und 15 (Maximum) sind gültig. Damit wird der esp execution<br />

priority-Konfigurationsparameter aufgehoben. Der Standardwert ist 8.<br />

-s Stack-Größe<br />

legt (in Byte) die Stack-Größe des Prozesses fest, mit dem eine erweiterte<br />

gespeicherte Prozedur (ESP) ausgeführt wird. Damit wird der esp execution<br />

stacksize-Konfigurationsparameter aufgehoben, falls er eingestellt ist.<br />

Der Standardwert ist 34816 Byte.<br />

-u<br />

-v<br />

-x<br />

legt fest, dass die Funktionen automatisch vom XP Server-Speicher entladen<br />

werden, nachdem die ESP-Anforderung beendet ist. Damit wird der esp<br />

unload dll-Konfigurationsparameter aufgehoben, falls er eingestellt ist.<br />

Der Standardwert ist, die Funktion nicht zu entladen.<br />

gibt die Versionsnummer und Copyright-Meldung für XP Server an und<br />

beendet dann.<br />

legt fest, dass der Client-Sicherheitskontext verwendet werden soll, um<br />

Betriebssystem-Befehle mittels der System-ESP xp_cmdshell auszuführen.<br />

Damit wird der xp_cmdshell context-Konfigurationsparameter aufgehoben,<br />

falls er eingestellt ist. Der Standardwert ist die Verwendung des<br />

Sicherheitskontextes vom Betriebssystemkonto der Adaptive Server-<br />

Sitzung.<br />

Syntax XP Server wird normalerweise automatisch von Adaptive Server gestartet.<br />

Verwenden Sie den manuellen Befehl zum Starten von XP Server nur<br />

dann, wenn Sie in einer „XP Server nicht gestartet“-Fehlermeldung dazu<br />

aufgefordert werden.<br />

Es darf nur ein XP Server-System pro Adaptive Server-Installation geben.<br />

Eine Adaptive Server-Installation, die ESP ausführt, kommuniziert mit<br />

einem einzigen XP Server-System, und die ESP werden synchron<br />

ausgeführt.<br />

<strong>Dienstprogramme</strong> 279


xpserver<br />

Der -p-Parameter wirkt sich auf die Priorität aus, die der Open Server-<br />

Scheduler verwendet. Wenn -p einen hohen Wert hat, kann der Scheduler<br />

XP Server ausführen, bevor er die anderen Threads in seiner Task-Liste<br />

ausführt. Wenn -p einen niedrigen Wert hat, kann der Scheduler XP<br />

Server nur dann ausführen, wenn es keine weiteren Open Server-Threads<br />

in seiner Task-Liste gibt. Dieser Parameter ist unabhängig von den<br />

Anwendung-Warteschlangen-Prioritäten in Adaptive Server, die von<br />

sp_bindexeclass eingestellt werden.<br />

Siehe dazu die Erörterung der Mehrfach-Thread-Programmierung in der<br />

Dokumentation Open Server Server Library/C Reference Manual. Dort<br />

finden Sie Hinweise zur Abfolgeplanung von Open Server-Threads.<br />

Wenn das automatische Entladen von ESP-Funktionen nicht durch den -u-<br />

Parameter oder den esp unload dll-Konfigurationsparameter eingestellt ist,<br />

können Sie sie jederzeit während der Laufzeit mit sp_freedll entladen.<br />

Im Unterschied zu Adaptive Server und Backup Server hat XP Server<br />

keine Runserver-Datei.<br />

Bei der Konfiguration einer XP Server-Installation muss der Name<br />

des Verzeichnisdiensteintrags mit „_XP“ in Großbuchstaben enden,<br />

beispielsweise „abcdef_XP“ oder „ABCDEF_XP“.<br />

Berechtigungen Zum Ausführen von xpserver sind keine besonderen Berechtigungen<br />

erforderlich.<br />

Siehe auch System ESP xp_cmdshell<br />

Systemprozeduren sp_configure, sp_freedll<br />

280 Adaptive Server Enterprise


Index<br />

Symbols<br />

!! (Ausrufezeichen), Betriebssystembefehls-<br />

Präfix (isql) 234<br />

\ (Rückstrich)<br />

Escape-Zeichen für Sonderzeichen 152<br />

\ (Rückstrich), Datenfeldabschlusszeichen in<br />

interaktivem bcp 47<br />

\\0 (Null), Zeichenabschlusszeichen in<br />

interaktivem bcp 47<br />

\gt (Umleitung hinaus) in isql 16<br />

\isql 16<br />

\xd2 \xd3 (Anführungszeichen) zum Umschließen<br />

von Sonderzeichen 152<br />

“ ” (Anführungszeichen) zum Umschließen von<br />

Sonderzeichen 152<br />

A<br />

Abfragepuffer, zurücksetzen 12<br />

Abschlusszeichen (bcp) 53<br />

andere Programme, verwenden für 47<br />

ändern 38<br />

definiert 19<br />

Feld und Zeile, und 46, 48<br />

Adaptive Server<br />

ausführen (dataserver) 187<br />

ausführen (sqlsrvr) 255<br />

Konfiguration, Migration 108<br />

Upgrade (sqlupgrade) 263<br />

Upgrade mit Ressourcendateien<br />

(sqlupgraderes) 264<br />

Zurücksetzen von Prozessen 63<br />

Adaptive Server (Quelle), Migration 95<br />

Adaptive Server (Ziel), Migration 95<br />

additional network memory, Parameter 105<br />

allow_dup_row, Option von create index, und bcp 66<br />

andere <strong>Dienstprogramme</strong> von Adaptive Server<br />

und bcp 68<br />

Ändern<br />

Servereinträge (dscp) 89<br />

Servereinträge mit dsedit 77, 80<br />

Sortierreihenfolgen (sqllocres) 254, 255<br />

Sortierreihenfolgen, in GUI (sqlloc) 253, 254<br />

Sprachen (sqllocres) 254, 255<br />

Sprachen, in GUI (sqlloc) 253, 254<br />

Zeichensätze (sqllocres) 254, 255<br />

Zeichensätze, in GUI (sqlloc) 253, 254<br />

Anführungszeichen (\xd2 \xd3) zum Umschließen<br />

von Sonderzeichen 152<br />

Anführungszeichen (‘ ’) zum Umschließen von<br />

Sonderzeichen 152<br />

Ansichten, kopieren mit defncopy 209<br />

Anwendungsprogramme, Daten kopieren von 54<br />

Anzahl<br />

Serververbindungen zu backupserver 158<br />

ascii_7, Zeichensatz<br />

defncopy und 210<br />

ASCII-Format, bcp und 36<br />

Auffüllen mit Zeichen und bcp 46<br />

Aufgaben nach der Migration, für sybmigrate 130<br />

Ausführen von Adaptive Server 187, 255<br />

Siehe auch dataserver, Dienstprogrammbefehl 187<br />

Siehe auch sqlsrvr, Dienstprogrammbefehl 255<br />

Ausgabeformate, Daten Siehe Exportieren von Daten mit<br />

interaktivem bcp 54<br />

Ausrufezeichen (!!) Betriebssystembefehls-<br />

Präfix (isql) 234<br />

Auswählen eines Verzeichnisdienst-Bildschirms 72<br />

B<br />

Backup Server 158<br />

Siehe auch backupserver, Dienstprogrammbefehl<br />

158<br />

backupserver, Dienstprogrammbefehl 158<br />

Berechtigungen, erforderliche 162<br />

Definition 158<br />

<strong>Dienstprogramme</strong> 281


Index<br />

Fehlerlogdatei 159<br />

Fehlermeldungen in 162<br />

Interfaces-Datei 162<br />

Interfaces-Datei, Name und Position von 158<br />

LC_ALL, Umgebungsvariable 159<br />

Server starten und 161<br />

Servernamen angeben 158<br />

Serververbindungen, Anzahl von 158<br />

Sprache, Standardwert 159<br />

Trace Flags 162<br />

vollständige Pfadnamen angeben 159<br />

Zeichensatz, Standardwert 160<br />

-bbatch_size, Parameter 62<br />

bcp für die Migration 96<br />

bcp, Dienstprogrammbefehl 69, 163<br />

Abschlusszeichen verwendet in 19<br />

allow_dup_row, Option von create index 66<br />

andere <strong>Dienstprogramme</strong> von Adaptive Server und 68<br />

Anweisungsfolgen in 62<br />

Anweisungsfolgen von Tabellenzeilen importieren 62<br />

Anweisungsfolgengröße-Einstellungen 166<br />

ASCII-Format und 36<br />

-bbatch_size, Parameter 62<br />

Beispiele der Verwendung 168<br />

Berechtigungen erforderlich für 20, 43<br />

Binärformat und 19<br />

Dateispeichertypen in 40<br />

Daten exportieren 54, 57, 64<br />

Datenintegrität 67<br />

Datenspeichergröße in 40<br />

Datentypen 46<br />

Datenübertragung, vorbereiten für 20<br />

Datenverlust und Sicherung 24<br />

Definition 163<br />

dump database und 68<br />

eindeutige Identity-Spaltenwerte und 34<br />

einfügen und 69<br />

Eingabeaufforderungen in 40<br />

Eingabeaufforderungen und Antworten Siehe<br />

Interaktiver bcp 38<br />

erläutert 18<br />

Fehler in Datenkonvertierung 66<br />

Fehlerdateien 65<br />

Feldabschlusszeichen 38, 41<br />

Feldlängen 36<br />

Formatdateien 50, 54<br />

Fragen zur Performance bei 22, 34, 68<br />

Geschwindigkeit, Modi der 21<br />

Geschwindigkeit, und Indizes und Trigger 22<br />

Identity-Spalten und 33<br />

Importieren von Daten 25, 28, 57, 61<br />

Indexerstellung 66<br />

Indizes und Trigger, löschen 25<br />

interaktiver Modus 38, 48<br />

Kennwortverschlüsselung in 170<br />

Konfigurationsparameter 65<br />

langsame Version und Deadlocks auf<br />

Indexseite 27<br />

langsame Version von 23<br />

load database und 68<br />

load transaction und 68<br />

maximale Geschwindigkeit, aktivieren 68<br />

natives Dateiformat und 36<br />

natives Format und 36<br />

nicht interaktiv 36<br />

non-iso_1-Datendateien und 61<br />

partitionierte Tabellen und 26, 35, 64<br />

Performance der Vorgänge steigern 65<br />

Platzbedarf für Daten 25<br />

Präfixlänge 40<br />

Regeln und Daten kopieren 68<br />

schnelle Version von 23<br />

schnelle Version von, und Wiederherstellbarkeit<br />

von Daten 23<br />

Seitenzuweisungen, zunehmend für 28<br />

select into/bulkcopy/pllsort und 25<br />

Sonderzeichen, Behandlung 167<br />

sp_dboption 25<br />

Speichertypen 46<br />

Sprachen, andere Sprachen verwenden 61<br />

Standardfeldlänge, Konvertierung von Nichtzeichen<br />

in Standarddatentyp 45<br />

Standardwerte für Daten 67<br />

Standardwerte für Spalten und Datentypen 67<br />

System Data Format (SDF), Ausgabe 55<br />

Systemunterschiede 37<br />

Tabellen-Standardwerte und Daten kopieren 67<br />

Trigger in Zieltabelle nicht ausgelöst 22<br />

Trigger und Daten kopieren 68<br />

Übertragen von Daten zwischen Programmen 19<br />

verwenden mit Zugriffsregeln auf Zeilenebene 62<br />

Warnung über Daten-Wiederherstellung 166<br />

282 Adaptive Server Enterprise


Wiederherstellbarkeit beim Import von<br />

Daten erleichtern 63<br />

Zeichenformat 36<br />

Zeichenformat, Dateien 36<br />

Zeichenformat, Standard 37<br />

Zeichenformate akzeptiert 19<br />

Zeichensatz-Standardwerte 169<br />

Zeilenabschlusszeichen 38<br />

Zurücksetzen von Prozessen 63<br />

Bearbeiten<br />

Interfaces-Dateien 72, 74<br />

Interfaces-Dateien in GUI (dsedit) 217<br />

Netzwerktransportadressen in dsedit 80<br />

Befehlsabschlusszeichen (isql) 10<br />

Statistikoption 14<br />

Begrenzer<br />

Daten exportieren mit 56<br />

Importieren von Daten mít 59<br />

Beispiele<br />

bcp, Dienstprogrammbefehl 168<br />

defncopy, Dienstprogrammbefehl 213<br />

dscp, Dienstprogrammbefehl 216<br />

isql, Dienstprogrammbefehl 227<br />

showserver, Dienstprogrammbefehl 247<br />

startserver, Dienstprogrammbefehl 267, 268<br />

Berechtigungen erforderlich für<br />

bcp, Dienstprogrammbefehl 20, 43<br />

Betriebssystemdatei, Tabellen kopieren in 20<br />

Tabellen, Daten kopieren in 20<br />

Berechtigungen, erforderliche<br />

backupserver, Dienstprogrammbefehl 162<br />

Betriebssystemdatei, Tabellen<br />

hineinkopieren 175<br />

charset, Dienstprogrammbefehl 186<br />

dataserver, Dienstprogrammbefehl 192, 260<br />

dscp, Dienstprogrammbefehl 216<br />

dsedit, Dienstprogrammbefehl 72, 217<br />

langinstall, Dienstprogrammbefehl 237<br />

optdiag, Dienstprogrammbefehl 245<br />

sqlloc, Dienstprogrammbefehl 254<br />

sqllocres, Dienstprogrammbefehl 255<br />

sqlupgrade, Dienstprogrammbefehl 263<br />

sqlupgraderes, Dienstprogrammbefehl 264<br />

srvbuild, Dientsprogrammbefehl 265<br />

srvbuildres, Dienstprogrammbefehl 266<br />

tables, Daten hineinkopieren 175<br />

xpserver, Dienstprogrammbefehl 275<br />

Index<br />

Berichte für sybmigrate 112, 270<br />

Betriebssystemdateien<br />

erforderliche Berechtigung zum Hineinkopieren<br />

von Tabellen 175<br />

erforderliche Berechtigungen zum Kopieren<br />

von Tabellen in 20<br />

natives Format 36<br />

Betriebssysteme<br />

Befehlspräfix (!!) (isql) 234<br />

Nicht-Zeichen-Datentypformatierung 42<br />

nummerische Datentypformatierung 36<br />

Binärdaten<br />

bcp und 19<br />

Standard in interaktivem bcp 43<br />

buildmaster, Dienstprogrammbefehl Siehe<br />

auch dataserver<br />

C<br />

char-Datentyp und bcp 36<br />

charset, Dienstprogrammbefehl 185, 186<br />

Berechtigungen, erforderliche 186<br />

Definition 185<br />

Einstellungen für 186<br />

CIS bulk insert array size<br />

Konfiguration für die Migration 104, 109<br />

CIS bulk insert batch size 109<br />

CIS packet size<br />

Konfiguration, Migration 108<br />

Migration 105<br />

Copy Threads für sybmigrate 107<br />

create index, Befehl, bcp und doppelte Zeilen 66<br />

<strong>Dienstprogramme</strong> 283<br />

D<br />

data limits filter mode, Migration 131<br />

dataserver, Dienstprogrammbefehl 187<br />

Berechtigungen, erforderliche 192, 260<br />

Definition 187<br />

Kennwörter, neue generieren 192<br />

Dateien<br />

Fehler (bcp) 65<br />

natives Format 36<br />

Siehe auch Formatdateien in bcp 50<br />

Standardformate mit bcp 36


Index<br />

Daten<br />

Analyse Siehe Feldabschlusszeichen 38<br />

erforderliche Berechtigung zum Kopieren<br />

in Tabellen 175<br />

erforderliche Berechtigungen zum Kopieren<br />

in Tabellen 20<br />

Konvertierungsfehler 66, 67<br />

mit Adaptive-Server-Befehlen ändern 69<br />

mit Adaptive-Server-Befehlen verschieben 68<br />

mit bcp aus verschiedenen Programmen übertragen 19<br />

mit bcp importieren und exportieren 18<br />

mit Leerzeichen in interaktivem bcp auffüllen 44<br />

Wiederherstellbarkeit 23<br />

Datenbank erneut migrieren 142<br />

Datenbankdaten, Migrieren 97<br />

Datenbanken zusammenführen, bei der Migration 142<br />

Datenbanken, kopieren mit bcp 69<br />

Datenbank-Managementsystem, andere 54<br />

Datenbankobjekte<br />

kopieren mit bcp 163<br />

Datentypen<br />

bcp, Dateispeichertypen für 42<br />

bcp, Dateispeichertypen in 39<br />

bcp, verwendet in 46<br />

bcp-Formatdateien für 50<br />

char 36<br />

Feldlängen im interaktiven bcp 41, 48<br />

implizite Konvertierung von 41, 42<br />

Konvertierung von Nichtzeichen- in<br />

Zeichen-Standardfeldlänge in bcp 45<br />

kopieren und Kompatibilität 59<br />

Speicherung (SYB) 52<br />

Standardwerte und bcp 67<br />

Datenübertragung, Standardformate mit bcp 36<br />

ddlgen für die Migration 96<br />

Debug-Level für sybmigrate 111<br />

default network packet size, Konfigurationsparameter 65<br />

Definitionen<br />

backupserver, Dienstprogrammbefehl 158<br />

bcp, Dienstprogrammbefehl 163<br />

charset, Dienstprogrammbefehl 185<br />

dataserver, Dienstprogrammbefehl 187<br />

defncopy, Dienstprogrammbefehl 209<br />

dscp, Dienstprogrammbefehl 216<br />

dsedit, Dienstprogrammbefehl 217<br />

isql, Dienstprogrammbefehl 226<br />

kopieren. Siehe defncopy,<br />

Dienstprogrammbefehl 209<br />

optdiag, Dienstprogrammbefehl 239<br />

showserver, Dienstprogrammbefehl 247<br />

sqlloc, Dienstprogrammbefehl 253<br />

sqllocres, Dienstprogrammbefehl 254<br />

sqlsrvr, Dienstprogrammbefehl 255<br />

sqlupgrade, Dienstprogrammbefehl 263<br />

sqlupgraderes, Dienstprogrammbefehl 264<br />

srvbuild, Dientsprogrammbefehl 264<br />

srvbuildres, Dienstprogrammbefehl 265<br />

startserver, Dienstprogrammbefehl 266<br />

sybmigrate, Dienstprogrammbefehl 269<br />

xpserver, Dienstprogrammbefehl 273<br />

defncopy, Dienstprogrammbefehl 209<br />

ascii_7 Zeichensatz und 210<br />

Ausfall wegen langer Kommentare 214<br />

Beispiele 213<br />

Definition 209<br />

Kennwörter und Ausfälle 210<br />

Report Workbench, inkompatibel mit 209<br />

verschlüsselter Text 215<br />

Dienstprogrammbefehle<br />

Sonderzeichen verwenden 152<br />

Tabelle der Befehle 153<br />

DISPLAY, Umgebungsvariable<br />

in dsedit einstellen 72<br />

dscp, Dienstprogrammbefehl 216<br />

Befehlstabelle 93<br />

Beispiele 216<br />

Berechtigungen, erforderliche 216<br />

definiert 85<br />

Definition 216<br />

Einträge, neue durch Kopieren erstellen 90<br />

exit-Befehl 93<br />

help 85<br />

Hilfe 93<br />

in andere Sitzungen kopieren 91<br />

quit-Befehl 93<br />

Serverattribute 87<br />

Servereinträge ändern 89<br />

Servereinträge auflisten 91<br />

Servereinträge hinzufügen 88<br />

Servereinträge kopieren 90<br />

Servereinträge löschen 92<br />

Servereintraginhalt anzeigen 91<br />

284 Adaptive Server Enterprise


Sitzungen auflisten 86<br />

Sitzungen öffnen 86<br />

Sitzungen schließen 86<br />

starten 85<br />

zwischen Sitzungen kopieren 90<br />

dsedit, Dienstprogrammbefehl 217<br />

Befehlszeilenoptionen 72<br />

Berechtigungen, erforderliche 72, 217<br />

Bildschirm „Directory Service Session“ 74<br />

Definition 217<br />

DISPLAY-Umgebungsvariable und 72<br />

Fehlerbehandlung 71, 83<br />

Hinzufügen, Ändern oder Löschen von<br />

Servereinträgen nicht möglich 84<br />

Info 71<br />

libtcl.cfg-Datei 73<br />

Netzwerktransportadressen bearbeiten 80<br />

Netzwerktransportadressen hinzufügen 80, 83<br />

Fehlermeldung \xd2Öffnen der X-Anzeige nicht<br />

möglich\xd3 84<br />

öffnen mit sql.ini 73<br />

Serverattribute 76<br />

Servereinträge ändern 77, 80<br />

Servereinträge hinzufügen 77, 80<br />

Servereinträge kopieren 79, 80, 82, 83<br />

Servereinträge löschen 78<br />

Servereinträge umbenennen 78<br />

Sitzungen öffnen 74<br />

Sitzungen schließen 74<br />

starten 72<br />

startet nicht 83<br />

SYBASE-Umgebungsvariable und Position von<br />

libtcl.cfg ermitteln 73<br />

Verzeichnisdienst-Bildschirm auswählen 72<br />

von der Befehlseingabeaufforderung starten 71<br />

von entfernten Rechnern ausführen 72<br />

Windows NT Explorer aus starten 71<br />

DSLISTEN, Umgebungsvariable<br />

backupserver und 161<br />

dump database, Befehl<br />

bcp und 68<br />

dump transaction, Befehl<br />

bcp und 68<br />

Fehlermeldung, dump database empfohlen 23<br />

Index<br />

E<br />

Echo-Eingabe (isql) 16<br />

Eingabeaufforderungen<br />

bcp Siehe Interaktiver bcp 38<br />

Eingabeaufforderungen in bcp-<br />

Dienstprogrammbefehl 40<br />

enable unicode conversions, Migration 106<br />

Entfernte Rechner 72<br />

Entfernte Rechner, dsedit verwenden 72<br />

Erstellen<br />

neue Server (srvbuild) 264, 265<br />

neue Server mit Ressourcendateien<br />

(srvbuildres) 265, 266<br />

exit-Befehl<br />

in dscp 93<br />

in isql 10<br />

Exportieren von Daten mit interaktivem bcp 54, 57<br />

Begrenzer 56<br />

Fehlerdateien und 67<br />

Felder mit fester Länge 54<br />

für andere Software 54<br />

Text- und Bilddaten 64<br />

Exportieren von Daten Siehe Exportieren von Daten<br />

mit interaktivem bcp 54<br />

F<br />

Fehler<br />

in Datenkonvertierungen 66, 67<br />

Vorgänge, speichern während des Exports 67<br />

Vorgänge, speichern während des Imports 65<br />

Fehlerbehandlung, dsedit 83<br />

Fehlerbereinigung, sybmigrate 142<br />

Fehlerdateien<br />

bcp und 65, 67<br />

Exportieren und 67<br />

Fehlerlogdateien<br />

für backupserver 159<br />

Fehlermeldungen<br />

dsedit und X-Anzeige 84<br />

dump database statt dump transaction 23<br />

in backupserver 162<br />

select into/bulkcopy/pllsort in schnellem bcp auf<br />

Tabellen ohne Indizes oder Trigger 25<br />

Fehlermeldungen, Migration 140<br />

<strong>Dienstprogramme</strong> 285


Index<br />

Fehlersuche-Dienstprogramm 247<br />

Feldabschlusszeichen 38<br />

bcp 41<br />

interaktiver bcp 47, 48<br />

Felder mit fester Länge 54<br />

Feldlängen<br />

Importieren 57<br />

in interaktivem bcp 44, 46<br />

Präfixlänge, Ganzzahlwert in 53<br />

Formatdateien in bcp 50, 54<br />

Abschlusszeichen 53<br />

Anzahl der Datensätze in 51<br />

Elemente verwendet in 50<br />

Format verwendet für 50<br />

Hostdatei-Datenlänge 53<br />

Hostdatei-Datentyp-Speicherungsformate (SYB) 52<br />

Hostdatei-Spaltenreihenfolge 52<br />

Präfixlänge, Ganzzahlwert in 53<br />

Server-Spaltenname 54<br />

Server-Spaltenreihenfolge 53<br />

Spalten-Dezimalstellen 54<br />

Spalten-Gesamtstellenzahl 54<br />

Spaltennummern 51<br />

speichern 50<br />

TSD-Versionsnummer in 51<br />

G<br />

Gespeicherte Prozeduren<br />

kopieren mit defncopy 209<br />

Größe<br />

Datenspeicher in bcp 40<br />

Paketgröße 64<br />

Text- oder Bilddaten- 64<br />

GUI-Modus<br />

Migration 114<br />

H<br />

help, Befehl (dscp) 85<br />

Hilfebefehl (dscp) 93<br />

Hinweise<br />

Anweisungsfolgengröße-Einstellungen in bcp 166<br />

ascii_7, Zeichensatz-Kompatibilität 210<br />

defncopy und Report Workbench 209<br />

Kennwörter verwenden 152<br />

langsame Version von bcp und Deadlock 27<br />

Nullabschlusszeichen oder kein<br />

Abschlusszeichen 48<br />

select into/bulkcopy/pllsort und Kopieren<br />

von Daten in bcp 25<br />

Sicherheit 152<br />

Sonderzeichen, Behandlung in bcp 167<br />

Systemunterschiede in bcp 37<br />

Trigger von bcp in Zieltabelle nicht ausgelöst 22<br />

verborgener verschlüsselter Text 215<br />

Hinzufügen<br />

Netzwerktransportadressen in dsedit 80, 83<br />

Servereinträge in dscp 88<br />

Servereinträge in dsedit 77, 80<br />

Hohe Verfügbarkeit<br />

Migration 138<br />

Host-Datei<br />

isql und Lesevorgänge 16<br />

Hostdateien<br />

Datenlänge 53<br />

Datentyp-Speicherungsformate (SYB) 52<br />

natives Format in interaktivem bcp 44<br />

Spaltenreihenfolge 52<br />

I<br />

Identity-Spalten<br />

bcp und 34<br />

Paralleler bcp und 33, 34<br />

ignore_dup_key, Option von create index und bcp 66<br />

image, Datentyp<br />

interaktiver bcp und 43<br />

Importieren von Daten<br />

Anweisungsfolgen in 62<br />

paralleler bcp, Anforderungen für 29, 34<br />

Partitionieren, ungesteuerte Verwendung 27<br />

partitionierte Tabellen 27<br />

Schritte der schnellen Version von bcp 25<br />

Wiederherstellbarkeit nach Zurücksetzung<br />

erleichtern 63<br />

Importieren von Daten mit interaktivem bcp 57, 61<br />

Begrenzer 59<br />

Fehlerdateien und 67<br />

Feldlängen 57<br />

Kompatibilität von Datentypen, und Ausfall 59<br />

Importieren von Daten Siehe Kopieren von Daten<br />

mit interaktivem bcp 57<br />

286 Adaptive Server Enterprise


Index neu erstellen, Migration 130<br />

Index Threads für sybmigrate 108<br />

Indizes<br />

bcp, vor der Verwendung löschen 25<br />

Verlangsamen von bcp 22<br />

insert, Befehl<br />

Massenexport/-import der Daten, Vergleich 69<br />

Installieren<br />

Sortierreihenfolgen (sqllocres) 254, 255<br />

Sortierreihenfolgen, in GUI (sqlloc) 253, 254<br />

Sprachen (sqllocres) 254, 255<br />

Sprachen, in GUI (sqlloc) 253, 254<br />

Sprachen, neue (langinstall) 236, 239<br />

Zeichensätze (sqllocres) 254, 255<br />

Zeichensätze, in GUI (sqlloc) 253, 254<br />

Interaktiver bcp<br />

Daten für andere Software kopieren 39<br />

implizite Konvertierung von Datentypen 41, 42<br />

interaktiver bcp 38, 48<br />

Abschlusszeichen für neue Zeilen (\\n) 47<br />

Abschlusszeichen für tabellarische<br />

Datenvorbereitung 47<br />

Abschlusszeichen, Feld und Zeile 46, 48<br />

auffüllen, Daten mit Leerstellen 44<br />

Binärdaten, Standardwert 43<br />

Dateispeichertypen 39, 42<br />

Daten exportieren 54, 57<br />

Feldabschlusszeichen 47, 48<br />

Felder, Präfixlänge von 42, 44<br />

Feldlänge 44, 46<br />

image-Datentyp, Standardwert für 43<br />

Importieren von Daten 57, 61<br />

Nullwerte und 43<br />

Rückstrich, Abschlusszeichen (\) 47<br />

Speicherlänge 44, 46<br />

Standardwerte für Eingabeaufforderungen 38, 48<br />

Tabulator-Feldabschlusszeichen (\\) 47<br />

Textdaten kopieren, Standardwert für 43<br />

Zeichenabschlusszeichen Null oder<br />

unsichtbar (\\0) 47<br />

Zeichenformatdateien, Abschlusszeichen für 47<br />

Zeilenabschlusszeichen 47, 48<br />

Zeilenschaltung,<br />

Datenfeldabschlusszeichen (\\r) 47<br />

Interaktiver SQL-Parser 226<br />

Siehe auch isql, Dienstprogrammbefehl 226<br />

Index<br />

Interface-Dateien<br />

dscp-Sitzungen öffnen 86<br />

interfaces-Datei<br />

für sybmigrate 111<br />

Interfaces-Dateien<br />

backupserver und 162<br />

backupserver, Name und Position festlegen 158<br />

dscp, anzeigen und bearbeiten mit 216<br />

dsedit, anzeigen und bearbeiten mit 217<br />

dsedit, bearbeiten mit 74<br />

dsedit, in GUI anzeigen und bearbeiten mit 217<br />

zum Bearbeiten öffnen 72<br />

Interfaces-Dateien in GUI anzeigen 217<br />

Siehe auch dsedit, Dienstprogrammbefehl 217<br />

Interfaces-Dateien in GUI bearbeiten<br />

Siehe auch dsedit, Dienstprogrammbefehl 217<br />

iso_1, Zeichensatz 61<br />

isql, Dienstprogrammbefehl 226<br />

\< (Umleitung herein), Symbol 16<br />

\gt (Umleitung hinaus), Symbol 16<br />

Abfragen, bearbeiten 12<br />

Abfragepuffer, zurücksetzen 12<br />

Ausgabe, Formatierung 11<br />

Ausgabedatei 11<br />

Befehlsabschlusszeichen 10<br />

Befehlsabschlusszeichen, ändern 13<br />

Befehlsabschlusszeichen, zurücksetzen 228<br />

Beispiele 227<br />

Definition 226<br />

Echo-Eingabe 16<br />

exit-Befehl 10<br />

Host-Dateien, lesen 16<br />

maximale Anweisungsgröße 10<br />

Netzwerkpaketgröße 15<br />

Netzwerkpaketgröße, angeben 15<br />

Paketgröße 15<br />

quit-Befehl 10<br />

reset-Befehl 12<br />

Spaltentrennzeichen 11<br />

Statistik 14<br />

Statistikoption mit Befehlsabschlusszeichen 14<br />

Tippfehler korrigieren 12<br />

Transact-SQL, Verwendung mit 10<br />

Zeilennummern, entfernen 11, 16<br />

isql-Ausgabe formatieren 11<br />

<strong>Dienstprogramme</strong> 287


Index<br />

J<br />

JAVA_HOME, Umgebungsvariable<br />

Migration 102<br />

Java-Spalten für die Migration 106<br />

K<br />

Kennwörter<br />

bcp-Verschlüsselung 170<br />

defncopy und 210<br />

Hinweise zur Verwendung 152<br />

neue generieren 192<br />

Komma-begrenzte Ausgabe 54, 56<br />

Komponentenverzeichnis für die Migration 102<br />

Konventionen, Syntax xv<br />

Kopieren<br />

andere Sitzungen in dscp 91<br />

neue Einträge mit dscp 90<br />

Servereinträge mit dscp 90<br />

Servereinträge mit dsedit 79, 80, 82, 83<br />

zwischen Sitzungen in dscp 90<br />

Kopieren von Definitionen 209<br />

L<br />

Laden von Zeichensätzen 185, 186<br />

Siehe auch charset, Dienstprogrammbefehl 185<br />

LANG, Umgebungsvariable in backupserver 159<br />

langinstall, Dienstprogrammbefehl 236, 239<br />

Berechtigungen, erforderliche 237<br />

Definition 236<br />

langsame Version von bcp 23<br />

Deadlocks auf Indexseiten 27<br />

LC_ALL, Umgebungsvariable in backupserver 159<br />

load database, Befehl und bcp 68<br />

load transaction, Befehl<br />

bcp und 68<br />

Löschen<br />

Servereinträge (dscp) 92<br />

M<br />

manuelle Migration, was nicht migriert wird 98<br />

Massenexport/-import 69<br />

Massenimport/-export der Daten<br />

Siehe auch bcp, Dienstprogrammbefehl 163<br />

max memory, Migration 105<br />

max network packet size, Konfiguration für<br />

die Migration 109<br />

max network packet size, Konfigurationsparameter 65<br />

max packet size allowed, für sybmigrate 105<br />

max parallel degree, Konfiguration für die<br />

Migration 108<br />

Mehrbyte-Zeichensätze, Migration 107<br />

Migrieren<br />

Server (sybmigrate) 269<br />

N<br />

natives Dateiformat<br />

bcp und 36<br />

natives Format, Dateien 36<br />

Netzwerkpaketgröße<br />

angeben in isql 15<br />

Netzwerktransportadressen<br />

dsedit, bearbeiten mit 80<br />

hinzufügen mit dsedit 80, 83<br />

Netzwerktransporte 75<br />

Neue Server erstellen, mit Ressourcendateien 265, 266<br />

Siehe auch srvbuildres,<br />

Dienstprogrammbefehl 265<br />

Neue Server, erstellen 264, 265<br />

Siehe auch srvbuild, Dienstprogrammbefehl 264<br />

Neue Zeile, Abschlusszeichen (\\n)<br />

in bcp 37<br />

in interaktivem bcp 47<br />

nicht druckbare Zeichen, Hostdatei 44<br />

nicht protokollierte Transaktionen 23<br />

Nicht-Zeichen-Datentypen,<br />

Betriebssystemformat für 42<br />

Null, Zeichenabschlusszeichen (\\0) in<br />

interaktivem bcp 47<br />

Nullwerte 66<br />

interaktiver bcp und 43<br />

number of sort buffers für die Migration 109<br />

number of user connections für die Migration 108<br />

288 Adaptive Server Enterprise


number of user connections, für die Migration 109<br />

number of worker processes für die Migration 108<br />

nummerische Datentypen<br />

bcp-Konvertierung in Zeichenspeicherung 45<br />

Betriebssystemformat für 36<br />

Spalten-Dezimalstellen 54<br />

Spalten-Gesamtstellenzahl 54<br />

Nummern<br />

Zeile, entfernen aus isql 11, 16<br />

O<br />

Objekte<br />

keine Migration 140<br />

nach der Migration neu erstellen 143<br />

Objekthierarchie für die Migration 103<br />

Öffnen<br />

Sitzungen in dscp 86<br />

Sitzungen in dsedit 74<br />

optdiag, Dienstprogrammbefehl 239<br />

Berechtigungen, erforderliche 245<br />

Definition 239<br />

P<br />

Paketgröße, Netzwerk<br />

angeben in isql 15<br />

bcp, angeben mit 64<br />

Paralleler bcp<br />

in eine bestimmte Partition kopieren 29, 33<br />

Syntax 32<br />

verschiedene Methoden der Verwendung 31<br />

paralleler bcp<br />

Identity-Spalten und 33, 34<br />

verschiedene Methoden der Verwendung 34<br />

partitionierte Tabellen in bcp 26, 35<br />

Importieren von Daten, Methoden für das 27<br />

Kopieren von Daten, ungesteuert 27<br />

Seitenzuweisungen, zunehmend 28<br />

Performance<br />

bcp und 22, 34, 68<br />

isql-Netzwerkpaketgröße 15<br />

Massenexport und Paketgröße 65<br />

Index<br />

Positionen von backupserver-Fehlerlogdateien 159<br />

Präfixfeldlängen im interaktiven bcp 42<br />

Präfixfeldlängen in interaktivem bcp 44<br />

Präfixlänge 53<br />

Präfixlängen in bcp 40<br />

Primärdatenbank, nach Migration<br />

wiederherstellen 133<br />

Primäre Replikatdatenbank, Migration 132<br />

Problembehebung, Migration 140<br />

Puffer, Abfrage 12<br />

Q<br />

quit-Befehl<br />

in dscp 93<br />

in isql 10<br />

R<br />

Regeln<br />

defncopy, kopieren mit 209<br />

Tabellen, Daten kopieren in 67<br />

Replication Server, replizierte Daten in<br />

Adaptive Server 12.5 migrieren 130<br />

Replikatdatenbank<br />

Migration 132<br />

Nach Migration wiederherstellen 134<br />

Replizierte Datenbanken<br />

Aufgaben nach der Migration 133<br />

Report Workbench, inkompatibel mit defncopy 209<br />

reset, Befehl (isql) 12<br />

Ressourcedatei-Modus, Migration 122<br />

RSSD-Datenbank<br />

Migration 132<br />

Nach Migration wiederherstellen 135<br />

Rückstrich (\)<br />

Abschlusszeichen in interaktivem bcp 47<br />

Escape-Zeichen für Sonderzeichen 152<br />

<strong>Dienstprogramme</strong> 289


Index<br />

S<br />

Schließen einer Sitzung<br />

dscp 86<br />

dsedit 74<br />

schnelle Version von bcp 23<br />

Importieren von Daten 25<br />

Wiederherstellbarkeit von Daten und 23<br />

Schriftartkonventionen xv<br />

Security Mechanism, Serverattribut (dscp) 88<br />

select into, Befehl, Vergleich mit dem Massenexport/import<br />

der Daten 69<br />

select into/bulkcopy/pllsort, Datenbankoption<br />

bcp und 25<br />

Server<br />

backupserver, Namen festlegen in 158<br />

backupserver, starten in 161<br />

Geschwindigkeitsmodi bei der Verwendung von bcp<br />

21<br />

migrieren 269<br />

startserver, Dienstprogrammbefehl 266<br />

startserver, starten in 266<br />

sybmigrate, Dienstprogrammbefehl 269<br />

Server anzeigen 247<br />

Siehe auch showserver, Dienstprogrammbefehl 247<br />

Server Entry Editor, Fenster 75<br />

Server Name, Serverattribut (dscp) 87<br />

Server Object Version, Serverattribut (dscp) 87<br />

Server Service, Serverattribut (dscp) 87<br />

Server Status, Serverattribut (dscp) 87<br />

Serverattribute (dscp) 87<br />

Serverdaten, Migrieren 96<br />

Servereinträge<br />

ändern mit dsedit 77, 80<br />

hinzufügen mit dsedit 77<br />

Inhalt mit dscp anzeigen 91<br />

kopieren mit dsedit 79, 80, 82, 83<br />

löschen mit dsedit 78<br />

mit dscp auflisten 91<br />

Servereinträge hinzufügen 80<br />

umbenennen mit dsedit 78<br />

Servernamen in backupserver festlegen 158<br />

Serverspalte<br />

Namen 54<br />

Reihenfolge 53<br />

Serververbindungen<br />

backupserver, Anzahl von 158<br />

Setup-Sitzung, für sybmigrate 103<br />

showserver, Dienstprogrammbefehl 247<br />

Beispiele 247<br />

Definition 247<br />

Sicherheit, Hinweise zu 152<br />

Sichern, verglichen mit dem Massenexport/-import<br />

der Daten 68<br />

Sitzungen<br />

auflisten (dscp) 86<br />

Sitzungen für die Migration sperren 111<br />

Sonderzeichen<br />

bcp, Behandlung in 167<br />

Dienstprogrammbefehle, Verwendung in 152<br />

Sortierreihenfolgen<br />

installieren und ändern (sqllocres) 254, 255<br />

installieren und ändern, in GUI (sqlloc) 253, 254<br />

sp_dboption system procedure and bcp 25<br />

Spalten<br />

Datentypgrößen und 44<br />

mit fester oder mit variabler Länge 43<br />

Null 66<br />

Spaltentrennzeichen (isql) 11<br />

Standardwerte und bcp 67<br />

Spalten-Gesamtstellenzahl in nummerischen oder<br />

dezimalen Speicherungsformaten 54<br />

speichern<br />

Fehler bei Exportvorgängen 67<br />

Fehler bei Kopiervorgängen 65<br />

Formatdateien (bcp) 50<br />

Speicherplatzbedarf und bcp-Schritte 25<br />

Speichertypen, in bcp verwendet 46<br />

Sprachen<br />

andere Sprachen, mit bcp 61<br />

Angabe für die Migration 114<br />

installieren und ändern (sqllocres) 254, 255<br />

installieren und ändern, in GUI (sqlloc) 253, 254<br />

Migration 106<br />

neue installieren (langinstall) 236, 239<br />

SPX/IPX-Adressen für Interface-Einträge 81<br />

sql.ini, Datei<br />

dsedit-Sitzungen, öffnen mit 73<br />

Einträge ändern 77<br />

Einträge hinzufügen 77<br />

Einträge kopieren 79, 82, 83<br />

Einträge löschen 78<br />

Einträge umbenennen 78<br />

290 Adaptive Server Enterprise


sqldbgr, Dienstprogramm 247<br />

sqlloc, Dienstprogrammbefehl 253, 254<br />

Berechtigungen, erforderliche 254<br />

Definition 253<br />

sqllocres, Dienstprogrammbefehl 254, 255<br />

Berechtigungen, erforderliche 255<br />

Definition 254<br />

SQL-Parser-Dienstprogramm. Siehe isql,<br />

Dienstprogrammbefehl 226<br />

sqlsrvr, Dienstprogrammbefehl 255<br />

Definition 255<br />

sqlupgrade, Dienstprogrammbefehl 263<br />

Berechtigungen, erforderliche 263<br />

Definition 263<br />

sqlupgraderes, Dienstprogrammbefehl 264<br />

Berechtigungen, erforderliche 264<br />

Definition 264<br />

srvbuild, Dientsprogrammbefehl 264, 265<br />

Berechtigungen, erforderliche 265<br />

Definition 264<br />

srvbuild, für sybmigrate 101<br />

srvbuildres, Dienstprogrammbefehl 265, 266<br />

Berechtigungen, erforderliche 266<br />

Definition 265<br />

Standardwerte<br />

bcp-Datenkonvertierung 45<br />

bcp-Eingabeaufforderungen 38, 48<br />

Daten in Tabellen kopieren 67<br />

Eingabeaufforderungen im<br />

interaktiven bcp 38, 48<br />

kopieren mit defncopy 209<br />

select into/bulkcopy/pllsort-Optionseinstellungen<br />

in neuen Datenbanken 25<br />

Sprachen in backupserver 159<br />

Zeichensätze in backupserver 160<br />

Zeichensätze, in bcp 169<br />

Starten<br />

dscp-Dienstprogramm 85<br />

dsedit, Dienstprogrammbefehl 71, 72<br />

Server (startserver) 266<br />

XP Server manuell (xpserver) 273, 275<br />

startserver, Dienstprogrammbefehl 266<br />

backupserver und 161<br />

Beispiele 267<br />

Definition 266<br />

Runserver-Datei, Beispiele 268<br />

Index<br />

Statistik<br />

aktualisierte laden (optdiag) 239<br />

anzeigen (optdiag) 239<br />

isql 14<br />

SYBASE, Umgebungsvariable 102<br />

SYBASE_ASE, Umgebungsvariable 102<br />

SYBASE-Umgebungsvariable in dsedit 73<br />

sybmigrate<br />

Adaptive Server (Quelle) 95<br />

Adaptive Server (Ziel) 95<br />

Adaptive Server-Version 95<br />

additional network memory, Parameter 105<br />

Aufgaben für replizierte Datenbanken nach der<br />

Migration 133<br />

Aufgaben nach der Migration 130<br />

ausführbare Datei 102<br />

ausführen 110<br />

Ausgabevorlage, Ressourcedatei 114<br />

bcp 96<br />

benutzerdefinierte Logdatei 113<br />

Berechtigungen 101<br />

Bereinigen von Fehlern nach der Migration 142<br />

Berichte 112, 270<br />

CIS bulk insert array size 109<br />

CIS bulk insert array size, Konfiguration 104<br />

CIS bulk insert batch size, Konfiguration 109<br />

CIS packet size, Konfiguration 105, 108<br />

Copy Threads 107<br />

data limits filter mode für replizierte Daten 131<br />

Datenbank erneut migrieren 142<br />

ddlgen 96<br />

Debug-Level 111<br />

einzelne Objekte neu erstellen 143<br />

erforderliche Komponenten 100<br />

Fehlervermeidung 110<br />

GUI-Modus 114<br />

Hilfeinformationen 111<br />

Index neu erstellen 130<br />

Index Threads 108<br />

Installation 100<br />

interfaces-Datei 111<br />

Java-Spalten 106<br />

Komponentenverzeichnis 102<br />

Konfiguration des alten Adaptive Server 108<br />

Konfiguration und Optimierung 107<br />

max packet size allowed, Konfiguration 105<br />

<strong>Dienstprogramme</strong> 291


Index<br />

max parallel degree, Konfiguration 108<br />

Mehrbyte-Zeichensätze 107<br />

mehrere Sitzungen 104<br />

Migration der Datenbankdaten 97<br />

Migration der Serverdaten 96<br />

Migration einer primären Replikatdatenbank 132<br />

Migration einer Replikatdatenbank 132<br />

Migration einer RSSD-Datenbank 132<br />

Migration mit hoher Verfügbarkeit 138<br />

Migrationssitzung 120<br />

Migrieren von Replication Server-Daten 130<br />

number of sort buffers, Konfiguration 109<br />

number of user connections, Konfiguration 108, 109<br />

number of worker processes, Konfiguration 108<br />

Objekte werden nicht migriert 140<br />

Objekthierarchie 103<br />

Plattformen 102<br />

Primärdatenbanken wiederherstellen 133<br />

Problembehebung und Fehlermeldungen 140<br />

Replikatdatenbanken wiederherstellen 134<br />

Ressourcedatei-Modus 122<br />

RSSD-Datenbanken wiederherstellen 135<br />

Setup-Sitzung 103, 114<br />

Speicher für JVM 102<br />

Sprache angeben 114<br />

Sprachen 106<br />

sybmigrate , Log 135<br />

Syntax 111<br />

Trace-Flags für die Befehlszeile 114<br />

Überschreiben der Sperrsitzung 111<br />

Umgebungsvariablen 102<br />

Upgrade 100<br />

Validierungssitzung 103, 122<br />

Versionspfad 102<br />

versionsübergreifende Migration 139<br />

Versionszeichenfolge 111<br />

Voraussetzungen 100<br />

Vorbereitung der Migration 104<br />

Zeichensatz angeben 114<br />

Zeichensatzkonvertierung 106<br />

zwei Datenbanken zusammenführen 142<br />

sybmigrate ,max network packet size-<br />

Konfiguration 109<br />

sybmigrate, Dienstprogrammbefehl 269<br />

Definition 269<br />

sybmigrate, was nicht migriert wird 98<br />

sybmigrate,max memory-Konfiguration 105<br />

SYBMIGRATE_MEMORY, Umgebungsvariable<br />

Migration 102<br />

sybmultbuf, zum Starten von Backup Server 159<br />

Symbole, Feldabschlusszeichen (bcp) 47<br />

Syntax<br />

für sybmigrate 111<br />

Syntaxkonventionen xv<br />

sysconfig.exe, für sybmigrate 101<br />

System Data Format (SDF), Ausgabe in bcp 55<br />

Systemprozedur (sp_dboption) 25<br />

T<br />

Tabellen<br />

bcp-Eingabeaufforderungen in 40<br />

bcp-Zeichensatz-Standardwerte 169<br />

Dienstprogrammbefehle 153<br />

erforderliche Berechtigung zum Hineinkopieren<br />

von Daten 175<br />

erforderliche Berechtigung zum Kopieren in<br />

Betriebssystemdateien 175<br />

erforderliche Berechtigungen zum Kopieren in<br />

Betriebssystemdateien 20<br />

erforderliche Berechtigungen zum Kopieren von<br />

Daten in 20<br />

Tabellendaten, kopieren 48<br />

Tabellenzeilen<br />

Kopieren in Anweisungsfolgen 62<br />

Länge 31<br />

Tabulare Ausgabe 54, 57<br />

Tabulator-Feldabschlusszeichen (\\\) in<br />

interaktivem bcp 47<br />

TCP/IP-Adressen für Interface-Einträge 81<br />

text, Datentyp<br />

interaktiver bcp und 43<br />

Trace Flags und backupserver 162<br />

Trace-Flags, für sybmigrate 114<br />

Transact-SQL<br />

mit isql verwenden 10<br />

Transport Address, Serverattribut (dscp) 88<br />

Transport Type, Serverattribut (dscp) 87<br />

Trigger<br />

bcp, vor der Verwendung löschen 25<br />

kopieren mit defncopy 209<br />

Tabellen, Daten kopieren in 67<br />

Verlangsamen von bcp 22<br />

292 Adaptive Server Enterprise


U<br />

Übersicht<br />

dscp-Befehle 93<br />

Übertragen von Daten aus Programmen mit bcp 19<br />

Umbenennen von Servereinträgen mit dsedit 78<br />

Umgebungsvariablen<br />

DSLISTEN (backupserver) 161<br />

LANG (backupserver) 159<br />

LC_ALL (backupserver) 159<br />

SYBASE_ASE 102<br />

Versionspfad, für sybmigrate 102<br />

Umleitung herein, Symbol (\isql) 16<br />

Umleitung hinaus, Symbol (\gt) in isql 16<br />

Upgrade, Adaptive Server 263<br />

Siehe auch sqlupgrade,<br />

Dienstprogrammbefehl 263<br />

Upgrade, Adaptive Server mit<br />

Ressourcendateien 264<br />

Siehe auch sqlupgraderes,<br />

Dienstprogrammbefehl 264<br />

V<br />

Validierungssitzung, für sybmigrate 103<br />

Verborgener verschlüsselter Text 215<br />

Version von Adaptive Server für sybmigrate 95<br />

Versionspfad, für sybmigrate 102<br />

Verzeichnisdienste<br />

Einträge ändern 77<br />

Einträge hinzufügen 77<br />

Einträge kopieren 79, 82, 83<br />

Einträge löschen 78<br />

Einträge umbenennen 78<br />

öffnen, mit dsedit 73<br />

Vollständige Pfadnamen angeben<br />

in Backup Server 159<br />

Vollständige Pfadnamen in Backup Server<br />

verwenden 159<br />

Index<br />

W<br />

Warnungen<br />

bcp in Daten-Wiederherstellung 166<br />

bcp-Datenverlust 24<br />

defncopy-Ausfall wegen langer Kommentare 214<br />

X<br />

XP Server, manuell starten 273, 275<br />

Siehe auch xpserver, Dienstprogrammbefehl 273<br />

xpserver, Dienstprogrammbefehl 273, 275<br />

Berechtigungen, erforderliche 275<br />

Definition 273<br />

Z<br />

Zeichenformate<br />

Abschlusszeichen für 47<br />

bcp 19<br />

Standard in bcp 36, 37<br />

Zeichensatz<br />

Angabe für die Migration 114<br />

Zeichensätze<br />

backupserver, Standardwert in 160<br />

bcp, Standardwerte in 169<br />

installieren und ändern (sqllocres) 254, 255<br />

installieren und ändern, in GUI (sqlloc) 253, 254<br />

Konvertieren von Nichtzeichen-Daten 44<br />

laden mit charset 185, 186<br />

systemeigene Standardwerte 61<br />

Zeilen in bcp, und fehlerhafte Tabellen 67<br />

Zeilen, Tabelle<br />

Länge 31<br />

Massenexport/-import und Fehler 63<br />

Zeilenabschlusszeichen<br />

bcp in 38<br />

interaktiver bcp in 47, 48<br />

Zeilennummern, entfernen in isql 11<br />

Zeilenschaltung, Datenfeldabschlusszeichen (\\r)<br />

in interaktivem bcp 47<br />

Zeilenummern, entfernen in isql 16<br />

Zugriffsregeln auf Zeilenebene und bcp 62<br />

Zurücksetzen von Prozessen 63<br />

<strong>Dienstprogramme</strong> 293


Index<br />

294 Adaptive Server Enterprise

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!