我被空格玩了两次的经过

    我曾遇到过数据文件名字中有空格的情况, 结果呢我用SQL来生成的拷贝所有文件的角本怎么都不对, 那事当时整了我15分钟, 用SQL语句或用图形工具时都要注意这一点. 下面是我建的一个表空间, 看起来是有同样的文件名的, 看了长度后才知道的.

SQL> create tablespace test datafile
  2    '/oracle/ora9i/data01/alex/testdata01.dbf' size 10m
  3  extent management local autoallocate;

Tablespace created.

SQL> alter tablespace test add datafile
  2  '/oracle/ora9i/data01/alex/testdata01.dbf ' size 10m;

Tablespace altered.

SQL> select max(ts#) from v$datafile;

  MAX(TS#)
----------
        12

SQL> col name format a40
SQL> select name,length(name) from v$datafile where ts#=12;

NAME                                    LENGTH(NAME)
---------------------------------------- ------------
/oracle/ora9i/data01/alex/testdata01.dbf          40
/oracle/ora9i/data01/alex/testdata01.dbf          41

    第一次在文件名上被空格玩后(当数据文件时在文件名的后面多了一个空格, 这时在OS上用ls等命令看时是看不出来的, 那时足足花了我十分钟时间才想起来和搞定这个问题), 没想到昨日空格重现在索引的名字中, 当时是想将Global索引变成Local时发现的, 又花了我十多分钟.

SQL> SELECT INDEX_NAME FROM USER_INDEXES;

INDEX_NAME
------------------------------
T_INDEX_COL1

SQL> DROP INDEX T_INDEX_COL1;
DROP INDEX T_INDEX_COL1
          *
ERROR at line 1:
ORA-01418: specified index does not exist


SQL> CREATE INDEX T_INDEX_COL1 ON T_INDEX(COL1);
CREATE INDEX T_INDEX_COL1 ON T_INDEX(COL1)
                                    *
ERROR at line 1:
ORA-01408: such column list already indexed


SQL> SELECT DUMP(INDEX_NAME) FROM USER_INDEXES;

DUMP(INDEX_NAME)
----------------------------------------------------------
Typ=1 Len=13: 84,95,73,78,68,69,88,95,67,79,76,49,32

SQL> DROP INDEX "T_INDEX_COL1 ";

Index dropped.

SQL> CREATE INDEX T_INDEX_COL1 ON T_INDEX(COL1);

Index created.

    不知道有没有其他人遇到过同样的问题?

发表留言:

« Previous | Main | Next »

相关文章 | Related Artiles

英语900句 | English 900

  • It's one o'clock sharp.
  • 现在一点整.
  • It's not four o'clock.
  • 还没到四点呢.
  • My watch says two o'clock.
  • 我的表是两点钟.
  • My watch is two minutes fast.
  • 我的表快了两分钟.
  • What's the time by your watch?
  • 你的表几点了?