在设置Oracle密码时,我们经常会将密码设置的特别复杂(一般由字母、数字和特殊符号组成),值得注意的是,在有特殊符号时,修改密码或着导入导出数据时会遇到很多不必要的麻烦,本文中将会对此情况进行详细的解释和说明:

注:本文中,将以特殊符号“/”为例。

Linux环境下,使用Oracle数据库10g

修改密码

[oracle@olivenan oracle]$ sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Wed May 17 14:33:32 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> alter user test identified by aa/aa;

alter user test identified by aa/aa

*

ERROR at line 1:

ORA-00922: missing or invalid option

在此使用""

SQL> alter user test identified by "aa/aa";

User altered.

SQL>

[oracle@olivenan oracle]$ exp test/aa/aa file=test.dmp buffer=65536

Export: Release 10.2.0.1.0 - Production on Wed May 17 14:32:10 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

EXP-00004: invalid username or password

Username:

此处应该进行转义使用 " "处理密码,使用 ' '处理用户名和密码

[oracle@olivenan oracle]$ exp 'test/"aa/aa"' file=test.dmp buffer=65536

Export: Release 10.2.0.1.0 - Production on Wed May 17 14:32:52 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

Export done in WE8ISO8859P1 character set and AL16UTF16 NCHAR character set

About to export specified users ...

. exporting pre-schema procedural objects and actions

...............

导出成功。

Windows Xp下,数据库为Oracle9i

C:\Documents and Settings\w>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on Wed May 17 14:56:34 2006

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect sys/olivenan as sysdba

Connected.

SQL> alter user test identified by aa/aa;

alter user test identified by aa/aa

*

ERROR at line 1:

ORA-00922: missing or invalid option

此处使用""

SQL> alter user test identified by "aa/aa";

User altered.