!!!11g Express Edtion(Linuxの場合) http://www.ajisaba.net/db/ora_linux_sjis.html !!データベース削除前の準備 initXE.oraの作成 $ cd /u01/app/oracle/product/11.2.0/xe/dbs $ sqlplus / as sysdba SQL> create pfile = 'initXE.ora' from spfile = 'spfileXE.ora'; !!データベース削除 # su - oracle $ sqlplus / as sysdba !データベースのシャットダウン SQL> shutdown immediate データベースがクローズされました。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました。 !restrictを指定して起動 startup restrict mount ORACLEインスタンスが起動しました。 Total System Global Area 417546240 bytes Fixed Size 2227080 bytes Variable Size 306185336 bytes Database Buffers 104857600 bytes Redo Buffers 4276224 bytes データベースがマウントされました。 !データベースの削除 SQL> drop database; データベースが削除されました。 Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Productionとの接続が切断されました。 SQL> quit !!SHIFTJISのデータベース作成 !データベース作成用のスクリプト /u01/app/oracle/product/11.2.0/xe/dbs/createdb.sql CREATE DATABASE XE LOGFILE GROUP 1 ('/u01/app/oracle/oradata/XE/redo01a.log') SIZE 100M BLOCKSIZE 512, GROUP 2 ('/u01/app/oracle/oradata/XE/redo02a.log') SIZE 100M BLOCKSIZE 512, GROUP 3 ('/u01/app/oracle/oradata/XE/redo03a.log') SIZE 100M BLOCKSIZE 512 MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 MAXDATAFILES 100 CHARACTER SET JA16SJIS または JA16SJISTILDE NATIONAL CHARACTER SET UTF8 EXTENT MANAGEMENT LOCAL DATAFILE '/u01/app/oracle/oradata/XE/system01.dbf' SIZE 325M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED SYSAUX DATAFILE '/u01/app/oracle/oradata/XE/sysaux01.dbf' SIZE 325M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TABLESPACE users DATAFILE '/u01/app/oracle/oradata/XE/users01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/u01/app/oracle/oradata/XE/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED UNDO TABLESPACE undotbs1 DATAFILE '/u01/app/oracle/oradata/XE/undo01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED; !!インスタンス起動とデータベース作成 SQL> startup nomount pfile=initXE.ora ORACLEインスタンスが起動しました。 Total System Global Area 417546240 bytes Fixed Size 2227080 bytes Variable Size 293602424 bytes Database Buffers 117440512 bytes Redo Buffers 4276224 bytes データベースを作成する SQL> @createdb.sql データベースが作成されました。 表領域が作成されました。 データベースが変更されました。 !!データベース作成後に実行するスクリプト SQL> @/u01/app/oracle/product/11.2.0/xe/rdbms/admin/catalog.sql SQL> @/u01/app/oracle/product/11.2.0/xe/rdbms/admin/catproc.sql connect system/manager @/u01/app/oracle/product/11.2.0/xe/sqlplus/admin/pupbld.sql !!!10g Express Edtion (Windowsの場合) http://weyk.air-nifty.com/none/2007/01/oraclexeja16sji_7d01.html http://www006.upp.so-net.ne.jp/auctor/software/oracle_xe_ja16sjistild.html 以下抜粋 ※以降は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 !!!環境変数 LinuxでXEを使う場合は、パスの設定などを通常のユーザで行う場合 export ORACLE_SID=XE export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe export PATH=${PATH}:${ORACLE_HOME}/bin export NLS_LANG=Japanese_Japan.AL32UTF8 などを設定しておくと良い。 シェルスクリプトとして、利用するときだけ sourceコマンドに渡してもよい。 !!!DDLの取得 http://blogs.yahoo.co.jp/tksoft/61030927.html XEでデータベースを再作成した場合、 dbms_metadata.get_ddl を使うとエラーが出る。 [ORA-39212]インストール・エラー: XSLスタイルシートが正しくロードされませんでした dbms_metadata.get_ddl を使えるようにするには、他のOracle(XE以外)が動作している環境から \oracle\product\10.2.0\db_1\RDBMS\xml をXEの rdbms/xml へコピーし、以下のコマンドを実行する。 exec dbms_metadata_util.load_stylesheets もし、この時に kupostdt.xsl が見つからないのエラーが出る場合は、xml/xsl以下に kupostdt.xslを作成する。 kupostdt.xsl 1 1 0 \{]` 0 0 0 0 0 0 0 0 0 ALTER POST_DATA_TABLE ALTER TABLE MINIMIZE RECORDS_PER_BLOCK {{category2 データベース,Oracle}}