• 締切済み

Oracle 10.2.0.4のDatebase版(64bit)のバグ?

Oracle 10.2.0.4のDatebase版(64bit)をWindows Server 2008にインストールすると、なぜかレジストリの『NLS_LANG』の値がデフォルトなっています。これは元々そういう仕様なのでしょうか? また、DBを作成した際に、SYSユーザ、SYSTEMユーザ等のパスワードをそれぞれ設定できますよね。 その際にパスワードを自分で設定したのですが、 いざコマンドプロンプトからDBに接続する時に、 まず『SQLPUS /NOLOG』 と打ち、 そのあとユーザでDBに接続するために 『CONN SYS/****@SID as sysdba』で接続しようとすると、 *****の部分のパスワードがどんな文字であろうとログインできてしまいます。 (さすがに空文字は駄目ですが) もし理由を知っている方がいたら教えて頂けませんか? お手数ですが何卒よろしくお願いします。

  • Oracle
  • 回答数2
  • ありがとう数3

みんなの回答

  • dda167
  • ベストアンサー率76% (55/72)
回答No.2

>『NLS_LANG』の値が空になっています。 初期化パラメータで設定されているのですかね? >64bit版ではデフォルトが空なのでしょうか? 確認できる環境が手元にありません。 ご不審に思われるのであれば、サポートに相談されてはいかがでしょうか。 >32bit版では接続されませんでした。 10gのデフォルトの認証はOS認証であると思いますが…… インストール後、パスワードファイル認証に変更したってことはないですか?

TERUYAGI12
質問者

お礼

すみません、OS認証のほうはこちら側のミスであり、dda167さんの言う通りでした!! ただ、『NLS_LANG』に関しては今だわかっておりません。。。。 まぁまだ1度しかインストールしていないのでなんとも言えないのですが・・・ 回答の程、ありがとうございました!!!!

  • dda167
  • ベストアンサー率76% (55/72)
回答No.1

NLS_LANG環境変数には、データベースに接続する端末の キャラクタセットなどを設定するのですが……それはご存知ですか? http://www.oracle.co.jp/iSeminars/091029_1100/20091029_Charcterset.pdf ログインについては、OS認証になっているからです。 connect / as sysdba でも接続することが可能です。 OSで認証したんだから、わざわざOracleで認証する必要ないや…… という感じです。

TERUYAGI12
質問者

補足

回答ありがとうございました! すみませんが、文章の訂正と追記をさせて頂きます。 (1)訂正 『NLS_LANG』の値がデフォルトになっています。 ↓ 『NLS_LANG』の値が空になっています。 64bit版ではデフォルトが空なのでしょうか? (2)追記 64bit版では『connect / as sysdba』でも接続されましたが、 32bit版では接続されませんでした。これは32bit版ではOS認証されないということでしょうか? 度々すみませんが、何卒よろしくお願いします。

関連するQ&A

  • SYSDBAの共有サーバ接続可能??

    こんにちは 基本的に共有サーバでas sysdba , as sysoperで接続不可だと思いますが、 やってみたら、できましたが、 なぜでしょうか? SQL> conn sys/oracle@test10g2XDB as sysdba Connected. SQL> select server from v$session where sid=userenv('SID'); SERVER --------- SHARED SQL> sho user USER is "SYS" DB:Oracle 10g R2 OS:Linux ありがとうございます。

  • オラクル ブロンズ DBA11gの勉強で

    オラクルブロンズDBA11gの勉強をしております。 テキスト通りにOracleの操作をしているのですが、つまづいてしまいました。 DatabaseControlからデータベースの優先資格証明がおこなえないのです。 SYSDBAユーザ:SYS SYSDBAパスワード:Oracleインストール時に設定してSYSのパスワード ホストユーザ名:ログインしているユーザ ホストパスワード:ログインしているユーザのパスワード を入力してテストボタンを押すのですが、「ユーザー○○○としての○○○への接続に失敗しました」 とのエラーメッセージが表示されています。 ログインしているユーザはAdministartorsとora_dbaのグループに所属しています。 なにが問題なのか全くわからない状態です。 どうか教えてください。

  • OracleのSQLPLUSログインについて

    sqlplusにてデータベースにアクセスできません。 どなたか知恵をお貸しください。 環境は、LinuxにOracle10gをインストールしました。 インストールと同時にデータベース(orcl)を作成しました。 インストールしたマシンにて、sqlplusを実行してみようとしているところです。 Oracleのインストール、データベースの作成が終了し、 コマンドラインから"sqlplu /nolog"を実行し、データベースに 接続しようとしましたが、エラーと表示されます。 コマンド、エラーは以下の通りです。 SQL> conn sys/manager as sysdba ERROR ORA-12162: TNS:net service name is incorrectly specified Oracleのインストール、データベースの作成を行った Linuxのユーザは"oracle"です。 この場合、ユーザ名はoracleが正しいのでしょうか?

  • Oracle11gインストール後の文字化けについて

    Oracle11g 11.0.6 MiracleLinux V5 Oracle11gインストールしましたが日本語で文字化けをしてしまいます。 Linuxの /etc/sysconfig/i18n は LANG=”ja_JP.eucJP” と設定しました。 Oracleの vi ~/.bash_profileは下記のようになっております。 ---------------------------- # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=/opt/app/oracle/product/11.1.0/db_1 export ORACLE_SID=SIDTEST #export NLS_LANG=Japanese_Japan.JA16EUC ←試す #export NLS_LANG=American_Japan.JA16EUC ←試す export NLS_LANG=JAPANESE_JAPAN.UTF8   ←試す export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_DOC=$ORACLE_HOME/doc CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/JRE CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12.jar CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/nls_charset12.jar export CLASSPATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdbc/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib export LD_LIBRARY_PATH -------------------------------------- ------------------------------------- #export NLS_LANG=Japanese_Japan.JA16EUC #export NLS_LANG=American_Japan.JA16EUC export NLS_LANG=JAPANESE_JAPAN.UTF8 と3通り試してみましたが文字化けは改善されません。 WindowsからSQLPLUSで接続した場合は文字化けはなく正常です。 OEMからの(WEBからの管理画面)も文字化けはしておりませんが クライアントからSSHで接続またはサーバのコンソールからSQL/PLUS を実行すると日本語が文字化けをしてしまいます。 改善策を教えてください。よろしくお願いします。

  • Sqlplusでの接続に関して

    掲示板利用させていただきます。 現在oracleのDBA1の勉強をしています。 sqlplusへ接続する際、as句を使用する意味がわかりません。 「connect sys/oracle as sysdba」の説明が、「sysdbaとして接続します」と参考書に書いています。 sysdbaは権限なのに、sysdbaで接続するとはどいういう意味なのでしょうか。sysユーザーにはsysdba権限が付与されているので、普通にas句を使わなくてもsysdba権限が必要な操作を実施可能と理解しています。 どなたかご教示いただけますでしょうか。

  • Oracle12cでユーザのSQLPLUSログイン

    基本的な質問ですみません。Oracle 12cを初めて使うのですが、すごく単純に、ユーザを作成し、そのユーザでデータベースオブジェクト(テーブルなど)を作成する拡張子が.sqlのスクリプトを流したいです。 11gまでの場合、システムユーザでCREATE USERしたのちに、コマンドプロンプトを立ち上げて C:\Scripts> SQLPLUS <USER>/<PASSWORD> @createtables.sql とするだけで良かったと思います。 今回、12cではユーザの考え方が変わっており、CDBとPDBを作成しました。 > SQLPLUS /NOLOG SQL> CONN SYS AS SYSDBA (上記のようにローカル接続するとCDBに接続される) SQL> ALTER SESSION SET CONTAINER=PDB1; // PDBへ移動 SQL> SHOW CON_NAME // 念のため現在接続中のPDBの名前確認 SQL> STARTUP; (これでマウント状態だったPDB1がOPENしてREAD WRITEになる) この状態でCREATE USER文を実行してPDB1上でユーザを作成。 ここからなんですが、PDBやCDBへのログイン方法はわかたのですが、PDB上で作成したユーザにはどのようにしてログインするのでしょうか? ログインしてテーブル作成をしたいです。また、テーブル作成のスクリプト文(.sql)があるのでそれを流したい場合は、コマンドプロンプトからどのように実行すればよいでしょうか? 基本的な質問で恐縮ですが、宜しくお願いします。

  • 特権ユーザーって?

    Oracle9iで質問です。 OS認証が設定されていて、 サーバー上のsqlplusから" / as sysdba"でログインすると、 「アイドルインスタンスに接続しました。」と表示されました。 DB名とか指定していないですが、 これはどのDBに繋がったんですか? 1DB1インスタンスの構成なので、 この場合に限って指定する必要はないとかでしょうか? nDBnインスタンスの場合は? その後、startupし、テーブルを作ってみたところ、OWNERはSYSになっていました。 これは、SYSDBA権限でOracleに認証された人は、 DB内ではSYSとして扱われるという事ですか?

  • HP-UXのOracleへのSQL

    ORACLEインスタンスへ接続する場合、ローカル接続なら環境変数でORACLE_SIDを登録しておけば、sqlplus user/passwd でつながりますが、ネットワーク接続でおなじようなことはできないでしょうか。 つまりは、sqlplus user/passwd@DB名 でなく、なにかしら変数を設定して、 sqlplus user/passwd のみでネットワーク経由で他のサーバのインスタンスに接続できるでしょうか??

  • iSQL*Plusのログイン方法について

    iSQL*Plusのログイン時に下記のERRORとなります。 ---------------------------------------------------------- ERROR - ORA-01017: invalid username/password; logon denied ---------------------------------------------------------- ログイン時に入力した文字列は以下の通りです。 ユーザ名: sys パスワード: **** 接続識別子: orcl ちなみに、 SQL*Plusのログイン時には下記を指定し、正常にログインできます。 ユーザ名: sys/****@orcl as sysdba パスワード: ホスト文字列: どなたかERRORの原因について教えて頂けますか?

  • VB.NET Oracle接続 32、64bit

    VB.NET 2010でOracle11gに接続するプログラムを作っていますが、 接続方法がいまいちわからずに困っています。 プログラムを動かすサーバーはWindows Server 2008 R2の64bitだったので、 Oracle Clientも合わせた方がいいのかなと思い、64bit版をインストールしました。 ASP.NETのWEBアプリでは以下の接続文字列を用いてADO接続できました。 パラメータ値は例です。 (Web.configに記述) <connectionStrings> <add name="oracle" connectionString="Provider=OraOLEDB.Oracle;Data Source=db1;Password=pass1;User ID=user1" providerName="System.Data.OleDb" /> </connectionStrings> 次に、コンソールプログラムを作成し、同じサーバーで上記と同様の接続文字列で 接続しようとしましたが、エラーとなり接続できませんでした。 いろいろ記述を変えても接続できませんでしたが、最終的にOracle Clientの 32bit版を64bit版と違うフォルダにインストールし、以下の接続文字列で接続 できました。(INIファイルに記載) ConnectionString=Provider=OraOLEDB.Oracle;Data Source=db1;Password=pass1;User ID=user1 この状態でWEBアプリの方は何を使っているのかと思い、64bit版のインストールフォルダを リネームしたところ、WEBアプリの方は接続できなくなりました。 現状では32bitと64bitのOracle Clientが両方必要な状況ですが、本来ならどちらかだけで すむと思います。 32bitと64bitで接続文字列が変わるという情報は得られませんでした。 何がまずいのでしょうか? 最初から32bit版をインストールすれば良かったのでしょうか。