Oracle 同一台服务器创建多个数据库
有时候我们需要再同一台机器上创建多个数据库服务(不是单纯的数据库实例),每一个数据库可以有单独的服务运行,只是在一个机器环境而已。可以在不同的端口上监听,也可以在相同端口监听
创建多个数据库步骤
安装完 Oracle 数据库后,会自动安装很多工具,这里我们使用 Database Configuration Assistant 工具来创建数据库

按照提示一步步确定和填写信息即可,注意第三部填写自己要创建的数据库名称:

整个过程和第一次创建数据库一模一样,注意按需选择字符集、连接数等即可。创建成功后,我们的呢服务列表 services.msc 中会自动运行刚才创建好的数据库服务,比如我这里刚才创建的名字叫 looorcl:

连接指定数据库
一般情况下,创建成功后,直接采用 sqlplus 去连接就行,只不过连接字符串改成上面刚新加的就行,比如:
sqlplus sys/nhis@looOrcl as sysdba
我这里是本地所以没有制定 ip
如果连接时报错:ERROR:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
此时要检查,首先是否书写错误。确保你在连接时使用的服务名与 tnsnames.ora 文件中定义的服务名一致。
检查 tnsnames.ora 这个文件的配置,具体路径在创建数据库的时候已经有提示,不改动的话默认就是数据库目录的
product\11.2.0\dbhome_1\NETWORK\ADMIN
目录中,比如我的在 D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,文件内容中会多出一个节点,比如:

3、然后再查看 相同目录中的 listener.ora 文件,检查监听是否已经加入,也就是我们刚创建的数据库服务名称,是不是已经加入到文件,没有的话,可以手动填写,比如像我这样子:

4、重启监听lsnrctl stop
lsnrctl start
启动成功后重新连接即可,这样等于是相同的端口,监听了两个不同的数据库。我们打开 Net Manager 可以看到,我们监听了两个出具库服务


创建不同监听端口的数据库服务
只需在上面的 Net Manager 中删除刚新建的数据库配置,然后新加监听,重新制定数据库名和 SID,重新指定一个端口即可。
文章转载自:冰雪女娲
评论