开始学习oracle,有好多问题不太理解:
我知道oracle的database只是一些物理文件,instance在启动的时候先通过 参数文件-->控制文件-->数据文件、重做日志文件。
我想多个instances启动的时候可能读取的相关文件只是每个instance自己对应的的相关文件就行。(以前一直以为一个database只能启动一个instance)。
我建了一个database后创建了两个instance :(sid 是:)orcl 和 sidtest
并配置了一个监听程序:listener 和两个服务器名字(orcl test )
如下图所示: 监听器的配置
如上面的三个图所示:LISTENER 监听了两个数据库实例 一个是ORCL 一个是SIDTEST 。ORCL 全局数据库名我没有相应的取成 orcl ,是为了了解 全局数据库名和SID的区别。
全局数据库名在下面配置服务命名的时候有用到。
为全局数据库名sidtest 配置服务器名test
为全局数据库名sidtest 配置服务器名orcl (orcl 右边的服务标识栏里面的服务名是前面图片中的stest ,而不是所谓的orcl).
配置完毕后,在dos下 重启 listener :lsnrctl stop 和lsnrctl start 命令
然后启动数据库实例: 我是通过启动两个dos 分别设置不同的oracle_sid 来启动的,如果大家有更好的方法,请告诉我下,谢谢。
然后以pl/sql developer 分别连接不同的数据库实例,输入 select * from dba_data_files 发现每个实例对应的文件位置不一样,确定这两个实例启动了。或者在刚刚的两个dos下输入show parameter instance 也可以看到instance_type 那一列的值是不同的。
用工具连接的时候一定要记住,后面我连接的是服务名 test 和orcl 而不是sid。