日期:2014-05-17  浏览次数:20845 次

关于oracle的一些问题
1 当一台机器下面,有多个数据库(sid)时。并且这两个数据库都在相同时间要用到。那么注册表中对应的oracle_sid 应该对应哪个呢? 它会自动变化吗?

2 数据库和实例,它们的关系 这两个概念还不是很清楚,能不能形象的解释一下。从我装oracle到新建数据库,到新建表空间,用户.....

3 sqlplus "/as sysdba" 这个命令,在没有指定oracle_sid的时候,会默认在orcl这个sid里面执行吗?

我做过一个特别奇怪的操作。机器中,原本有一个数据库orcl,我又新建了一个数据库abc. 然后,用命令 sqlplus "/as sysdba" 建表空间,指定了表空间位置datafile 'D:\Oracle\oradata\abc\lms.dbf',再建用户hh . 完了之后,在pl/sql中登录abc,用hh新用户登录不进去,报错。在pl/sql中登录orcl,用hh竟然可以登录进去。 我看了下位置E:\oracle\Administrator\oradata 下面有我新建的sid,打开对应的abc位置,里面也有刚刚建的表空间。再看orcl位置里面也没有新增表空间。 那为什么我在其他数据库下面建的新用户会跑到默认数据库orcl里面去呢?? 难道是sqlplus "/as sysdba" 这个命令会默认在orcl里面执行?? 那为什么E:\oracle\Administrator\oradata 各自位置下有各自的表空间?

------解决方案--------------------
1.要用到哪个时 用 set oracle_sid=xxx
2.这点我也说不上来。
3. 根据你注册表里面的 oracle_sid来执行