• ベストアンサー

NLS_CHARSETの変更について

Oracle8i環境のデータベースで文字化けが発生しています。 データベース作成時に、管理者が文字コードを指定するのを忘れてしまい、 NLS_CHARSETが US7ASCII となっています。 (本来はJA16SJISが正しい) 既にテーブルも作成され、データも挿入されているので、 なんとかデータベースの再作成は避けたいのですが、 何か方法がありますでしょうか? (例えばALTER DATABASE文などで・・・) よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

US7ASCII であれば、以下のSQL 文で変換できないですか? SQL> ALTER DATABASE CHARACTER SET JA16SJIS;

paseri0903
質問者

お礼

ご回答ありがとうございます。 「Oracle8i NLSガイド」に『データベース作成後のキャラクタ・セットの変更』という章があったので、 そこに書かれていた以下の処理を実行しました。 SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_ORICESSES=0; ALTER DATABASE OPEN; ALTER DATABASE CHARACTER SET JA16SJIS; SHUTDOWN IMMEDIATE; STARTUP; そして、再度 SELECT NLS_CHARSET_NAME(1) FROM DUAL; や SELECT VALUE FROM NLS_DATABASE_PARAMETERS; などを実行して文字コードを確認してみましたが、 US7ASCIIから変更されていませんでした・・・。 しかもなぜか、Object Browserでテーブルの詳細を見ようとすると、 Object Browserが落ちるようになってしまいました。。。(汗) 文字コードの変更前に実行したALTER SYSTEM文が原因でしょうか? ご教授お願い致します。

関連するQ&A