OracleXE(10g)でJA16SJISの利用
Oracleの、無償版である、 Oracle Express Edition(以下、OracleXE)は、便利そうではあるものの、日本語・・・というか、英語以外では、NCHARを駆使する必要があって大変です。
これは、
CHARACTER SET:ヨーロッパのどっか
NATINAL CHARACTER SET:UTF8
とゆー形で、多言語用のインスタンスが用意されているためです。
そこで、このデフォルトのインスタンスをすてさって、新たに、好きな言語でインスタンスを作成すれば、そこそこ便利になるはず・・・・ということで、手順をメモ代わりにぺたぺたと。
なお、OracleXEは、入出力の言語としては多数の文字コードをサポートしているむねの記載がありますが、CHARACTER SETとして指定できるかどうかや、インスタンスを作成すること(CREATE DATABASE)を、サポートしているかどうかと言う記述がありません。そのため、インスタンスの再作成自体がサポートされていないという認識のもとで行ってください。
※以降はWindowsのコマンドプロンプトから
デフォルトのインスタンスの削除()
以下のbatchを実行
C:\oraclexe\app\oracle\product\10.2.0\server\bin\cleanup.bat
※以降はWindowsのExploerなどを利用
デフォルトのインスタンスのspfile削除
以下のファイルを削除
C:\oraclexe\app\oracle\product\10.2.0\server\dbs\*
デフォルトのインスタンスのpfileやパスワードファイルを削除
以下のファイルを削除
C:\oraclexe\app\oracle\product\10.2.0\server\database\* のoradba.exe以外
デフォルトのインスタンスの制御ファイルとデータファールを削除
以下のファイルを削除
C:\oraclexe\oradata\XE\*
※以降はメモ帳あたりで
pfileを作成(メモ帳でも何でも)
C:\oraclexe\app\oracle\product\10.2.0\server\database\initXE.ora
------------------------
java_pool_size=4194304
large_pool_size=4194304
shared_pool_size=62914560
streams_pool_size=0
audit_file_dest='C:\oraclexe\app\oracle\admin\XE\adump'
background_dump_dest='C:\oraclexe\app\oracle\admin\XE\bdump'
compatible='10.2.0.1.0'
control_files='C:\oraclexe\oradata\XE\control.dbf'
core_dump_dest='C:\oraclexe\app\oracle\admin\XE\cdump'
db_name='XE'
dispatchers='(PROTOCOL=TCP) (SERVICE=XEXDB)'
job_queue_processes=2
open_cursors=300
os_authent_prefix=''
pga_aggregate_target=40M
remote_login_passwordfile='EXCLUSIVE'
sessions=20
sga_target=140M
shared_servers=1
undo_management='AUTO'
undo_tablespace='UNDO'
user_dump_dest='C:\oraclexe\app\oracle\admin\XE\udump'
-------------------------
※以降はWindowsのコマンドプロンプトから
Windowsのサービスを作成
oradim -NEW -SID XE -SYSPWD oracle -PFILE C:\oraclexe\app\oracle\product\10.2.0\server\database\initXE.ora
環境変数設定
set ORACLE_SID=XE
sqlplusを起動
sqlplus / "as sysdba"
※以降はsqlplus内
インスタンスを起動
startup nomount
データベース作成
create database XE
logfile group 1 ('C:\oraclexe\oradata\XE\redo1.dbf') size 32M,
group 2 ('C:\oraclexe\oradata\XE\redo2.dbf') size 32M,
group 3 ('C:\oraclexe\oradata\XE\redo3.dbf') size 32M
character set JA16SJIS
national character set utf8
datafile 'C:\oraclexe\oradata\XE\system.dbf'
size 240M
autoextend on
next 16M maxsize unlimited
extent management local
sysaux datafile 'C:\oraclexe\oradata\XE\sysaux.dbf'
size 48M
autoextend on
next 8M
maxsize unlimited
undo tablespace undo
datafile 'C:\oraclexe\oradata\XE\undo.dbf'
size 48M
autoextend on
default temporary tablespace temp
tempfile 'C:\oraclexe\oradata\XE\temp.dbf'
size 8M
autoextend on;
必要なスクリプトを実行
@C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql
@C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql
接続ユーザの切り替え
connect system/manager
必要なスクリプトを実行
@C:\oraclexe\app\oracle\product\10.2.0\server\sqlplus\admin\pupbld.sql
| 固定リンク
コメント
デフォルトをすてさるのかー♪
投稿: BlogPetのうぇいくmini | 2007/02/01 13:05
JA16SJISTILDに変更する手順を探していました。
このページがとても参考になりました。
ありがとうございます。
こちらで行った手順(LinuxとWin)を以下に公開しました。
http://www006.upp.so-net.ne.jp/auctor/
投稿: auctor | 2007/05/22 16:50
URL訂正
http://www006.upp.so-net.ne.jp/auctor/software/oracle_xe_ja16sjistilde.html
投稿: auctor | 2007/05/22 16:52
このページでXEのインスタンスをShift-jisにすることができました。
ありがとうございます。
ただ、データベースを作り変えた後、WEB管理が使えなくなりましたが、使えるようにすることはできるのでしょうか?
投稿: wakabamark | 2007/07/21 22:05
Vistaに開発用サーバを入れようと思い、10g XEをインストールしましたが、UTF8となり困っていました。
XEは4GBまでしか領域が作成できないのが残念ですが、開発には問題なく、とても助かりました!
投稿: tackle | 2008/11/14 12:38
上記の、
sqlplus / "as sysdba"
を実行すると ORA-12638 資格証明の取り出しに失敗しました。
が出て先に進めません。 どうしたらよいのか教えていただけたら宜しくお願いします。
投稿: ハンサム | 2011/09/07 14:05