みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Oracle10gXE DB再作成でログインできず

デフォルトで作成されるDBは、「NLS_CHARACTERSET=AL32UTF8」だが、
JA16SJISTILDE で使いたいため、データベース「XE」を一度削除して、
同じデータベース名で再作成したんですが、再作成後、
sqlplusにてSYSTEMユーザでつなげません。

SYSTEMユーザでつないで、pupbld.sql を流さないと、
新規ユーザを作ってもログイン時にエラーがでます。

警告: 製品のユーザー・プロファイル情報がロードされていません。 PUPBLD.SQLをSYSTEMとして実行する必要があるかもしれません。


どなたか、よろしくお願いします。


◆以下、手順メモです◆

1.データベースの削除
>sqlplus /nolog
SQL> connect / as sysdba
接続されました。

SQL> shutdown abort
ORACLEインスタンスがシャットダウンされました。

SQL> startup restrict mount
ORACLEインスタンスが起動しました。

Total System Global Area 146800640 bytes
Fixed Size 1286220 bytes
Variable Size 75501492 bytes
Database Buffers 67108864 bytes
Redo Buffers 2904064 bytes
データベースがマウントされました。

SQL> drop database;
データベースが削除されました。

Oracle Database 10g Express Edition Release 10.2.0.1.0 - Productionとの接続が切
断されました。


2.フォルダの作成
以下のフォルダが存在することを確認。中に存在したファイルを削除。
C:\oraclexe\app\oracle\admin\XE\adump
C:\oraclexe\app\oracle\admin\XE\bdump
C:\oraclexe\app\oracle\admin\XE\cdump
C:\oraclexe\app\oracle\admin\XE\dpdump
C:\oraclexe\app\oracle\admin\XE\udump

C:\oraclexe\oradata\XE


3.初期化パラメータファイルの作成
以下の内容でテキストファイルを作成し、
C:\oraclexe\app\oracle\product\10.2.0\server\dbs\initXE.ora として保存する。
----
db_name="XE"

control_files=(C:\oraclexe\oradata\XE\ctrl01, C:\oraclexe\oradata\XE\ctrl02, C:\oraclexe\oradata\XE\ctrl03)
db_block_size=8192

user_dump_dest='C:\oraclexe\app\oracle\admin\XE\udump'
background_dump_dest='C:\oraclexe\app\oracle\admin\XE\bdump'
core_dump_dest='C:\oraclexe\app\oracle\admin\XE\cdump'

sga_target=400M
undo_management=auto
undo_tablespace=undo1
------------------------------------------------------------------


4.データベースの作成

(1) 初期化パラメータファイルを指定して、nomount 状態で起動する。
>sqlplus / as sysdba

SQL> shutdown abort
ORACLEインスタンスがシャットダウンされました。

SQL> connect / as sysdba
アイドル・インスタンスに接続しました。

SQL> startup nomount pfile=C:\oraclexe\app\oracle\product\10.2.0\server\dbs\initXE.ora
ORACLEインスタンスが起動しました。
  :
  :


(2) データベースを作成 (create database コマンド)
SQL> create database XE
2 logfile group 1 ('C:\oraclexe\oradata\XE\redo01a.log') size 50M,
3 group 2 ('C:\oraclexe\oradata\XE\redo02a.log') size 50M,
4 group 3 ('C:\oraclexe\oradata\XE\redo03a.log') size 50M
5 datafile 'C:\oraclexe\oradata\XE\system.dbf'
6 size 100M autoextend on next 10M maxsize unlimited extent management local
7 sysaux datafile 'C:\oraclexe\oradata\XE\sysaux.dbf'
8 size 100M autoextend on next 10M maxsize unlimited
9 default temporary tablespace temp
10 tempfile 'C:\oraclexe\oradata\XE\temp.dbf' size 100M extent management local
11 undo tablespace undo1
12 datafile 'C:\oraclexe\oradata\XE\undo1.dbf' size 100M
13 character set JA16SJISTILDE
14 national character set AL16UTF16
15 ;

