在企业中,我们可能会遇到需要在同一台服务器上运行多个Oracle数据库版本的情况,这种情况可能是由于历史遗留问题,或者是因为需要在新旧版本之间进行迁移和升级,在这种情况下,我们需要确保不同版本的Oracle数据库能够共存,并且能够顺利地进行升级,本文将详细介绍如何实现Oracle两个版本共存和升级。,1、安装不同版本的Oracle数据库,我们需要在服务器上安装两个不同版本的Oracle数据库,假设我们要安装Oracle 11g和Oracle 12c两个版本,我们可以按照以下步骤进行安装:,1、1 创建两个不同的Oracle基目录,为了确保两个版本的Oracle数据库能够共存,我们需要为每个版本创建一个独立的基目录,我们可以创建以下两个目录:,/u01/app/oracle/product/11.2.0/db_1,/u01/app/oracle/product/12.1.0/db_2,1、2 配置环境变量,接下来,我们需要配置ORACLE_HOME和PATH环境变量,以便系统能够识别不同版本的Oracle数据库,我们可以在~/.bash_profile文件中添加以下内容:,export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1,export PATH=$ORACLE_HOME/bin:$PATH,export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_2,export PATH=$ORACLE_HOME/bin:$PATH,我们需要执行以下命令使配置生效:,source ~/.bash_profile,1、3 创建并启动监听器,为了确保不同版本的Oracle数据库能够共存,我们需要为每个版本创建一个监听器,我们可以使用Net Configuration Assistant (NETCA)工具来创建监听器,以下是创建监听器的步骤:,1、打开终端,切换到Oracle基目录的bin目录下:,cd /u01/app/oracle/product/11.2.0/db_1/bin,cd /u01/app/oracle/product/12.1.0/db_2/bin,2、为每个版本创建一个监听器配置文件,我们可以创建listener.ora和listener_12c.ora两个文件:,touch listener.ora,touch listener_12c.ora,3、编辑listener.ora文件,添加以下内容:,LISTENER =,(DESCRIPTION_LIST =,(DESCRIPTION =,(ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521)),(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)),),),SID_LIST_LISTENER =,(SID_LIST =,(SID_DESC =,(SID_NAME = ORCL),(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1),(PROGRAM = extproc),),(SID_DESC =,(GLOBAL_DBNAME = orcl),(ORACLE_HOME = /u01/app/oracle/product/12.1.0/db_2),(SID_NAME = ORCL),),),4、编辑listener_12c.ora文件,添加以下内容:,LISTENER =,(DESCRIPTION_LIST =,(DESCRIPTION =,(ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521)),(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)),),),SID_LIST_LISTENER =,(SID_LIST =,(SID_DESC =,(GLOBAL_DBNAME = orcl),(ORACLE_HOME = /u01/app/oracle/product/12.1.0/db_2),(SID_NAME = ORCL),),),5、启动监听器:lsnrctl start,这将启动监听器并使其开始监听来自客户端的连接请求。,6、确保监听器已启动并正在运行:lsnrctl status,如果一切正常,你应该会看到类似以下的输出:,Service “orcl” has 1 instance(s). Instance “orcl”, status READY, has 1 handler(s) for this service…,Service “orclXDB” has 1 instance(s). Instance “orcl”, status UNKNOWN, has 1 handler(s) for this service…,The command completed successfully,,
Oracle 12cR2是甲骨文公司推出的一款关系型数据库管理系统,它是Oracle数据库家族中的一员,具有高性能、高可用性、高安全性等特点,在本文中,我们将带领大家开启一段新的数据库构建之旅,详细介绍如何使用 Oracle 12cR2搭建一个高效、稳定的数据库环境。,在开始构建Oracle 12cR2数据库之前,我们需要完成以下准备工作:,1、确保计算机满足安装Oracle 12cR2的硬件要求,如内存、磁盘空间等。,2、下载Oracle 12cR2安装包,访问Oracle官方网站(https://www.oracle.com/database/technologies/oracledatabasesoftwaredownloads.html),选择对应的版本进行下载。,3、准备操作系统环境,Oracle 12cR2支持多种操作系统,如Windows、Linux等,确保操作系统已经安装了相应的补丁和组件。,4、配置系统环境变量,将Oracle 12cR2的安装路径添加到系统环境变量中,以便在命令行中直接使用相关命令。,1、解压安装包,将下载的Oracle 12cR2安装包解压到一个合适的目录,如C:oracleinstall。,2、运行安装程序,进入解压后的目录,双击运行setup.exe文件,启动Oracle 12cR2安装程序。,3、选择安装类型,在安装程序的“选择安装选项”页面,选择“创建和配置数据库”,然后点击“下一步”。,4、系统类选择,在“系统类”页面,选择“数据库服务器”,然后点击“下一步”。,5、执行先决条件检查,安装程序会自动执行先决条件检查,确保系统满足安装要求,如果有警告或错误信息,需要按照提示进行处理。,6、设置数据库密码,在“设置数据库密码”页面,设置数据库管理员(sys)和sysdba用户的密码,然后点击“下一步”。,7、选择存储位置,在“选择软件位置”页面,设置Oracle 12cR2的安装位置和数据库文件的存储位置,然后点击“下一步”。,8、执行配置操作,在“执行配置操作”页面,等待安装程序自动完成配置操作,完成后,点击“下一步”。,9、完成安装,在“安装结束”页面,点击“关闭”按钮,结束Oracle 12cR2的安装过程。,在Oracle 12cR2中,监听器负责接收客户端的连接请求,并将其转发给相应的实例,我们需要配置一个监听器,以便客户端能够连接到我们的数据库。,1、打开监听器配置文件,进入Oracle 12cR2的安装目录,找到listener.ora文件,用文本编辑器打开。,2、配置监听器参数,在listener.ora文件中,添加以下内容:,SID_NAME表示数据库实例的名称,ORACLE_HOME表示Oracle Home的路径,GLOBAL_DBNAME表示全局数据库名,根据实际情况修改这些参数。,3、保存并关闭listener.ora文件,重启监听服务,使配置生效。,在Oracle 12cR2中,实例是一组共享相同物理存储结构的数据库进程,我们需要创建一个实例,以便客户端能够连接到我们的数据库。,1、打开实例参数文件,进入Oracle 12cR2的安装目录,找到initORCL.ora文件,用文本编辑器打开。,2、配置实例参数,在initORCL.ora文件中,添加以下内容:,DB_NAME表示数据库实例的名称,DB_DOMAIN表示域名,根据实际情况修改这些参数,其他参数保持默认值即可。,3、保存并关闭initORCL.ora文件,使用SQL*Plus工具连接到数据库实例,执行以下命令创建数据库:,至此,我们已经成功搭建了一个Oracle 12cR2数据库环境,接下来,我们需要测试一下客户端是否能够成功连接到我们的数据库。,1、打开SQL*Plus工具,进入Oracle 12cR2的安装目录,找到sqlplus.exe文件,双击运行,输入用户名和密码,登录到数据库实例。,2、查询数据库状态,在SQL*Plus工具中,执行以下命令查询数据库的状态:,如果看到输出结果中的STATUS为“OPEN”,则表示数据库已经成功启动,客户端可以正常连接到我们的数据库,至此,我们完成了Oracle 12cR2数据库的搭建工作,可以开始进行各种数据库操作了。, ,SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = ORCL) (ORACLE_HOME = C:oracleproduct12.2.0dbhome_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = C:oracleproduct12.2.0dbhome_1) (SID_NAME = ORCL) ) ),DB_BLOCK_SIZE = 8192 DB_CREATE_FILE_DEST = “C:oracleproduct12.2.0dbhome_1database” DB_DOMAIN = “ORCL” DB_NAME = “orcl” DB_RECOVERY_FILE_DEST = “C:oracleproduct12.2.0dbhome_1database” DB_RECOVERY_FILE_dest_size = 50M,CREATE DATABASE;,username: sys as sysdba password: your_password,SELECT instance_name, status FROM v$instance;