UJP - 技術情報2 バックアップ : Oracle/11g/express/05createdb.batSJIS のバックアップ差分(No.3)

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

2: 2016-04-26 (火) 01:41:34 nobuaki ソース 3: 2016-05-24 (火) 23:21:06 nobuaki ソース
Line 4: Line 4:
 Oracle XEをインストールする際に文字コードなどを指定する部分がないので,Unicode(UTF-8)でインストールされてしまう.これをSJISに変更したい場合,データベースの作り直しが必要となる.このドキュメントでは,現在の文字コードを調べたあと,文字コードをSJISに変更する手順を説明する.  Oracle XEをインストールする際に文字コードなどを指定する部分がないので,Unicode(UTF-8)でインストールされてしまう.これをSJISに変更したい場合,データベースの作り直しが必要となる.このドキュメントでは,現在の文字コードを調べたあと,文字コードをSJISに変更する手順を説明する.
 + なお,SJISのデータベースを作成する手順となっているが,UTF8のデータベースを作成する時も手順としては同じである.
**現在の文字コードを確認する [#gce75b9b] **現在の文字コードを確認する [#gce75b9b]
Line 23: Line 24:
 データベースを削除するにはファイルを削除する権限が必要なので,管理者権限でコマンドプロンプトを起動して実行する.  データベースを削除するにはファイルを削除する権限が必要なので,管理者権限でコマンドプロンプトを起動して実行する.
 +#ref(site://modules/xelfinder/index.php?page=view&file=3247&Oracle11gXEsjis01.jpg,center)
 + Windowsロゴを右クリックしてメニューから[コマンド プロンプト(管理者)]を選択する.
 +
 +#ref(site://modules/xelfinder/index.php?page=view&file=3248&Oracle11gXEsjis02.jpg,center)
 ウインドウの上部に管理者権限であることが確認できる.  ウインドウの上部に管理者権限であることが確認できる.
Line 73: Line 78:
 C:\oraclexe\app\oracle\product\11.2.0\server\dbs>  C:\oraclexe\app\oracle\product\11.2.0\server\dbs>
-  管理ファイルが2つ設置してあるので,これらを消して,消えたことを確認する.+ 管理ファイルが2つ設置してあるので,これらを消して,消えたことを確認する.
 C:\oraclexe\app\oracle\product\11.2.0\server\dbs>del *  C:\oraclexe\app\oracle\product\11.2.0\server\dbs>del *
Line 91: Line 96:
 C:\oraclexe\app\oracle\product\11.2.0\server\dbs>  C:\oraclexe\app\oracle\product\11.2.0\server\dbs>
 ファイルが消えたことが確認できた.  ファイルが消えたことが確認できた.
 +
 +**初期データベースを作成する [#ga852894]
 +
 + Windows版のOracleでは,CreateDB.batを使って初期データベースを作成する.まずは,シェルを確認する.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>dir CreateDB*
 +  ドライブ C のボリューム ラベルがありません。
 +  ボリューム シリアル番号は E406-5F3A です
 +
 +  C:\oraclexe\app\oracle\product\11.2.0\server\bin のディレクトリ
 +
 + 2011/08/27  09:58            19,849 CreateDB.bat
 +               1 個のファイル              19,849 バイト
 +               0 個のディレクトリ  338,888,560,640 バイトの空き領域
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>
 +
 + CreateDB.batを実行する.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>CreateDB.bat -dbchar JA16SJIS
 + ORACLE_HOME must be set and %ORACLE_HOME%\database must be writeable
 + CreateDB.bat terminated unsucessfully.
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>
 +
 + ORACLE_HOME環境変数が設定されてないとエラーがでたので,設定する.
 +
 +***環境変数ORALCE_HOMEを設定する [#x4d78e2b]
 +
 + CreateDB.batを実行するためにはORACLE_HOMEが必要なので,実行する.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>set ORACLE_HOME=C:\oraclexe\app\oracle\product\11.2.0\server
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>echo %ORACLE_HOME%
 + C:\oraclexe\app\oracle\product\11.2.0\server
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>
 +
 +***CreateDB.batを実行する [#id256253]
 +
 + CreateDB.batを実行する.この時,コマンドプロンプトは管理者権限で実行されていることを確認しておく.CreateDB.batを実行する際に,SJISとしてデータベースを作成するため,dbcharにJA16SJISというパラメータをつける.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server>CreateDB.bat -dbchar JA16SJIS
 + ORACLE_HOME=C:\oraclexe\app\oracle\product\11.2.0\server
 + ORACLE_SID=XE
 + Existing database will be erased, hit ctrl-c to cancel.
 + 続行するには何かキーを押してください . . .
 +
 + 何かキーを押す.
 +
 + インスタンスが作成されました。
 +
 + SQL*Plus: Release 11.2.0.2.0 Production on 月 5月 23 22:55:14 2016
 +
 + Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 +
 + 接続されました。
 + ORA-01081: ???????Oracle???????? - ???????????????
 +
 + データベースが作成されました。
 +
 +
 + 表領域が作成されました。
 +
 + DOC>######################################################################
 + DOC>######################################################################
 + DOC>    The following statement will cause an "ORA-01722: invalid number"
 + DOC>    error and terminate the SQLPLUS session if the user is not SYS.
 + DOC>    Disconnect and reconnect with AS SYSDBA.
 + DOC>######################################################################
 + DOC>######################################################################
 + DOC>#
 +
 + しばらく待つ.どれくらいしばらくかというとコンピュータのスペックによる.色々と表示されるが,最後は次のように表示される.
 +
 +
 + TIMESTAMP
 + --------------------------------------------------------------------------------
 + COMP_TIMESTAMP UTLRP_END  2016-05-23 23:22:53
 +
 + DOC> The following query reports the number of objects that have compiled
 + DOC> with errors (objects that compile with errors have status set to 3 in
 + DOC> obj$). If the number is higher than expected, please examine the error
 + DOC> messages reported with each object (using SHOW ERRORS) to see if they
 + DOC> point to system misconfiguration or resource constraints that must be
 + DOC> fixed before attempting to recompile these objects.
 + DOC>#
 +
 + OBJECTS WITH ERRORS
 + -------------------
 +                   0
 +
 + DOC> The following query reports the number of errors caught during
 + DOC> recompilation. If this number is non-zero, please query the error
 + DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
 + DOC> are due to misconfiguration or resource constraints that must be
 + DOC> fixed before objects can compile successfully.
 + DOC>#
 +
 + ERRORS DURING RECOMPILATION
 + ---------------------------
 +                           0
 +
 +
 + ファンクションが作成されました。
 +
 +
 + PL/SQLプロシージャが正常に完了しました。
 +
 +
 + ファンクションが削除されました。
 +
 +
 + PL/SQLプロシージャが正常に完了しました。
 +
 + Oracle Database 11g Express Edition Release 11.2.0.2.0 - Productionとの接続が切断されました。
 + C:\oraclexe\app\oracle\product\11.2.0\server>
 +
 + 30分ほどしたら完了した.
 +
 +***Oracleが起動しているかtasklistコマンドで確認する. [#ld979da9]
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server>tasklist | find "oracle"
 + oracle.exe                    5352 Services                  0    211,100 K
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server>
 +
 +
 +***TNS Listnerが起動しているか確認する [#ld6a44cb]
 +
 + データベースを削除する時に停止しているが,念のためリスナーのプロセスを確認する.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>tasklist | find "TNSLSNR.EXE"
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>
 +
 +
 +***TNS Listnerを起動する [#y6c8faca]
 +
 + TNS Listnerの場所を確認する.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server>cd %ORACLE_HOME%/bin
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>dir LSNRCTL.EXE
 +  ドライブ C のボリューム ラベルがありません。
 +  ボリューム シリアル番号は E406-5F3A です
 +
 +  C:\oraclexe\app\oracle\product\11.2.0\server\bin のディレクトリ
 +
 + 2011/08/27  10:00            94,208 LSNRCTL.EXE
 +               1 個のファイル              94,208 バイト
 +               0 個のディレクトリ  338,020,982,784 バイトの空き領域
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>
 +
 + TNSリスナーを起動する.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>lsnrctl.exe start
 +
 + LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 24-5月 -2016 22:45:02
 +
 + Copyright (c) 1991, 2010, Oracle.  All rights reserved.
 +
 + tnslsnrを起動しています。お待ちください...
 +
 + TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
 + System parameter file is C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora
 + Log messages written to C:\oraclexe\app\oracle\diag\tnslsnr\win8120160422\listener\alert\log.xml
 + リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
 + リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=win8120160422)(PORT=1521)))
 +
 + (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))に接続中
 + リスナーのステータス
 + ------------------------
 + 別名                      LISTENER
 + バージョン                TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
 + 開始日                    24-5月 -2016 22:45:06
 + 稼働時間                  0 日 0 時間 0 分 3 秒
 + トレース・レベル          off
 + セキュリティ              ON: Local OS Authentication
 + SNMP                      OFF
 + デフォルト・サービス          XE
 + パラメータ・ファイル      C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora
 + ログ・ファイル            C:\oraclexe\app\oracle\diag\tnslsnr\win8120160422\listener\alert\log.xml
 + リスニング・エンドポイントのサマリー...
 +   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
 +   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=win8120160422)(PORT=1521)))
 + サービスのサマリー...
 + サービス"CLRExtProc"には、1件のインスタンスがあります。
 +   インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
 + サービス"PLSExtProc"には、1件のインスタンスがあります。
 +   インスタンス"PLSExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
 + コマンドは正常に終了しました。
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>
 +
 + TNS Listnerプロセスが起動したことを確認する.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>tasklist | find "TNSLSNR.EXE"
 + TNSLSNR.EXE                  1860 Services                  0    39,612 K
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>
 +
 +***systemユーザのパスワードを設定する [#c791c41d]
 +
 + データベースを消しているので,systemユーザのパスワードが設定されていない.インストーラを使うと途中でsystemのパスワードを設定する画面も表示されるが,手動なので設定されていない.もしかして?とおもってchange_on_installを試してみたがそれもダメだった.
 + 初期データベースでSQL*Plusに接続し,sysユーザでコネクトしてみる.
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>sqlplus /nolog
 +
 + SQL*Plus: Release 11.2.0.2.0 Production on 火 5月 24 22:59:47 2016
 +
 + Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 +
 + SQL> connect sys as sysdba
 + パスワードを入力してください:
 + 接続されました。
 + SQL>
 +
 + この時,パスワードは不要.空エンターで接続できた.そして,次のようにsystemユーザにパスワードmanagerをつける.
 +
 + SQL> ALTER USER system IDENTIFIED BY manager
 +   2  ;
 +
 + ユーザーが変更されました。
 +
 + SQL>
 +
 + SQL*Plusを切断し,systemユーザで接続しなおす.
 +
 + SQL> exit
 + Oracle Database 11g Express Edition Release 11.2.0.2.0 - Productionとの接続が切断されました。
 +
 + C:\oraclexe\app\oracle\product\11.2.0\server\bin>sqlplus system/manager@xe
 +
 + SQL*Plus: Release 11.2.0.2.0 Production on 火 5月 24 23:05:03 2016
 +
 + Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 +
 +
 +
 + Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
 + に接続されました。
 + SQL>
 +
 +***存在しているユーザを確認する [#ebf2b8ec]
 +
 + この手順で作成されたORACLEのユーザを確認する.
 +
 + SQL> select username from dba_users;
 +
 + USERNAME
 + ------------------------------------------------------------
 + OUTLN
 + SYS
 + SYSTEM
 + CTXSYS
 + ANONYMOUS
 + HR
 + MDSYS
 + DIP
 + ORACLE_OCM
 + XS$NULL
 + DBSNMP
 +
 + USERNAME
 + ------------------------------------------------------------
 + XDB
 + APPQOSSYS
 +
 + 13行が選択されました。
 +
 + SQL>
 +
 + scottユーザは無い.
 +
 +**変更後の文字コードを確認する [#y8662030]
 +
 + インストーラを使ってインストールするとUTF8(AL32UTF8)だったが,SJISに変更作業したので,実際変更されているか確認する.
 +
 + SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';
 +
 + VALUE
 + --------------------------------------------------------------------------------
 + JA16SJIS
 +
 + SQL>
 +
 + 文字コードがSJIS(JA16SJIS)に変更されていることが確認できた.


トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 27488, today: 2, yesterday: 6

広告スペース
Google