Oracle 11g で CREATE TABLESPACE文を実行したところ「ORA-00972: 識別子が長すぎます。」とエラーが発生。SQLから離れJavaを長くやっていた”Javaの習慣”が原因でした。

実行したCREATE TABLESPACE文は以下の様なもの(実際とは名前やデータファイル名が異なる)。発生したエラーの内容も出力の通りです。

  1  CREATE TABLESPACE SAMPLE_TS
  2    DATAFILE "D:\OraData\SampleTableSpace.dbf" SIZE 100M
  3    AUTOEXTEND ON
  4    ONLINE
  5    LOGGING
  6*   PERMANENT
SQL> /
  DATAFILE "D:\OraData\SampleTableSpace.dbf" SIZE 100M
           *
行2でエラーが発生しました。:
ORA-00972: 識別子が長すぎます。

原因は単にデータファイル名を「”」ダブルコーテーションでくくっていたため。SQLで値は「’」シングルコーテーションでくくらなければならないのは基礎中の基礎だったのですが、Java等で文字列は「”」でくくるため習慣となり、SQLでも普通にやってしまいました。それは仕方ないとして、瞬間で気付けなかった事に反省。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です