Oracle 10g XE データベースの作成
XEのデフォルトのデータベースのキャラクターセットは AL32UTF8 だが、JA16SJIS で動かしたかったのと、
ためしに動かすだけにしてはデフォルトのデータベースの容量が大きかったので新たにデータベースを作成した。
ただし、XE は同時に 1インスタンスしか起動できない制限があるので作成したデータベースの方だけを起動するようにする。
新たに追加するデータベースのSIDはTESTにする。環境はWindows2000。
1) 初期パラメータファイルの作成
まず、pfileを作成して initTEST.ora と言う名前で %ORACLE_HOME%\database に置く。
また、新規データベース用に以下のディレクトリを作っておく。(必要ないかも)
2) サービスの作成
Windowsの場合、サービスを作らないといけない。ただし、この時に別のインスタンス用のサービスが起動してると
失敗するので、サービスを止めた後に行う。
C:\> net stop OracleServiceXE C:\> oradim -NEW -SID TEST -INTPWD oracle -MAXUSERS 5 -STARTMODE manual C:\> net stat OracleServiceTEST
あと、PCを再起動したあとに XE の方が起動してしまうので、「コンピュータの管理」から OracleServiceXE のプロパティを開いて、自動起動しないようにしておく。
3) spfileの作成
サービスが起動したら、コマンドプロンプトを開いて接続する。まず pfile から spfile を作る。
SPデータベースを作成する。
C:\> set ORACLE_SID=TEST C:\> set DB_NAME=TEST C:\> sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on 火 5月 30 16:15:01 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. アイドル・インスタンスに接続しました。 SQL> create spfile from pfile; ファイルが作成されました。
4)データベースの作成
spfileを作ったらデータベースを作成する。
SQL> startup nomount; ORACLEインスタンスが起動しました。 Total System Global Area 146800640 bytes Fixed Size 1286220 bytes Variable Size 71307188 bytes Database Buffers 71303168 bytes Redo Buffers 2904064 bytes SQL> 2 create database TEST 3 maxlogfiles 32 4 maxlogmembers 5 5 maxdatafiles 100 6 maxloghistory 100 7 noarchivelog 8 datafile 'd:\oraclexe\oradata\test\system.dbf' size 100M 9 sysaux datafile 'd:\oraclexe\oradata\test\sysaux.dbf' size 100M 10 default tablespace users 11 datafile 'd:\oraclexe\oradata\test\users.dbf' size 100M 12 undo tablespace undo 13 datafile 'd:\oraclexe\oradata\test\undo.dbf' size 20M 14 default temporary tablespace temp 15 tempfile 'd:\oraclexe\oradata\test\temp.dbf' size 10M 16 extent management local uniform size 128K 17 character set JA16SJIS;
データベースを作成した直後は、SYSTEM,SYS ユーザが作成されてデータベースがオープンした状態になっている。
5) データディクショナリビューの作成
このままではデータディクショナリビューとPL/SQL用のパッケージが無いので、スクリプトを実行して作成する。これは若干時間がかかるのでじっくり待つ。
SQL> @%ORACLE_HOME%\RDBMS\ADMIN\catalog.sql SQL> @%ORACLE_HOME%\RDBMS\ADMIN\catproc.sql
6) tnsnames.oraの修正
このままではsqlplusから接続できないので、TEST の接続情報を tnsnames.ora に追加してやる。
TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dcdl24)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST) ) )
以上で、完了。