• 締切済み

SGAの上限値を教えてください!

10GBのメモリを積んでいるサーバに、Oracle Database 10g Enterprise Edition (10.1.0.5)をインストールしてデータベースを作成しているものです。 スクリプトを自分で作成しているのですが、SAG=2000Mにしたところ以下のエラーが出てエラーになってしまいました。   「out of memory」 SGA=1500Mにした所エラーになりませんでした。 10GBもメモリーがあるので、最低でも5GBほどSGAサイズをとりたいのですが、何か特殊コマンドが必要なのでしょうか。 それともSGAサイズの上限はきまっているのでしょうか。

みんなの回答

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.4

OSとオラクルのバージョンは何ですか?32bit版ですか64bit版ですか? Windows32bit環境では1プロセス2GBの壁があるのでそれにひっかかっている可能性はありませんか。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

32bit版では、10GBのメモリーは使い切れないと思いますが、32bit版OSなりの限界までは、 設定により拡大できます。 http://technet2.microsoft.com/WindowsServer/ja/library/f2ea9fde-12ff-43ae-bd2b-fc721f8177ce1041.mspx

sului2
質問者

お礼

このようなオプションがあるとは知りませんでした。ありがとうございました。 とても参考になりました、Oracleについて役立つ書籍やサイトをご存知でしたらご教授下さい。

全文を見る
すると、全ての回答が全文表示されます。
  • flusher4
  • ベストアンサー率60% (3/5)
回答No.2

32Bit Windowsでは1プロセスあたりのメモリ上限は2GBです。 Oracleの問題ではなく32BitOSの問題かと思います。 32BitのWindowsでメモリ10GBを使い切るのはかなり困難なので 64Bitにすることをお勧めします。

sului2
質問者

お礼

flusher4さんのおっしゃるとおり32Bit Windowsではメモリの使いきりは厳しいようです。(Oracle社に問い合わせてみました) ありがとうございます。 ちなみにflusher4さんはどこでそのような情報を知るのでしょうか? いい書籍やサイトがありましたらご教授下さい。

全文を見る
すると、全ての回答が全文表示されます。
  • plantarum
  • ベストアンサー率53% (42/79)
回答No.1

サーバのOSは何ですか? またCPUは32ビットですか、それとも64ビットですか? 32ビットのLinuxOSなら約1.7Gが上限です。 http://otn.oracle.co.jp/forum/message.jspa?messageID=8065147

sului2
質問者

補足

WindowsOSです。 サーバのOS:Windows Server 2003 Enterprise Edition (32bit) CPU    :32bit

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • OracleのSGA領域の拡張について

    SGA領域の拡張をしておりますがOS上のメモリーの見方が よく分かりません。 SGAを拡張する前は下記のようになっております。 ●MiracleLinux 2.1 [oracle@svr20 dbs]$ free -m total used free shared buffers cached Mem: 1254 1247 7 233 659 190 -/+ buffers/cache: 397 857 Swap: 2000 0 2000 →見方としては free7M + buffers659M + cached190M = 856M  -/+ buffers/cache:とほぼ同じでだいたい856Mあまっている?  と言う見方でよろしいのでしょうか? ●Oracle9.2.0.1 SQL> startup open; ORACLE instance started. Total System Global Area 235999352 bytes Fixed Size 450680 bytes Variable Size 201326592 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. Database opened. →SGAは235Mとなっております。 ------------ ここで alter system set sga_max_size = 1024M scope=spfile; 発行して1024Mに拡張しOracleとOSを再起動しました。 SQL> startup open; ORACLE instance started. Total System Global Area 1074861156 bytes Fixed Size 451684 bytes Variable Size 1040187392 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. Database opened. →SGAは1Gとなっており増えております。 [root@svr20 /root]# free -m total used free shared buffers cached Mem: 1254 1212 42 236 668 161 -/+ buffers/cache: 382 872 Swap: 2000 73 1926 →872Mあまっている? 75Mぐらい増やしましたがOS上では減っておりません。 freeは42Mと増えてます。 また、alter system set sga_max_size = 2024M scope=spfile; と拡張しましたら再起動後メモリが足らないのかORA-27123となり起動 できなくなりました。 この場合SGAのメモリ枠は何メガまで拡張できるかどのようにして 判断したら良いか教えてください.

  • Database Configuration Assistantが起動しない

    Oracle Database 9.2.0.1.0を使用してデータベースを新しく作成しようと思っているのですが、Database Configuration Assistantが起動しません。  [環境]  OS:Windows2000ServerSP4  OracleDB:Oracle Database 9.2.0.1.0(パッチ適用済)  CPU:Pentium3 600MHz  メモリ:196MB(ページング領域:2GB)   現在、同環境で、すでにひとつデータベースは作成済の状態で特にエラーもなく動作しております。 起動の際には、スタート⇒プログラム⇒Oracle OraHome92⇒Configuration and Migration Tools ⇒ Database Configuration Assistant より起動しようと思っているのですが 10分ぐらい待ってもウィザード(データベースの作成 などのオプションを選ぶ画面)が立ち上がってきません。 何が問題なのかわからず困りはてております。 どういうところを確認すればよいかご教授お願い致します。

  • create databaseがうまくいきません。。

    databaseを新規に作成したいのですが 今使用しているDB(Oracle 10g Express Edition )は インストール時にデフォルトでデータベースを 作成してしまうため、 「create databese」のsql文を実行すると以下のエラーが出てしまいます。 すでにマウントってどういうことなのでしょうか。 ORA-01501: CREATE DATABASE文でエラーが発生しました。 ORA-01100: データベースはすでにマウントされています。 今存在するDB名が分かれば「drop」コマンドで 削除を試みようと思っているのですが DB名を参照する方法もよく分かりません。 どなたかご教授お願いします。

  • Oracle10gのデータベース作成時エラー

    こんばんは。初めての投稿です。 Windows Server 2003 R2 Standard Edition(サーバーOS)に Oracle10g 10.2.0をインストールし、 データベースを作成しようとすると このようなエラーが表示されます。  『次のエラーが原因でEnterprise Managerの構成に失敗しました。   Database Controlの起動中にエラー   詳細はC:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.logにあるログファイルを参照してください。   C:\oracle\product\10.2.0\db_1\bin\emcaスプリクトを手動で実行することにより   後でEnterprise manegerを使用してデータベースの構成を再試行できます。』   emConfig.logを確認したところ、   「設定: パラメータ○○に値が設定されていません。」というエラーが大量に表示されています。 (MODIFY_SID、DB_UNIQUE_NAME、DBID、ORACLE_HOSTNAME、GLOBAL_DB_UNIQUE_NAME 等々…) また、スプリクトを手動で実行した後 再度データベースを作っても また同じエラーが表示されてしまいます。 全ての設定は「10日でおぼえるOracle10g 入門教室」という参考書を片手にやっているので エラーがでるはずがないと思うので、とても困っています。 何かお気づきの点ありましたら教えてください。

  • DBCAでエラーとなる

    下記の環境でOracle9iのデータベースを作成しようとしています。 OS: Red Hat Enterprise Linux ES2.1 RDBMS: Oracle9i Database R2 DBCAにてキャラクタセット「JA16SJIS」のデータベースを作成しようとしていますが、「invalid NLS parameter」というエラーメッセージが出て先に進みません。 インストールユーザのoracleの環境変数はNLS_LANG=Japanese_Japan.JA16SJISですが、export NLS_LANG=Japanese_Japan.JA16EUCしてから実行しても同一のエラーとなりました。 なぜでしょうか? ご存知の方いらっしゃったら教えて下さい。 宜しくお願いします。

  • pgaの最大使用サイズについて

    いつもお世話になっています。 pga_aggregate_targetを指定した場合、空いていれば指定した値一杯までpga領域として1SQLで使用できるのでしょうか? それとも、1SQLや1処理(ソートやハッシュジョイン)で上限があるのでしょうか? OS:solaris9 DBMS:Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 以上、宜しくお願いします。

  • 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 理由がまったくわかりません。どうかよろしくお願いします。

  • DB作成中のエラーについて

    現在「Oracle9.2.0.4.0」を使っています。 「Databese Configuration Assistant」の「データベース作成スクリプトの生成」で作成されたスクリプトを使って、データベースを作成しようとしております。 スクリプトの一部ですが、以下の内容です。 mkdir E:\oracle\admin\AAAA\bdump mkdir E:\oracle\admin\AAAA\cdump mkdir E:\oracle\admin\AAAA\create mkdir E:\oracle\admin\AAAA\pfile mkdir E:\oracle\admin\AAAA\udump mkdir E:\oracle\ora92\database mkdir E:\oracle\oradata\AAAA set ORACLE_SID=AAAA E:\oracle\ora92\bin\oradim.exe -new -sid AAAA -startmode m E:\oracle\ora92\bin\oradim.exe -edit -sid AAAA -startmode a E:\oracle\ora92\bin\orapwd.exe file=E:\oracle\ora92\database\PWDAAAA.ora password=change_on_install E:\oracle\ora92\bin\sqlplus /nolog @E:\oracle\admin\AAAA\scripts\CreateDB.sql    ~省略~ 上記の手順で処理が実行されて、「orapwd」の行でエラーが発生します。 エラーメッセージ 「OPW-00005: 同一名のファイルがあります。 - 削除または名前を変更してください。」 ステップごとに追った結果「oradim」の行で、「PWDAAAA.ora」が作成されるために発生するようです。 これは、無視しても良い物なのでしょうか? または、何らかの対処が必要なのでしょうか? よろしくお願いします。

  • 32bitOSが32GBのメモリーを使えるのは何故ですか?

    wiki/に Windows Server 2003 Enterprise Editionはメモリ上限はSP2未満の32ビットエディションにて32GiBとあります。 昔32bitOSは理論的に4GBまでしかメモリーを利用できないと聞きましたが、何か画期的な技術的な進歩があったのですか?

  • マニュアル通りにDB作成してるのですが、エラーになります

    以下のガイドを参照してDBを作成しようとしているのですが、エラーがでて作成できません。 Oracle9i データベース管理者ガイド リリース2(9.2) 手順6:create database文の発行 ページ2-18 環境:Oracle9i 9.2.0 どなたかアドバイスお願いします。 -----------実行結果---------------------------------------- SQL> create database mynewdb 2 USER SYS IDENTIFIED BY pz6r58 3 USER SYSTEM IDENTIFIED BY yltz5p 4 LOGFILE GROUP 1 ('c:\oracle\oradata\mynewdb\redo01.log') SIZE 100M, 5 GROUP 2 ('c:\oracle\oradata\mynewdb\redo02.log') SIZE 100M, 6 GROUP 3 ('c:\oracle\oradata\mynewdb\redo03.log') SIZE 100M 7 MAXLOGFILES 5 8 MAXLOGMEMBERS 5 9 MAXLOGHISTORY 1 10 MAXDATAFILES 100 11 MAXINSTANCES 1 12 CHARACTER SET US7ASCII 13 NATIONAL CHARACTER SET AL16UTF16 14 DATAFILE '/ORACLE/ORADATA/mynewdb/system01.dbf' SIZE 325M REUSE 15 EXTENT MANAGEMENT LOCAL 16 DEFAULT TEMPORARY TABLESPACE tempts2 17 DATAFILE 'c:\oracle\oradata\mynewdb\temp02.dbf' 18 SIZE 20M REUSE 19 UNDO TABLESPACE undotbs 20 DATAFILE 'c:\oracle\oradata\mynewdb\undotbs01.dbf' 21 SIZE 200M REUSE AUTOEXTEND ON NEXT S120K MAXSIZE UNLIMITED; DATAFILE 'c:\oracle\oradata\mynewdb\temp02.dbf' * 行17でエラーが発生しました。: ORA-25139: CREATE TEMPORARY TABLESPACE????????????? -----------実行結果----------------------------------------