oracle使用rman备份表空间,Oracle RMAN中备份表空间名为'TEST'时需要注意的问题

'TEST'算是Oracle的一个保留字,因此在有些地方使用时要注意,目前我发现在rman中备份时oracle把它作为保留字对待.

TEST在rman里确实是保留字...

备份其它表空间时只需要直接写表空间名字就可以:

RMAN> backup tablespace undotbs2,users1,test2;

启动 backup 于 2009/09/01 19:37:14

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00004 name=C:TEMPUSERS02.DBF

输入数据文件 fno=00005 name=C:TEMPTEST.DBF

输入数据文件 fno=00002 name=C:TEMPUSERS01.DBF

输入数据文件 fno=00006 name=C:TEMPUNDOTBS02.DBF

通道 ORA_DISK_1: 正在启动段 1 于 2009/09/01 19:37:16

通道 ORA_DISK_1: 已完成段 1 于 2009/09/01 19:37:31

段句柄=E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2009_09_01O1

_MF_NNNDF_TAG20090901T193715_59T1VD4D_.BKP 标记=TAG20090901T193715 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:16

完成 backup 于 2009/09/01 19:37:31

RMAN> report schema;

数据库方案报表

永久数据文件列表

===========================

文件大小 (MB) 表空间 回退段数据文件名称

---- -------- -------------------- ------- ------------------------

1 300 SYSTEM *** C:TEMPSYSTEM01.DBF

2 20 USERS1 *** C:TEMPUSERS01.DBF

3 120 SYSAUX *** C:TEMPSYSAUX01.DBF

4 29 USERS1 *** C:TEMPUSERS02.DBF

5 25 TEST2 *** C:TEMPTEST.DBF

6 10 UNDOTBS2 *** C:TEMPUNDOTBS02.DBF

7 3 TEST *** C:TEMPTEST2.DBF

8 5 TEST *** C:TEMPTEST1.DBF

RMAN> backup tablespace test;

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-00558: 分析输入命令时出错

RMAN-01009: 语法错误: 找到 "test": 应为: "double-quoted-string, identifier, sing

le-quoted-string" 中的一个

RMAN-01007: 在第 1 行第 19 列, 文件: standard input

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-00558: 分析输入命令时出错

RMAN-01009: 语法错误: 找到 ";": 应为: "allocate, alter, backup, beginline, block

recover, catalog, change, connect, copy, convert, create, crosscheck, configure,

duplicate, debug, delete, drop, exit, endinline, flashback, host, {, library, l

ist, mount, open, print, quit, recover, register, release, replace, report, reno

rmalize, reset, restore, resync, rman, run, rpctest, set, setlimit, sql, switch,

spool, startup, shutdown, send, show, test, transport, upgrade, unregister, val

idate" 中的一个

RMAN-01007: 在第 1 行第 23 列, 文件: standard input

RMAN> backup tablespace 'TEST';

启动 backup 于 2009/09/01 19:37:55

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00008 name=C:TEMPTEST1.DBF

输入数据文件 fno=00007 name=C:TEMPTEST2.DBF

通道 ORA_DISK_1: 正在启动段 1 于 2009/09/01 19:37:55

通道 ORA_DISK_1: 已完成段 1 于 2009/09/01 19:37:58

段句柄=E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2009_09_01O1

_MF_NNNDF_TAG20090901T193755_59T1WN2G_.BKP 标记=TAG20090901T193755 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04

完成 backup 于 2009/09/01 19:37:59

RMAN>

RMAN> backup tablespace "TEST";

启动 backup 于 2009/09/01 19:38:10

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00008 name=C:TEMPTEST1.DBF

输入数据文件 fno=00007 name=C:TEMPTEST2.DBF

通道 ORA_DISK_1: 正在启动段 1 于 2009/09/01 19:38:11

通道 ORA_DISK_1: 已完成段 1 于 2009/09/01 19:38:12

段句柄=E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2009_09_01O1

_MF_NNNDF_TAG20090901T193811_59T1X3PY_.BKP 标记=TAG20090901T193811 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01

完成 backup 于 2009/09/01 19:38:12

RMAN> backup tablespace "test";

启动 backup 于 2009/09/01 19:38:20

使用通道 ORA_DISK_1

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: backup 命令 (在 09/01/2009 19:38:20 上) 失败

RMAN-20202: 在恢复目录中未找到表空间

RMAN-06019: 无法转换表空间名称"test"

RMAN> backup tablespace 'test';

启动 backup 于 2009/09/01 19:38:29

使用通道 ORA_DISK_1

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: backup 命令 (在 09/01/2009 19:38:29 上) 失败

RMAN-20202: 在恢复目录中未找到表空间

RMAN-06019: 无法转换表空间名称"test"

RMAN>

--通过简单的测试发现只有使用单引号或者双引号把TEST括起来而且TEST必须大写才能识别,最后查了一下视图v$reserved_words 发现oracle把test视为保留字了。

SQL> select *from v$reserved_words where keyword='TEST';

KEYWORD LENGTH R R R R D

------------------------------ ---------- - - - - -

TEST 4 N N N N N

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值