データベースが作成されました。


(3) pfile から spfile を作成
SQL> create spfile='C:\oraclexe\app\oracle\product\10.2.0\server\dbs\spfileXE.ora'
2 from pfile='C:\oraclexe\app\oracle\product\10.2.0\server\dbs\initXE.ora'
3 ;
ファイルが作成されました。
---


5.データベースの再起動 (正常起動の確認) の後、スクリプトファイルの実行。
スクリプトファイル … catalog.sql, catproc.sql, pupbld.sql

----
SQL> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。


SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 419430400 bytes
Fixed Size 1287784 bytes
Variable Size 121637272 bytes
Database Buffers 293601280 bytes
Redo Buffers 2904064 bytes
データベースがマウントされました。
データベースがオープンされました。


> sqlplus / as SYSDBA
SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql
:
: (結果の出力)
:

SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql
:
: (結果の出力)
:


★この後、SQL*Plusを終了して、コマンドプロンプトから
 「sqlplus SYSTEM/ORACLE」でログインしようとすると、エラーになる。

ERROR:
ORA-01017: invalid username/password; logon denied


理由がまったくわかりません。どうかよろしくお願いします。

投稿日時 - 2011-07-16 21:03:19

QNo.6879918

困ってます

質問者が選んだベストアンサー

以下のページを見て、作成されたのでしょうか?
http://www006.upp.so-net.ne.jp/auctor/software/win_oracle_xe_ja16sjistild.html
私はこれを見て、Oracle XE環境を作成しました。

【パスワード再設定】
同じようにsysとsystemのパスワードが不明になったため、
SQLplusで入りなおして、下記Alter user文で再設定しました。

・再設定
C:\sqlplus "/ as sysdba"
SQL> alter user sys identified by "ORACLE";
SQL> alter user system identified by "ORACLE";

・確認
SQL> alter user sys identified by "ORACLE";

【エラーについて】
>警告: 製品のユーザー・プロファイル情報がロードされていません。 PUPBLD.SQLをSYSTEMとして実行する必要があるかもしれません。

systemユーザでログインし、下記ファイルを実行すると表示されなくなりました。
あまり気にしなくて良いと言っている人もいますが…※

SQL> @C:\Oracle\app\oracle\product\10.2.0\server\sqlplus\admin\pupbld.sql

http://www.ahris.jp/ahris/tips/oracle/ora0007.txt

【おまけ:orapwdを使ってのパスワード設定について】
初め、DB作成後にorapwdを使って再設定しましたが、
どうやらDB作成後は無効のようです。
DB再作成のため、無効になったのでしょうかね??


・参考
http://www.doppo1.net/oracle/utility/orapwd.html

※パスワードファイルを使用して接続するためにはデータベースの初期化パラメータREMOTE_LOGIN_PASSWORDFILEがNONE以外(EXCLUSIVEまたはSHARED)である必要があります。

・その他
http://okwave.jp/qa/q1702867.html

参考URL:http://download.oracle.com/docs/cd/E16662_01/doc/timesten.1121/b56051/ttsql287.htm

投稿日時 - 2011-07-31 09:46:44

お礼

> 以下のページを見て、作成されたのでしょうか?
> http://www006.upp.so-net.ne.jp/auctor/software/win_oracle_xe_ja16sjistild.html
> 私はこれを見て、Oracle XE環境を作成しました。

その通りです。
ユーザのパスワードを設定しなおす、というのを思いつきませんでした。
んー、残念。

で、結局 XE ではなく、正規版をインストールして機能評価することに
して、当件、解決というか回避というか、、、んー、逃げました。
Oracle Direct さんにメールしたところ、正規版での利用について、
使用期限は無いとのことでしたので。

ご回答、ありがとうございました。
7/31 23:59

投稿日時 - 2011-07-31 23:59:48

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問