« Amazonでいろいろ買う(本を) | トップページ | 4こまざっし購入記事 ひさびさ(2/19) »

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

|

« Amazonでいろいろ買う(本を) | トップページ | 4こまざっし購入記事 ひさびさ(2/19) »

コメント

デフォルトをすてさるのかー♪

投稿: 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

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/20195/13654661

この記事へのトラックバック一覧です: OracleXE(10g)でJA16SJISの利用:

« Amazonでいろいろ買う(本を) | トップページ | 4こまざっし購入記事 ひさびさ(2/19) »