新しいデータベースを作成します。
dbinit [ options ] new-database-file
オプション | 説明 | ||||||
---|---|---|---|---|---|---|---|
@data |
指定した環境変数または設定ファイルからオプションを読み込みます。 設定ファイルを参照してください。 設定ファイル内のパスワードなどの情報を保護する場合は、ファイル難読化ユーティリティを使用して、設定ファイルの内容を難読化します。 ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
||||||
-a |
CHAR データ型または NCHAR データ型で Unicode 照合アルゴリズム (UCA ) を使用している場合 (「-z」と「-zn」を参照)、文字列比較の際に文字のアクセント記号の違いを考慮します (たとえば、e は é より小さいと見なします)。UCA 照合を使用して作成された日本語のデータベースを除き、デフォルトではアクセント記号は無視されます (e は é と等しいと見なされます)。すべての基本文字 (アクセントと大文字/小文字の区別を取り除いた文字) が等しい場合は、アクセントが左から右へ比較されます。 日本語のデータベースを作成する場合の UCA 照合では、デフォルトでアクセント記号が区別されます。つまり、アクセント記号が考慮されます。Unicode 照合アルゴリズム (UCA)を参照してください。 |
||||||
-af |
CHAR データ型または NCHAR データ型で UCA を使用している場合 (「-z」と「-zn」を参照)、文字列比較の際に文字のアクセント記号の違いを考慮します (たとえば、e は é より小さいと見なします)。デフォルトでは、アクセント記号は無視されます (e は é と等しいと見なされます)。すべての基本文字 (アクセント記号を取り除いた文字) が等しい場合は、フランス語の規則に従ってアクセント記号が右から左へ比較されます。 Unicode 照合アルゴリズム (UCA)を参照してください。 |
||||||
-b |
データベースにブランクを埋め込みます。 SQL Anywhere は、文字列について、可変長であり VARCHAR ドメインを使用して格納されている文字列と同じ扱いで、すべての文字列を比較します。これには、固定長の CHAR カラムまたは NCHAR カラムの文字列比較も含まれます。また、値がデータベースに格納されている場合、SQL Anywhere は後続ブランクのトリムや埋め込みは行いません。 デフォルトでは、SQL Anywhere はブランクを意味のある文字として扱います。したがって、値 'a ' (文字 'a' と、後続の 1 つのブランク) は、単一文字の文字列 'a' と等しくありません。不等号比較の照合でも、ブランクは、ブランク以外の文字として扱われます。 ブランク埋め込みが有効である場合 (dbinit -b オプション)、文字列比較のセマンティックは ANSI/ISO SQL 標準とさらに近づきます。ブランク埋め込みが有効であると、SQL Anywhere はどのような比較であっても後続ブランクを無視します。 上に挙げた例では、ブランクを埋め込まれたデータベースで 'a ' を 'a' に対して等号比較すると、TRUE が返されます。ブランクを埋め込まれたデータベースでは、固定長文字列の値は、アプリケーションによってフェッチされたときにブランクで埋め込まれます。このような文字の割り当てが行われたときにアプリケーションが文字列のトランケーション警告を受け取るかどうかは、ansi_blanks 接続オプションによって制御されます。ansi_blanks オプションを参照してください。 |
||||||
-c |
比較や文字列操作をするときに、すべての値で大文字と小文字を区別します。大文字と小文字を区別するデータベースであっても、データベースの識別子については大文字と小文字は区別されません。 UCA 照合を使用して作成された日本語のデータベースを除き、デフォルトではすべての比較において大文字と小文字が区別されません。日本語のデータベースを作成する場合の UCA 照合では、デフォルトで大文字と小文字が区別されます。 このオプションは、ISO/ANSI SQL 標準との互換性を保つために用意されています。 |
||||||
-dba [DBA-user][ ,pwd ] |
作成後にデータベースへのログインに使用できるユーザ ID とパスワードを指定します。このユーザはデータベースへの完全な管理権限を持つことになるので、権限を必要とするどのような操作も実行でき、セキュリティモデルを設定できます。何も指定しない場合は、ユーザ DBA がパスワード sql で作成されます (推奨)。 別のパスワードを指定する場合は、7 ビット ASCII 文字を使用してください。それ以外の文字を使用すると、サーバがクライアントの文字セットを UTF-8 に変換できない場合、パスワードが機能しないことがあります。 次のいずれかのコマンドを実行すると、DBA というユーザ名とデフォルトのパスワード sql でデータベースが作成されます。
次のコマンドは、デフォルトのユーザ ID である DBA とパスワード sql を使用します。
次のコマンドは、DBA ユーザをパスワードが mypwd である user1 に変更します。
|
||||||
-dbs size[ k | m | g | p ] |
データベース用の領域を事前に割り付けます。データベース用の領域を事前に割り付けると、データベースがあるドライブの空き領域が不足する危険性を小さくすることができます。また、データベースサイズを拡大する操作は時間を要するため、それが必要となる前にデータベースに保存できるデータの量を増やすことがパフォーマンスの向上につながります。 デフォルトでは、size の値はバイト単位となります。単位をキロバイト、メガバイト、ギガバイト、またはページで指定するには、それぞれ k、m、g、p を使用します。 |
||||||
-ea algorithm |
データベース暗号化またはテーブル暗号化 (-et) で使用する暗号化アルゴリズムを指定します。単純暗号化の場合は、(-ek や -ep を指定するのではなく) セキュリティを強化するには、128 ビットの場合は AES、256 ビットの場合は AES256 の強力な暗号化を指定します。FIPS 認定の暗号化を使用するには、128 ビットの場合は AES_FIPS、256 ビットの場合は AES256_FIPS をそれぞれ指定してください。強力な暗号化を使用するためには、-ek または -ep オプションも指定する必要があります。単純暗号化と強力な暗号化を参照してください。 暗号化されていないデータベースを作成するには、 -ea オプションを指定しない場合、デフォルトの動作は次のようになります。
アルゴリズム名の大文字と小文字は区別されません。 Windows Mobile では、ARM プロセッサ用に AES_FIPS および AES256_FIPS アルゴリズムのみがサポートされています。 次のコマンドは、強力に暗号化されたデータベースを作成し、暗号化キーとアルゴリズムを指定します。
ただし、ファイル圧縮ユーティリティを使用する場合、暗号化を実行したデータベースは、暗号化されていないデータベースほどには圧縮できません。 注意別途ライセンスが必要な必須コンポーネント FIPS 認定の暗号化には別のライセンスが必要です。強力な暗号化テクノロジはすべて、輸出規制対象品目です。 別途ライセンスが必要なコンポーネントを参照してください。 |
||||||
-ek key |
コマンドに暗号化キーを直接指定することで、強力に暗号化されたデータベースを作成するように指定します。-ek オプションは、-ea オプションによって任意で指定された AES アルゴリズムとともに使用します。-ea オプションを指定しないで -ek オプションを指定すると、デフォルトで AES が使用されます。 このオプションを -et とともに指定すると、データベースは暗号化されません。この場合、テーブル暗号化が有効になります。テーブル暗号化を参照してください。 警告データベースに強力な暗号化を適用した場合、暗号化キーのコピーを必ず安全な場所に保管してください。暗号化キーがわからなくなった場合は、Sybase 製品の保守契約を結んでいるサポートセンタに依頼してもデータにはアクセスできません。アクセスできなくなったデータベースは、廃棄して、新しくデータベースを作成する必要があります。 |
||||||
-ep |
ウィンドウに暗号化キーを入力することで、強力に暗号化されたデータベースを作成するように指定します。クリアテキストでは暗号化キーを見ることができないようにすることで、高いセキュリティが得られます。 暗号化キーは、正確に入力されたことを確認するために 2 回入力してください。キーが一致しない場合は、初期化は失敗します。 このオプションを -et とともに指定すると、データベースは暗号化されません。この場合、テーブル暗号化が有効になります。 詳細については、単純暗号化と強力な暗号化を参照してください。 |
||||||
-et |
-ea オプションで指定した暗号化アルゴリズム (およびキー) を使用したテーブル暗号化を有効にします。このオプションは、データベース全体を暗号化しないで、暗号化されたテーブルを作成する場合に使用します。-et を -ek または -ep とともに指定し、-ea を指定しないと、デフォルトで AES アルゴリズムが使用されます。-et だけを指定した場合は、単純暗号化が使用されます。 テーブル暗号化を有効にしただけで、テーブルが暗号化されるわけではありません。データベースを作成した後で、テーブルを個別に暗号化する必要があります。テーブルの暗号化を参照してください。 テーブルの暗号化が有効な場合、暗号化されたテーブルのテーブルページ、関連するインデックスページ、テンポラリファイルのページ、暗号化されたテーブルのトランザクションを含むトランザクションログページが暗号化されます。 次の例は、キー abc と暗号化アルゴリズム AES_FIPS を使用して、強力なテーブル暗号化が有効になっているデータベース new.db を作成します。
|
||||||
-i |
jConnect システムオブジェクトをデータベースから除外します。jConnect JDBC ドライバを使用してシステムカタログ情報にアクセスするには、jConnect カタログサポートをインストールする必要があります (デフォルトでインストールされます)。このオプションを指定した場合でも、システム情報にアクセスしないかぎり、JDBC を使用できます。必要に応じて、Sybase Central または ALTER DATABASE 文を使用して、jConnect サポートを後から追加することもできます。 詳細については、jConnect システムオブジェクトのデータベースへのインストールを参照してください。 Windows Mobile で使用するデータベースを作成する場合は、Windows Mobile の jConnectを参照してください。 |
||||||
-k | SYSCOLUMNS ビューと SYSINDEXES ビューを作成しません。デフォルトでは、データベース作成機能は、Watcom SQL (このソフトウェアのバージョン 4 以前) で使用可能なシステムテーブルとの互換性を保つために、ビュー SYS.SYSCOLUMNS と SYS.SYSINDEXES を生成します。これらのビューは、Sybase Adaptive Server Enterprise の互換ビュー dbo.syscolumns と dbo.sysindexes と競合します。 | ||||||
-l |
使用可能な照合順をリストした後、停止します。データベースは作成されません。照合順を指定するには、-z オプションを使用します。 古いバージョンの SQL Anywhere との互換性の維持や、その他の特殊な用途で使用できる代替照合を含む、古い照合のリストを表示するには、-l+ オプションを指定します。 |
||||||
-le |
使用可能な文字セットエンコードをリストした後、停止します。データベースは作成されません。文字セットエンコードは、1 つ以上のラベルによって識別されます。エンコードの識別に使用できる文字列があります。表示される各テキスト行には、エンコードラベルと、エンコードの識別に使用できる代替ラベルがリストされます。これらのラベルは、いくつかの共通のカテゴリのいずれかに該当します。カテゴリには、SA (SQL Anywhere ラベル)、IANA (Internet Assigned Numbers Authority)、MIME (Multipurpose Internet Mail Extensions)、ICU (International Components for Unicode)、JAVA、または ASE (Adaptive Server Enterprise) があります。 代替ラベルが含まれる文字セットエンコードのリストを表示するには、-le+ オプションを指定します。 dbinit ユーティリティが文字セットエンコードをレポートするときは、必ず、ラベルの SQL Anywhere バージョンもレポートします。たとえば、次のコマンドを使用すると、CHAR データ型の文字セットエンコード 1250 のレポートが行われます。
|
||||||
-m filename | トランザクションログミラーを作成します。トランザクションログミラーはトランザクションログと同一のコピーで、通常は別のデバイスで管理され、データを確実に保護しています。デフォルトでは、SQL Anywhere はトランザクションログミラーを使用しません。 | ||||||
-n | トランザクションログのないデータベースを作成します。トランザクションログを使用しないデータベースを作成すると、ディスク領域を節約できますが、コミットごとにチェックポイントが発生するので、パフォーマンスが低下する可能性があります。また、トランザクションログを使用しないで実行していた場合、データベースが壊れたときにデータを回復できません。ただし、トランザクションログはデータレプリケーションに必要です。メディア障害またはシステム障害の発生時に、データベース情報のセキュリティを強化します。 | ||||||
-o filename | 指定したファイルに、出力メッセージを書き込みます。 | ||||||
-p page-size [ k ] |
データベースのページサイズを指定します。データベースのページサイズには、2048、4096、8192、16384、32768 バイトのいずれかを指定できます。デフォルトは 4096 バイトです。k を使用して、キロバイトの単位を指定します (-p 4k など)。 大規模なデータベースでは、より大きなページサイズの方が有利です。たとえば、テーブルのスキャンでは一度にページ全体が読み込まれるため、通常、必要な I/O 操作の回数は少なくなります。ただし、大きなページサイズには、より多くのメモリが必要です。ページサイズを選択するときは、パフォーマンステスト (およびテスト全般) を実行することを強くおすすめします。そして、満足できる結果を得られた最小のページサイズを選択します。ほとんどのアプリケーションでは、16 KB または 32 KB のページサイズはおすすめしません。常に十分なデータベースサーバキャッシュの確保が可能であり、メモリとディスク領域のパフォーマンス特性に対するトレードオフが調査済みである場合以外は、運用システムで 16 KB または 32 KB のページサイズは使用しないでください。多数のデータベースを同じサーバで起動する場合は、適切なページサイズを選択してください。 次の項を参照してください。 |
||||||
-pd |
16.0 より前のシステムプロシージャのうち、権限を必要とする操作を実行するものを、呼び出し側の権限ではなく定義側 (所有者) の権限で実行することを指定します。-pd を指定した場合、ユーザはプロシージャに対する EXECUTE 権限以外の権限がなくても、これらのシステムプロシージャを実行できます。この設定は、バージョン 16.0 以降で追加されたシステムプロシージャのうち権限を必要とする操作を実行するものには影響を与えず、ユーザ定義のプロシージャ (これらは引き続き定義側となります) のデフォルトの動作にも影響を与えません。 これらのプロシージャのリストについては、16.0 より前のバージョンのシステムプロシージャを呼び出し側または定義者として実行するを参照してください。 |
||||||
-q | クワイエットモードで実行します (メッセージを表示しません)。 | ||||||
-s[ - ] |
グローバルチェックサムを追加します (チェックサムはデータベースページごとに追加されます)。デフォルトでは、このオプションはオンになります。チェックサムは、データベースページがディスク上で変更されたかどうかを判断するために使用します。グローバルチェックサムを有効にしてデータベースを作成した場合、チェックサムはページがディスクに書き込まれる直前に計算されます。そのページが次にディスクから読み出されるときに、ページのチェックサムが再計算されて、ページに保存されているチェックサムと比較されます。チェックサムが異なる場合は、ディスク上のページが変更されているか、破損しており、エラーが発生します。-s オプションの値を指定したかどうかにかかわらず、重要なデータベースページにはデータベースサーバによって必ずチェックサムが追加されます。 Windows Mobile またはストレージデバイス (リムーバブルドライブなど) 上で実行されているデータベースでは、データベースの破損を速やかに検出できるように、自動的にチェックサムが有効になります。 グローバルチェックサムを無効にしてデータベースが作成された場合でも、START DATABASE 文の -wc オプションを指定すると、ページの書き込み時にチェックサムをページに追加できます。チェックサムを使用した破損の検出を参照してください。 |
||||||
-t transaction-log-name |
トランザクションログファイルの名前を指定します。トランザクションログは、使用しているアプリケーションにかかわらず、すべてのユーザが行った変更をデータベースサーバがその中に記録するファイルです。トランザクションログはバックアップとリカバリ、データレプリケーションで重要な役割を果たします。トランザクションログのファイル名にパスがない場合、トランザクションログはデータベースファイルと同じディレクトリに保存されます。-t または -n を指定しないで dbinit を実行した場合は、データベースファイルと同じ名前で拡張子が .log のトランザクションログが作成されます。 詳細については、トランザクションログを参照してください。 |
||||||
-z coll [ collation-tailoring-string ] |
データベースの照合順を指定します。照合順は、文字データ型 (CHAR、VARCHAR、LONG VARCHAR) のソートと比較に使用されます。照合は、使用されるエンコード (文字セット) に文字の比較と順序付けに関する情報をもたらすものです。照合は慎重に選択してください。データベースの作成が完了した後で照合を変更するためには、データベースをアンロードし、再ロードする必要があります。照合が指定されていない場合、SQL Anywhere はオペレーティングシステムの言語と文字セットに基づいて照合を選択します。使用可能な照合順を表示する場合は、-l オプションを参照してください。 次の項を参照してください。 オプションで、文字列のソートや比較を詳細に制御することを目的に、照合の適合化オプション (collation-tailoring-string) を指定できます。これらのオプションは、「キーワード=値」の形式で、カッコで囲んで指定して、その後ろに照合名を記述します。次に例を示します。
照合の適合化オプションを参照してください。 大文字小文字の設定とアクセント記号の区別の設定の両方を collation-tailoring-string で指定した場合は、dbinit に対する大文字小文字やアクセント記号の区別のオプションが上書きされます。 注意照合の適合化オプションを使用して初期化したデータベースは、10.0.1 より前のデータベースサーバでは起動できません。 |
||||||
-ze encoding |
照合のエンコードを指定します。-z で指定するほとんどの照合には、エンコード (文字セット) と順序付けの両方が定義されています。そのような照合については、-ze を指定する必要はありません。 -z で指定した照合が Unicode 照合アルゴリズム (UCA ) である場合、-ze では CHAR データ型のエンコードとして UTF-8 またはシングルバイトエンコードを指定できます。デフォルトのエンコードは UTF-8 です。-ze を使用すると、ロケール固有のエンコードを指定し、比較と順序付けに UCA を利用することができます。 |
||||||
-zn coll [ collation-tailoring-string ] |
各国の文字データ型 (NCHAR、NVARCHAR、LONG NVARCHAR) のソートと比較に使用する照合順を指定します。照合は、使用される UTF-8 エンコード (文字セット) に文字の順序付けに関する情報をもたらすものです。このオプションの値は、UCA (デフォルト) と UTF8BIN です。UTF8BIN は、エンコードが 0x7E を超えるすべての文字のバイナリ順を規定します。dbicu16 と dbicudt16 の DLL がインストールされていない場合、デフォルトの NCHAR 照合は UTF8BIN になります。照合の考慮事項を参照してください。 オプションで、文字列のソートや比較を詳細に制御することを目的に、照合の適合化オプション (collation-tailoring-string) を指定できます。これらのオプションは、「キーワード=値」の形式で、カッコで囲んで指定し、その後ろに照合名を記述します。次に例を示します。
照合の適合化オプションを参照してください。 大文字小文字の設定とアクセント記号の区別の設定の両方を collation-tailoring-string で指定した場合は、dbinit に対する大文字小文字やアクセント記号の区別のオプションが上書きされます。 注意照合の適合化オプションを使用して初期化したデータベースは、10.0.1 より前のデータベースサーバでは起動できません。 |
なし。
初期化するときにいくつかのデータベース属性が指定されます。これらの属性は、データベース全体のアンロード、再初期化、再構築以外の方法では、後から変更することはできません。データベース属性には次のものがあります。
たとえば、次のようにして 8192 バイトのページを持つデータベース test.db を作成できます。
dbinit -p 8192 test.db |
クライアントに送信されるメッセージは、どのタイプのデータベース暗号化がデータベースに使用されるのかを示します。暗号化を使用している場合は、使用されているアルゴリズムも表示されます。
データベースに utility_db という名前を付けることはできません。この名前は、ユーティリティデータベースのために予約されています。ユーティリティデータベースを参照してください。
ユーザ ID には、次に該当する値を指定できません。
パスワードは大文字と小文字が区別され、次に該当する値は指定できません。
データベースに大文字小文字またはアクセント記号の区別がある場合は、初期化コマンドに照合の適合化オプションを指定するときに、句読表記の区別でレベル 4 は指定できません。
さらに、初期化するときに、トランザクションログとトランザクションログミラーを使うかどうかを選択することができます。この選択は、トランザクションログユーティリティまたは ALTER DATABASE 文を使用して後で変更できます。
別途ライセンスが必要な必須コンポーネント
FIPS 認定の暗号化には別のライセンスが必要です。強力な暗号化テクノロジはすべて、輸出規制対象品目です。
別途ライセンスが必要なコンポーネントを参照してください。
データベースは、次の方法を使用して作成することもできます。
Sybase Central の[データベース作成ウィザード] を使用する。
Interactive SQL から CREATE DATABASE 文を使用する。
アプリケーションを配備するときは、dbinit ユーティリティを使用してデータベースを作成するために、パーソナルデータベースサーバ (dbeng16) が必要です。パーソナルデータベースサーバは、その他のデータベースサーバが実行されていない場合にローカルコンピュータで Sybase Central からデータベースを作成する場合にも必要です。
終了コードは、0 (成功) または 0 以外の値 (失敗) です。
次のコマンドを実行すると、大文字と小文字を区別するデータベースである spanish.db が作成されます。このデータベースでは、非 NCHAR データに対して 1252spa 照合が使用されます。NCHAR データには、UCA 照合が指定されます。この場合、ロケールは es であり、最初に小文字がソートされます。
dbinit -c -z 1252spa -zn uca(locale=es;case=LowerFirst) spanish.db |
次のコマンドは、ギリシャ語の照合を設定したデータベースを作成します。
dbinit -z 1253ELL mydb.db |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |