• ベストアンサー

マニュアル通りに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????????????? -----------実行結果----------------------------------------

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

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.2

こんにちわ。 Temporary tablespace なら DATAFILE '~'ではなく、TEMPFILE '~' じゃないでしょうか?

toshi_200578
質問者

お礼

ありがとうございました。

その他の回答 (1)

回答No.1

ORA-25139 invalid option for CREATE TEMPORARY TABLESPACE Cause: An invalid option appears. Action: Specify one of the valid options: TEMPFILE, EXTENT MANAGEMENT LOCAL, UNIFORM. らしいですよ? tempのテーブルスペース作成に失敗してるんから原因は パラメータとかディスクの空きとか。その辺だとおもいますが。

参考URL:
http://www.utexas.edu/its/unix/reference/oracledocs/v92/B10501_01/server.920/a96525/e24280.htm
toshi_200578
質問者

お礼

ありがとうございました。

関連するQ&A

  • oracle10g データベースの追加について

    oracle10g でcreate databaseをしたいのですが、 ERROR at line 1: ORA-01501: CREATE DATABASE failed ORA-01100: database already mounted となってしまいます。 create文は以下のようになります。 ご教授下さい SQL> CREATE DATABASE testdb MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 DATAFILE '/opt/oradata/testdb/system01.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE 2000M EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE '/opt/oradata/testdb/sysaux01.dbf' SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oradata/testdb/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED UNDO TABLESPACE "UNDOTBS1" DATAFILE '/opt/oradata/testdb/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 LOGFILE GROUP 1 ('/opt/oradata/testdb/redo01.log') SIZE 10240K, GROUP 2 ('/opt/oradata/testdb/redo02.log') SIZE 10240K, GROUP 3 ('/opt/oradata/testdb/redo03.log') SIZE 10240K USER SYS IDENTIFIED BY syspass USER SYSTEM IDENTIFIED BY systempass;

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

  • 表領域の拡張について

    表領域の拡張について教えてください。 以前、以下のようなSQL文で表領域(WEB_DATA)を作成しました。 -------- CREATE TABLESPACE WEB_DATA DATAFILE '/home1/oracle/app/oracle/oradata/orcl/WEB_DATA.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE 1000M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; -------- 最近データ容量も増えており以下のように約800Mほどとなっております。 -------- -rw-r----- 1 oracle oinstall 806363136 11月 6日 08:18 WEB_DATA.dbf -------- よって表領域の拡張を考えております。 そこで、考えられる方法として以下の2つがあると思われますが、どちらを選択するほうが良いのでしょうか? (1)alter tablespace文の add datafile句 (2)alter database文の resize句 両者のメリット・デメリットがイマイチよく分かりません。 (パフォーマンス的にどちらが良いなどもあるのでしょうか?) また表領域のmazsizeの上限値は通常どれほどにしておくべきなのでしょうか? 環境は以下の通りです。 OS:Solaris8 DB:Oracle9i 以上、宜しくお願い致します。

  • 「ORA-12913: ディクショナリ管理表領域を作成できません」について

    AというサーバーのオラクルデータをダンプしてBというサーバーにデータ移行を 行っていますがうまくできません。 約1週間、調べて実行して失敗を繰り返しています。 ちゃんとオラクルを触るのは今回が初めてです。 以下の表領域のCREATE文はimpコマンドに「SHOW」オプションを「Y」にして実行した際に 出力されたものから抜き出しました。 CREATE TABLESPACE "DATA_A" BLOCKSIZE 8192 DATAFILE 'D:\oracle\oradata\...\DATA01.DBF' SIZE 5541M REUSE AUTOEXTEND ON NEXT 1048576 MAXSIZE 32767M, 'D:\oracle\oradata\...\DATA02.DBF' SIZE 6191M REUSE AUTOEXTEND ON NEXT 1048576 MAXSIZE 32767M EXTENT MANAGEMENT DICTIONARY DEFAULT NOCOMPRESS STORAGE ( INITIAL 524288 NEXT 524288 MINEXTENTS 8 MAXEXTENTS 2147483645 PCTINCREASE 50 ) ONLINE PERMANENT NOLOGGING; 上記のCREATE文を実行したら下記のエラーが発生して作成できませんでした。 「ORA-12913: ディクショナリ管理表領域を作成できません」 オラクルのバージョンは「9.2.0.1.0」です。 9.2から表領域を作成するSQLが変わったという記事を読みました。 どのように変わったのかがいまいちわかりません。 申し訳ありませんがご教授いただけませんでしょうか。 宜しくお願いします。

  • オラクル表領域データファイルの削除について

    まず、経緯から書きますと、 レコードINSERT処理(Access)にて表領域不足エラーが出たため、 以下コマンドにてデータファイルを追加しました。 ALTER TABLESPACE USERS ADD DATAFILE '/db3/oradata/ora805/datafile09.dbf' SIZE 1000M; ところが、以下のエラーが出ました。 エラー行: 1: エラーが発生しました。 ORA-19510: 207360ブロックのサイズ設定に失敗しました   (ファイル"/db3/oradata/ora805/datafile09.dbf"、ブロックサイズ=2048)。 ORA-27059: skgfrsz: ファイル・サイズを削減できません。 SVR4 Error: 28: No space left on device Additional information: 2 ORA-19502: ファイル"/db3/oradata/ora805/datafile09.dbf"の書込みエラー。   ブロック番号: 207105(ブロックサイズ=2048) ORA-27063: skgfospo: 読込み/書込みのバイト数が正しくありません。 SVR4 Error: 28: No space left on device Additional information: -1 Additional information: 131072 まず、このエラーの詳細が正確に理解できていない状況なのですが、 なんとなく、これは、空き容量がないところに1000Mのデータファイルを 作成しようとして、大きすぎて作成出来ませんというエラーを返された、 と解釈しました。 それで、sqlplusにてデータファイルの一覧を見てみると、 追加しようとしていたdatafile09.dbfは確認できませんでした。 表領域 ファイル名            サイズ 自動追加 ---------------------------------------------------------- USERS /db1/oradata/ora805/datafile01.dbf 4194304 NO 0 USERS /db1/oradata/ora805/datafile02.dbf 2097152000 NO 0 USERS /db1/oradata/ora805/datafile03.dbf 2097152000 NO 0 USERS /db2/oradata/ora805/datafile04.dbf 2097152000 NO 0 USERS /db2/oradata/ora805/datafile05.dbf 1048576000 NO 0 USERS /db2/oradata/ora805/datafile06.dbf 996147200 NO 0 USERS /db3/oradata/ora805/datafile07.dbf 2097152000 NO 0 USERS /db3/oradata/ora805/datafile08.dbf 1887436800 NO 0 ところが、OS(Solaris5.6)に戻って、 /db3/oradata/ora805 フォルダの一覧を確認しますと、 以下のように datafile09.dbf が出来ていました。 -rw-rw---- 1 oracle dba 2097154048 13:52 datafile07.dbf -rw-rw---- 1 oracle dba 1887438848 13:52 datafile08.dbf -rw-rw---- 1 oracle dba 1048578048 14:32 datafile09.dbf ここから、質問なのですが、 1)なぜ、datafile09.dbf は OSでファイルが認識されているのに、 sqlplusでデータファイルを一覧したときには表示されないのか。 2)datafile09.dbf をいったん消したいのですが、 OSレベルで datafile09.dbf を削除してもオラクルに悪影響は 出ないのでしょうか。正しい消し方がわかりません。 以上です。 どなたかアドバイスいただけないでしょうか? よろしくお願いいたします。 Ver:Oracle8 OS:SunOS 5.6(Solaris)

  • 表領域の作成について

    表領域を作成してインポートしたら下記のエラーが出力されて困っています。 表領域の作成の仕方が駄目でエラーが出力されてしまったのでしょうか。 下記のCREATE TABLESPACE文で表領域を作成しています。 ---------------------------------------------------------------------- CREATE TABLESPACE "T_DAT" BLOCKSIZE 8192 DATAFILE 'D:\oracle\oradata\ora92\DAT_01.DBF' SIZE 32767M, 'D:\oracle\oradata\ora92\DAT_02.DBF' SIZE 32767M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M SEGMENT SPACE MANAGEMENT AUTO; ---------------------------------------------------------------------- コマンドプロンプトでimpコマンドを実行したら、下記のエラーなどが出力されました。 ---------------------------------------------------------------------- IMP-00003: Oracleエラー1659が発生しました。 ORA-01659: nを超えるMINEXTENTSを表領域T_DATに割当てできません。 IMP-00003: Oracleエラー1658が発生しました。 ORA-01658: 表領域T_DATにセグメント用のINITIALエクステントを作成できません。 ---------------------------------------------------------------------- 何がいけないのかが正直わかりません。 申し訳ありませんがアドバイスいただけませんでしょうか。 宜しくお願いします。

  • BLOB列作成でORA-03001が出ます

    皆様こんにちは。 環境はcompatible = 9.0.0で作成した データベースです。 下記のSQLで表領域を作成し、その表領域を指定して BLOB列を含むテーブルを作成しようとすると、 ORA-03001:実装されていない機能ですエラー が出てしまいます。 create tablespace data_ts datafile 'd:\oracle\oradata\data\data_ts.dbf' size 256M autoextend on next 10M maxsize 1024M extent management local segment space management auto / 原因と対処法をご存知の方がおられましたら お助けください。 よろしくお願いいたします。

  • オフラインリカバリが必要なDBFファイルの削除

    Oracleで一時表領域(TempTbs)用のTEMPファイル(TEMP01.DBF)を新規に作成しようと思いましたが 誤ってTEMP01.DBFに対してインデックス表領域(IndexTbs)を割り当ててしまいました。 ※IndexTbsを割り当ててるDBFファイルはもうひとつ存在してます なので一度下記のコマンドでオフラインにしました。 ALTER DATABASE DATAFILE 'E:\ORADATA\DATABASE1\TEMP\TEMP01.DBF' OFFLINE その後でE:\ORADATA\DATABASE1\TEMP\TEMP01.DBFを誤って別の場所(デスクトップ)へ 移動してしまい、その後で上記所定の位置へ戻し ALTER TABLESPACE IndexTbs DROP DATAFILE 'E:\ORADATA\DATABASE\TEMP\TEMP01.DBF';で 削除しようと思いましたが「ORA-02142:ALTER TABLESPACEオプションがないかまたは無効です」の エラーが表示され削除できません。OracleEnterpriseManagerでTEMP01.DBFファイルの属性を 確認するとステータスが「オフライン(リカバリが必要)」となっています。 正常にオフラインできていないようです。 残っていても問題ないのかもしれませんが、あっても気持ち悪いのでTEMP01.DBFを 削除したいのですが、正しい手順で削除するにはどうすればいいでしょうか? よろしくお願い致します。

  • UNDO表領域の拡張について

    Oracle9iにてUNDO表領域を自動拡張ではないため手動にて拡張(512M→1024M)しようとしております。 UNDO表領域:/oradata/undotbs01.dbf 表領域をオフライン(alter tablespace '/oradata/undotbs01.dbf' offline;)にすることなく以下のSQL文のみで拡張することは可能でしょうか? SQL> alter database datafile '/oradata/undotbs01.dbf' resize 1024M; ご教授の程、宜しくお願い致します。

  • サーバーの移行について(エクスポートとインポート)

    ご覧頂きありがとうございます。 サーバーの移行がうまくいかず困っているのでご質問させていただきます。 やりたいことは、本サーバーにあるOracleデータベースのデータをエクスポートして、開発環境にインポートさせようと思っています。 以下、行った作業です。 windowsのコマンドプロンプトから以下のコマンドを実行してエクスポート C:\>emp sadmin/password@sid file=C:\ora_data\empsid.dmp consistent=y owner=sadmin 開発環境にて、表領域の作成とユーザの作成、権限の付与を行う。 SQL>CREATE TABLESPACE HOGE datafile 'C:\temp\HOGE1.dbf' size 800M reuse logging online segment space management auto; SQL>CREATE TEMPORARY TABLESPACE HOGE_TEMP tempfile 'C:\temp\HOGE_TEMP1.dbf' size 800M extent management local uniform size 10M; SQL>CREATE USER sadmin IDENTIFIED BY hogehoge DEFAULT TABLESPACE HOGE TEMPORARY TABLESPACE HOGE_TEMP QUOTA UNLIMITED ON HOGE; SQL>GRANT DBA TO sadmin; GRANT IMP_FULL_DATABASE TO sadmin; 以下のコマンドを実行して、windowsのコマンドプロンプトからインポート。 C:\>imp sadmin/password@sid file=C:\ora_data\empsid.dmp log=C:\ora_data\impsid.log fromuser=sadmin touser=sadmin ignore=y 状況としましては、エクスポートは問題なく終了しています。(確信はありませんが(汗)) インポート実行時、トリガーの箇所だと思うのですが処理が止まってしまいインポートが完了しません。 画面上では、「制約を使用可能にします・・」と表示されて止まってしまいます。 ログには以下のようなエラーが出ています。 IMP-00003: Oracleエラー439が発生しました。 ORA-00439: 機能は有効ではありません: Partitioning IMP-00041: 警告: オブジェクト作成の際、コンパイル・エラーが発生しました。 DBを見てみると、データのインポートはできているようなのですが、トリガーのインポートができていないみたいです。 当方Oracleを触るのは初めてで、書籍やGoogle検索などで調べているのですが、原因解明できず途方にくれています。 どなたかご助言頂けないでしょうか? 宜しくお願いします。