oracle 数据库适配记录
说明:由于Oracle数据库本身和MYSQL数据库有一定的语法,建表结构,物理模式等差别,导致在适配过程中,可能会出现各种错误情况,特此从一些数据库知识、适配过程、脚本制作、及问题处理方面做出记录。
一、oracle概述及版本描述
Oracle数据库名(DB_NAME)、实例名(INSTANCE_NAME)、服务名(SERVICE_NAME) 概念
- 数据库名(DB_NAME)
它代表的是数据库,也就是数据库包含的所有的物理文件的总称。 - 实例名(INSTANCE_NAME)
用于响应某个数据库操作的数据库管理系统的名称。实例名是由初始化参数文件的参数instance_name决定的。如果这个参数不被指定,那么实例的名字由该用户的环境变量ORACLE_SID决定。 - 服务名(SERVICE_NAME)
指listener中的全局数据库名:由GLOBAL_DBNAME参数决定的。在oracle8i版本新引进的。
一个数据库可以对应多个实例,并且令客户端连接配置简单,ORACLE提出了SERVICE_NAME的概念,该参数直接对应数据库,而不是某个实例。
在Oracle 8i之后,为了提高性能,一个数据库可以对应多个实例(但一个实例只能对应一个数据库),当我们连接数据库时,Oracle建议使用service name方式连接:
格式为:jdbc:oracle:thin:@//< host>:< port>/< service_name>