トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

OracleXEでJA16SJISの利用

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

 <?xml version="1.0"?>
 <!--
 NAME
     kupostdt.xsl
 DESCRIPTION
     XSLT stylesheet for XML => DDL conversion of ku$_post_data_table_t ADTs
 NOTES
     Do NOT modify this file under any circumstance. Copy the file
     if you wish to use this stylesheet with an external XML/XSL parser
 
 MODIFIED        MM/DD/YY
     sdavidso 06/08/09 - new stylesheet - for minimize records_per_bock
  -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!-- Import required scripts -->
  <xsl:import href="kucommon.xsl"/>
  <!-- Top-level parameters -->
  <xsl:param name="PRETTY">1</xsl:param>
  <xsl:param name="SQLTERMINATOR">1</xsl:param>
  <!-- params for parse -->
  <xsl:param name="PRS_DDL">0</xsl:param>
  <xsl:param name="PRS_DELIM">\{]`</xsl:param>
  <xsl:param name="PRS_VERB">0</xsl:param>
  <xsl:param name="PRS_OBJECT_TYPE">0</xsl:param>
  <xsl:param name="PRS_SCHEMA">0</xsl:param>
  <xsl:param name="PRS_NAME">0</xsl:param>
  <xsl:param name="PRS_GRANTEE">0</xsl:param>
  <xsl:param name="PRS_GRANTOR">0</xsl:param>
  <xsl:param name="PRS_BASE_OBJECT_TYPE">0</xsl:param>
  <xsl:param name="PRS_BASE_OBJECT_SCHEMA">0</xsl:param>
  <xsl:param name="PRS_BASE_OBJECT_NAME">0</xsl:param>
  <xsl:template match="POST_DATA_TABLE_T">
   <!-- *******************************************************************
 Template: POST_DATA_TABLE_T - template for table attributes
 which can only be set after table data is loaded.
 ******************************************************************** -->
   <xsl:call-template name="DoParse">
    <xsl:with-param name="Verb">ALTER</xsl:with-param>
    <xsl:with-param name="ObjectType">POST_DATA_TABLE</xsl:with-param>
    <xsl:with-param name="SchemaNode" select="SCHEMA_OBJ/OWNER_NAME"/>
    <xsl:with-param name="NameNode" select="SCHEMA_OBJ/NAME"/>
   </xsl:call-template>
   <xsl:if test="(SPARE1 mod 65536)>=32768">
    <xsl:text> ALTER TABLE </xsl:text>
    <xsl:apply-templates select="SCHEMA_OBJ"/>
    <xsl:text>MINIMIZE RECORDS_PER_BLOCK</xsl:text>
   </xsl:if>
  </xsl:template>
 </xsl:stylesheet>

[カテゴリ: データベース > Oracle]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2015年06月13日 10時16分24秒