DB 2データベース還元物語—Ubuntu編
8142 ワード
背景
社内テスト用サーバCentOS、ローカル仮想マシンUbuntu 10。生産サーバーからバックアップを取って、現地でテストをするつもりです。この復元実験は長い間行われています。その後ずっと一つのdb 2 connect toにカードを入れています。接続するたびに次のエラーが表示されます。
新しいバージョンのデータベースを再インストールしたら、正常になりました。このプロセスを記録します。
データベースをインストール
このステップは重要です。直接にデータベースの復元が成功するかどうかに影響します。最新のものは9.7 FixPack 3です。今後更新があれば、新しいものを使いましょう。このプロセスはすべて図形のインストールで、Oracleより簡単になりました。直接DB 2の解凍カタログでdb 2 setupを実行すればいいです。
データベースをアンマウント
うっかりして何かを間違えたら、この手を使ってください。削除機能はかなり良いです。下のURLに沿って一歩ずつやってください。
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.server.doc/doc/t0007439.html
データベースの削除を忘れて、新しいデータベースが元に戻りませんでしたら、直接に/home/db 2 inst/db 2 inst/に入ればいいです。前に復元したデータベースや使ったデータベースを削除すればいいです。vdirはおなじみのデータベースを見ることができます。
データベースバージョンの情報を表示
インスタンスユーザIDで登録する
データベースのインスタンスを作成
データベースはインスタンスdb 2 inst 1に還元されますが、別の例を挙げてこのデータベースにアクセスすることがあります。もちろん、このようなアクセスメカニズムが必要でない場合は、直接最後の経験をまとめてみましょう。)
まずLinuxローカルユーザーを作成します。
実例があると、次のステップは、訪問ノードを確立し、現在のインスタンスのユーザでターゲット・インスタンスに向けたノードを作成し、このノードが提供するデータベースを現在のインスタンスに保留することである。プロセスは以下の通りです
db 2?--すべてのdb 2コマンドの一覧を表示します。
db 2ですかcommand--db 2コマンドリストを記述する文法
db 2ですかerror--エラーや情報を表示して、どのように対応するべきかをユーザーに教えます。この機能はとてもいいです。いつ問題があってもDB 2に問い合わせて、次のステップはどうすればいいですか?例えばdb 2 connect to sampleの場合、次のようなエラーが発生する可能性があります。
コマンドの位置:/opt/ibm/db 2/V 9.7/install、/opt/ibm/db 2/V 9.7/instance、/opt/ibm/db 2/V 9.7/bin、installディレクトリのツールはインストールバックに関連しています。
Windows下のDB 2とLinux下のDB 2のデータベースバックアップファイルは通用しません。
通信について
どのようにこのマシンにアクセスするかは正常ですが、LANアクセスに問題がある場合は、ルートやファイアウォールの配置を確認する必要があります。具体的には関連するオペレーティングシステムのヘルプ情報を確認してください。前に会ったのはCentOSのファイアウォールです。アクセスできなくなりました。開けたら正常です。もう一つのポイントは、DB 2の通信方式に注意し、TCPIPかどうかです。どのように設定するかはアドレスを参照してください。http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/start/t0004727.htm
参照
http://it.toolbox.com/blogs/db2luw/db2-recovery-basics-part-1-22758
社内テスト用サーバCentOS、ローカル仮想マシンUbuntu 10。生産サーバーからバックアップを取って、現地でテストをするつもりです。この復元実験は長い間行われています。その後ずっと一つのdb 2 connect toにカードを入れています。接続するたびに次のエラーが表示されます。
db2 connect to our_database
-- SQL0901N The SQL statement failed because of a non-severe system error.
-- Subsequent SQL statements can be processed. (Reason "Scan interface error".)
-- SQLSTATE=58004
Googleはぐるぐる回って、条件に合う答えがないです。データベースを更新したら正常になるというスレッドがあります。でも、当時は気にしていませんでした。サーバのバージョンは:DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL09071"
with level identifier "08020107".
Informational tokens are "DB2 v9.7.0.1", "s091114", "IP23033", and Fix Pack "1".
Product is installed at "/opt/ibm/db2/V9.7".
ローカル仮想マシンUbuntuのアップロードバージョンは「DB 2 v 9.7.0.0」です。最後の端数だけ違っています。これが原因です。誤報が直接アップグレードできると教えてくれました。もう9.7です。このようなデータベースの復元の誤りを犯しました。本当にすごいです。新しいバージョンのデータベースを再インストールしたら、正常になりました。このプロセスを記録します。
データベースをインストール
このステップは重要です。直接にデータベースの復元が成功するかどうかに影響します。最新のものは9.7 FixPack 3です。今後更新があれば、新しいものを使いましょう。このプロセスはすべて図形のインストールで、Oracleより簡単になりました。直接DB 2の解凍カタログでdb 2 setupを実行すればいいです。
$ ./db2setup
DBI1190I db2setup is preparing the DB2 Setup wizard which will guide
you through the program setup process. Please wait.
DBI1160I Non-root install is being performed.
赤い内容に注意!ロトに切りましょう。不要なトラブルを避けてください。データベースをアンマウント
うっかりして何かを間違えたら、この手を使ってください。削除機能はかなり良いです。下のURLに沿って一歩ずつやってください。
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.server.doc/doc/t0007439.html
データベースの削除を忘れて、新しいデータベースが元に戻りませんでしたら、直接に/home/db 2 inst/db 2 inst/に入ればいいです。前に復元したデータベースや使ったデータベースを削除すればいいです。vdirはおなじみのデータベースを見ることができます。
データベースバージョンの情報を表示
$su - db2inst1
$ whoami
db2inst1
$ db2level
DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL09073"
with level identifier "08040107".
Informational tokens are "DB2 v9.7.0.3", "s101006", "IP23218", and Fix Pack
"3a".
Product is installed at "/opt/ibm/db2/V9.7".
データベースを復元インスタンスユーザIDで登録する
su - db2inst1
データベース復元コマンドを表示db2 ? restore db
ROLLFOREWARD命令を確認します。db2 ? rollforward db
ここで私はデータベースのバックアップファイルを/home/youbentou/share/Downloadsディレクトリの下に置いて、元に戻す時に具体的な状況によって修正します。db2 restore db your_database from /home/youbentou/share/Downloads
DB20000I The RESTORE DATABASE command completed successfully.
db2 rollforward db your_database to end of logs and stop
-------------------------
Rollforward Status
Input database alias = your_database
Number of nodes have returned status = 1
Node number = 0
Rollforward status = not pending
Next log file to be read =
Log files processed = -
Last committed transaction = 2010-04-20-21.08.17.000000 UTC
補足します。バックアップと復元のPATHが一致しない場合があります。この時は具体的なPATHを手動で指定する必要があります。ツールdb 2 kbpを利用して関連情報を見ることができます。db2ckbkp -S /mnt/hgfs/Downloads/DB2PTT/YOUR_DB.0.db2inst1.NODE0000.CATN0000.20110409213807.001
Automatic storage enabled: Yes
Number of storage paths: 1
storage path: /DB2YOURDB (id = 0, state = 0x0)
Header:
flavour: 1
version: 0
Storage Group:
flavour: 3
version: 1
stateFlags: 0x0
lastLSN: 0000000000000000
initialLSN: 0000000000000000
nextPathID: 1
元に戻す時はON PATHパスを指定する必要があります。データベースのインスタンスを作成
データベースはインスタンスdb 2 inst 1に還元されますが、別の例を挙げてこのデータベースにアクセスすることがあります。もちろん、このようなアクセスメカニズムが必要でない場合は、直接最後の経験をまとめてみましょう。)
まずLinuxローカルユーザーを作成します。
sudo adduser timetrac
データベースのインスタンスを作成します。このコマンドがどこにあるか分からない場合は、次の方法で検索できます。find / -name db2icrt -type f 2>/dev/null
インスタンスの作成:sudo /opt/ibm/db2/V9.7/instance/db2icrt -u db2fenc1 timetrac
-- DBI1070I Program db2icrt completed successfully.
関連データベース実例があると、次のステップは、訪問ノードを確立し、現在のインスタンスのユーザでターゲット・インスタンスに向けたノードを作成し、このノードが提供するデータベースを現在のインスタンスに保留することである。プロセスは以下の通りです
timetrac@ubuntu:/opt/ibm/db2/V9.7/bin$ db2 catalog local node dbnode instance db2inst1
DB20000I The CATALOG LOCAL NODE command completed successfully.
DB21056W Directory changes may not be effective until the directory cache is
refreshed.
timetrac@ubuntu:/opt/ibm/db2/V9.7/bin$ db2 catalog db your_database at node dbnode
DB20000I The CATALOG DATABASE command completed successfully.
DB21056W Directory changes may not be effective until the directory cache is
refreshed.
timetrac@ubuntu:/opt/ibm/db2/V9.7/bin$ db2 connect to your_database
Database Connection Information
Database server = DB2/LINUX 9.7.3
SQL authorization ID = TIMETRAC
Local database alias = YOUR_DATABASE
経験のまとめdb 2?--すべてのdb 2コマンドの一覧を表示します。
db 2ですかcommand--db 2コマンドリストを記述する文法
db 2ですかerror--エラーや情報を表示して、どのように対応するべきかをユーザーに教えます。この機能はとてもいいです。いつ問題があってもDB 2に問い合わせて、次のステップはどうすればいいですか?例えばdb 2 connect to sampleの場合、次のようなエラーが発生する可能性があります。
$ db2 connect to sample
SQL1013N The database alias name or database name "SAMPLE" could not be
found. SQLSTATE=42705
この場合はdb 2を実行できますか?SQL 1013 N、どうすればいいですか?$ db2 ? SQL1013N
SQL1013N The database alias name or database name "<name>" could not be
found.
Explanation:
The database name or alias specified in the command is not an existing
database or the database could not be found in the (client or server)
database directories.
User response:
Ensure that the specified database name exists in the system database
directory. If the database name does not exist in the system database
directory, then the database either does not exist or the database name
has not been cataloged.
If the database name appears in the system database directory and the
entry type is INDIRECT, ensure that the database exists in the specified
local database directory. If the entry type is REMOTE, then ensure that
the database exists and is cataloged on the database directories of the
server node.
For CREATE DATABASE with the AT NODE clause, ensure that the database
name is in the system database directory with an entry type of INDIRECT
and with a catalog node number that does not equal -1.
Federated system users: in addition to the above, verify that the
database names specified in SYSCAT.SERVERS are all valid. Correct any
SYSCAT.SERVERS entry for which the database specified in that entry does
not exist.
sqlcode: -1013
sqlstate: 42705
この機能はまあまあ親切です。確かにいいです。コマンドの位置:/opt/ibm/db 2/V 9.7/install、/opt/ibm/db 2/V 9.7/instance、/opt/ibm/db 2/V 9.7/bin、installディレクトリのツールはインストールバックに関連しています。
Windows下のDB 2とLinux下のDB 2のデータベースバックアップファイルは通用しません。
通信について
どのようにこのマシンにアクセスするかは正常ですが、LANアクセスに問題がある場合は、ルートやファイアウォールの配置を確認する必要があります。具体的には関連するオペレーティングシステムのヘルプ情報を確認してください。前に会ったのはCentOSのファイアウォールです。アクセスできなくなりました。開けたら正常です。もう一つのポイントは、DB 2の通信方式に注意し、TCPIPかどうかです。どのように設定するかはアドレスを参照してください。http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/start/t0004727.htm
参照
http://it.toolbox.com/blogs/db2luw/db2-recovery-basics-part-1-22758