谁来帮我解决这个问题?

Rayphrank 2004-06-10 04:09:55
在Oracle9i中,怎样将一个脚本文件(.sql,例如是创建表的脚本)执行到某个方案中,我发现如果在SQL Plus Sheet 中运行脚本文件,总是将表建立到SYS方案中,如果想建立到别的方案中该怎么做了?(我的脚本中建立表的语句没有方案的,比如create table aa.....,而不是create table “sys”.“aa”....)
...全文
69 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
aweihz 2004-06-11
你不要给它SYSDBA权限!给个DBA的权限。
回复
Rayphrank 2004-06-11
我在把问题详细说一下,
现在我有一个.sql脚本文件,里面是一些建库的脚本,如
create table aaa
…………

也就是说这个脚本是没有和任何方案关联的,

在SQLPLUS SHEET中,我运行这个脚本,发现运行结果是在方案SYS中把这些表建立起来了,
现在我想将这些表建立在一个我自己的方案,比如U_RAY中,于是我新建了一个永久表空间T_RAY,新建了一个用户U_RAY,设置用户U_RAY的表空间为T_RAY,给用户U_RAY增加了角色sysdba和权限CREATE ANY TABLE,
然后在SQL PLUS SHEET中使用用户U_RAY登陆,运行脚本,这时候我发现表还是建立在方案SYS中,那我该怎样设置才能让脚本可以在方案U_RAY中建表了?
回复
comcn 2004-06-10
create user scott identified by a default tablespace scott temporary tablespace scott
这样不就行了 ^_^
回复
Rayphrank 2004-06-10
“事前要检查user是否default到sys上“
怎样检查了?能不能说详细一点,谢谢
回复
tmxli 2004-06-10
connect user/password@oradb 这样就可以联到指定的方案中了,再执行sql. 事前要检查user是否default到sys上.
回复
Rayphrank 2004-06-10
to comcn(大XX)
我是用脚本建表,每个表都要改怎么行?
回复
Rayphrank 2004-06-10
还是不行啊,我已经用我的方案的用户登陆了,可是还是建在SYS中,就好象SYS是缺省的方案一样,
我在新建了一个用户后,是不是还要赋予他什么权限(我加了DBA角色,一个CREATE TABLE权限 好象没有用)才能在他自己的方案中用脚本建表?
回复
comcn 2004-06-10
create table 用户名.表名 “sys”.“aa”.... tablespace 指定一个表空间

create table scott.table1 (aa char(2),bb,char(10)) tablespace scott;
回复
aweihz 2004-06-10
你用你要的方案的用户登陆再执行不就行了
回复
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2004-06-10 04:09
社区公告
暂无公告