ORA-01950错误分析
错误原因:
1.用户没有resource权限。
2.在修改了用户的表空间后,在用户中创建表时会出现以下的错误:ORA-01950: 对表空间 'EXAMPLE' 无权限
这个时候就要给修改了表空间的用户重新分配权限如:grant connect,resource to username;再切换到该用户下创建表。
3.此错误是由于对表空间操作的权限不足造成的,所以这个时候就可以检查出错之前对于所操作的表空间是否具有相应的权限有,如果没有则重新赋予相应的权限
C:\Users\aaaa>imp system/yang fromuser=scott touser=seven file=scott.dmp log=scott_to_seven.log
Import: Release 11.1.0.6.0 - Production on 星期六 2月 19 21:10:58 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
经由常规路径由 EXPORT:V11.01.00 创建的导出文件
警告: 这些对象由 SCOTT 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SCOTT 的对象导入到 SEVEN
IMP-00017: 由于 ORACLE 错误 1950, 以下语句失败:
"CREATE TABLE "BONUS" ("ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "SAL" NUMBER"
", "COMM" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INI"
"TIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) "
" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 1950
ORA-01950: 对表空间 'EXAMPLE' 无权限
.....
IMP-00017: 由于 ORACLE 错误 1950, 以下语句失败:
"CREATE TABLE "SALGRADE" ("GRADE" NUMBER, "LOSAL" NUMBER, "HISAL" NUMBER) P"
"CTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELIST"
"S 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) LOGGING NOCOM"
"PRESS"
IMP-00003: 遇到 ORACLE 错误 1950
ORA-01950: 对表空间 'EXAMPLE' 无权限
成功终止导入, 但出现警告。
2 对seven 进行授权
sys@ORACL> grant resource,connect to seven;
授权成功。
已用时间: 00: 00: 00.14
sys@ORACL> conn seven/yang
已连接。
3 再次导入,成功!
C:\Users\aaaa>imp system/yang fromuser=scott touser=seven file=scott.dmp log=scott_to_seven.log
Import: Release 11.1.0.6.0 - Production on 星期六 2月 19 21:13:17 2011
经由常规路径由 EXPORT:V11.01.00 创建的导出文件
警告: 这些对象由 SCOTT 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SCOTT 的对象导入到 SEVEN
. . 正在导入表 "BONUS"导入了 0 行
. . 正在导入表 "DEPT"导入了 4 行
. . 正在导入表 "EMP"导入了 14 行
. . 正在导入表 "SALGRADE"导入了 5 行
即将启用约束条件...
成功终止导入, 没有出现警告。
4 检查导入的表。
seven@ORACL> select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
BONUS USERS
DEPT USERS
EMP USERS
SALGRADE USERS
已用时间: 00: 00: 00.04
错误原因:
1.用户没有resource权限。
2.在修改了用户的表空间后,在用户中创建表时会出现以下的错误:ORA-01950: 对表空间 'EXAMPLE' 无权限
这个时候就要给修改了表空间的用户重新分配权限如:grant connect,resource to username;再切换到该用户下创建表。
3.此错误是由于对表空间操作的权限不足造成的,所以这个时候就可以检查出错之前对于所操作的表空间是否具有相应的权限有,如果没有则重新赋予相应的权限
C:\Users\aaaa>imp system/yang fromuser=scott touser=seven file=scott.dmp log=scott_to_seven.log
Import: Release 11.1.0.6.0 - Production on 星期六 2月 19 21:10:58 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
经由常规路径由 EXPORT:V11.01.00 创建的导出文件
警告: 这些对象由 SCOTT 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SCOTT 的对象导入到 SEVEN
IMP-00017: 由于 ORACLE 错误 1950, 以下语句失败:
"CREATE TABLE "BONUS" ("ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "SAL" NUMBER"
", "COMM" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INI"
"TIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) "
" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 1950
ORA-01950: 对表空间 'EXAMPLE' 无权限
.....
IMP-00017: 由于 ORACLE 错误 1950, 以下语句失败:
"CREATE TABLE "SALGRADE" ("GRADE" NUMBER, "LOSAL" NUMBER, "HISAL" NUMBER) P"
"CTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELIST"
"S 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) LOGGING NOCOM"
"PRESS"
IMP-00003: 遇到 ORACLE 错误 1950
ORA-01950: 对表空间 'EXAMPLE' 无权限
成功终止导入, 但出现警告。
2 对seven 进行授权
sys@ORACL> grant resource,connect to seven;
授权成功。
已用时间: 00: 00: 00.14
sys@ORACL> conn seven/yang
已连接。
3 再次导入,成功!
C:\Users\aaaa>imp system/yang fromuser=scott touser=seven file=scott.dmp log=scott_to_seven.log
Import: Release 11.1.0.6.0 - Production on 星期六 2月 19 21:13:17 2011
经由常规路径由 EXPORT:V11.01.00 创建的导出文件
警告: 这些对象由 SCOTT 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SCOTT 的对象导入到 SEVEN
. . 正在导入表 "BONUS"导入了 0 行
. . 正在导入表 "DEPT"导入了 4 行
. . 正在导入表 "EMP"导入了 14 行
. . 正在导入表 "SALGRADE"导入了 5 行
即将启用约束条件...
成功终止导入, 没有出现警告。
4 检查导入的表。
seven@ORACL> select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
BONUS USERS
DEPT USERS
EMP USERS
SALGRADE USERS
已用时间: 00: 00: 00.04