oracle如何使用与当前用户不同的架构?

时间:2015-11-19 19:20:27

标签: oracle schema sqlplus

我获得了oracle连接,SID = xcom,user = sa。我使用sqlplus连接,但当我做“描述表”时,它说它不存在:

SQL> describe equip_inst;
ERROR:
ORA-04043: object equip_inst does not exist
SQL>

我需要包含schemaname“newpoc”才能获得它:

SQL> describe newpoc.equip_inst;
 Name                                      Null?    Type

那么,诀窍是什么?我想登录所有我的对象,默认这个模式名称为“newpoc”。

1 个答案:

答案 0 :(得分:1)

在您的示例中,您描述的是相应地授予了所有权限,您可以执行

ALTER SESSION SET CURRENT_SCHEMA = <schema name>

在您的情况下,作为用户&#34; sa&#34;执行:

ALTER SESSION SET CURRENT_SCHEMA = NEWPOC ;

所以,在你的例子中:

SQL> show user
USER is "SA"
SQL>
SQL> desc equip_inst
ERROR:
ORA-04043: object equip_inst does not exist


SQL> alter session set current_schema = NEWPOC ;

Session altered.

SQL> desc equip_inst
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 NAME                                               VARCHAR2(100)

SQL>

此致