视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oracle创建多实例后启动
2025-09-29 18:17:43 责编:小OO
文档
一个oracle 用户下面创建多个实例并启动

前言

本文主要介绍了同一个oracle 用户下面如何重建多个oracle 实例。本文的测试环境为redhat 5.4,但该方法适应用大部分unix 系统(aix、hp-ux、suselinux等),本人也在AIX 5.3 系统上面实践过,通过此方法创建实例不存在任何问题。

一、环境介绍

系统:rhel 5.4

oracle 版本:10.2.0.1

原实例:

用户:oracle

oraclesid: orcl

oracle_base:/oracle/inst1

oracle_home:/oracle/inst1/product/10.2.0/db_1

数据文件:/oracle/inst1/oradata/orcl

参数文件:/oracle/inst1/product/10.2.0/db_1/dbs

控制文件:/oracle/inst1/oradata/orcl

归档路径:/oracle/inst1/arch/orcl

新实例:

用户:oracle

oraclesid: orcl3

oracle home:/oracle/inst1/product/10.2.0/db_1

oracle_base:/oracle/inst1

oracle_home:/oracle/inst1/product/10.2.0/db_1

数据文件:/oracle/inst1/oradata/orcl3

参数文件:/oracle/inst1/product/10.2.0/db_1/dbs

控制文件:/oracle/inst1/oradata/orcl3

归档路径:/oracle/inst1/arch/orcl3

二、设置用户环境变量

说明:这里我们把新的oracle sid加到用户的配置文件中(.bash_profile),其实不加入也没关系,加入只是为了便于其他管理和维护人员能够更好的理解和维护。

添加新的实例的SID

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

TMP=/tmp;

export TMP

TMPDIR=$TMP;

export TMPDIR

ORACLE_BASE=/oracle/inst1;

export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;

export ORACLE_HOME

ORACLE_SID=orcl;

ORACLE_SID=orcl3;

export ORACLE_SID

ORACLE_TERM=xterm;

export ORACLE_TERM

PATH=/usr/sbin:$PATH;

export PATH

PATH=$ORACLE_HOME/bin:$PATH;

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

export CLASSPATH

unset USERNAME

注意:oracle sid 环境变量为默认的环境变量,即默认环境变量为orcl3,配置文件中放在后面的设置会覆盖前面的设置。

三、创建新实例的参数文件

[oracle@rhel-2 dbs]$ ls

hc_orcl2.dat  initdw.orainitorcl.ora  lkORCL2    orapworcl2       spfileorcl.ora

hc_orcl.dat   init.oralkORCLorapworcl  spfileorcl2.ora

[oracle@rhel-2 dbs]$ pwd

/oracle/inst1/product/10.2.0/db_1/dbs

[oracle@rhel-2 dbs]$ cpinitorcl.ora initorcl3.ora

注:这里我们通过拷贝原实例参数文件的方法进行创建,然后再进行修改。

修改新实例的参数文件

orcl.__db_cache_size=184549376

orcl.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcl.__shared_pool_size=88080384

orcl.__streams_pool_size=0

*.audit_file_dest='/oracle/inst1/admin/orcl3/adump'

*.background_dump_dest='/oracle/inst1/admin/orcl3/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/oracle/inst1/oradata/orcl3/control01.ctl','/oracle/inst1/oradata/orcl3/control02.ctl','/oracle/inst1/oradata/orcl3/control03.ctl'

*.core_dump_dest='/oracle/inst1/admin/orcl3/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl3'

*.db_recovery_file_dest='/oracle/inst1/flash_recovery_area'

*.db_recovery_file_dest_size=21474838

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.job_queue_processes=10

*.log_archive_dest_1='location=/oracle/inst1/arch/orcl3'

*.open_cursors=300

*.pga_aggregate_target=94371840

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=285212672

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/oracle/inst1/admin/orcl3/udump'

创建新实例的相关目录:

[oracle@rhel-2 ~]$ cd /oracle/inst1/admin/

[oracle@rhel-2 admin]$ mkdir orcl3

[oracle@rhel-2 admin]$ ls

orcl  orcl2  orcl3

[oracle@rhel-2 admin]$ cd orcl3

[oracle@rhel-2 orcl3]$ mkdiradumpbdumpcdumpudump

[oracle@rhel-2 orcl3]$ cd /oracle/inst1/oradata/

[oracle@rhel-2 oradata]$ mkdir orcl3

[oracle@rhel-2 oradata]$ ls

orcl  orcl2  orcl3

[oracle@rhel-2 oradata]$ pwd

/oracle/inst1/oradata

[oracle@rhel-2 oradata]$ ls

orcl  orcl2  orcl3

[oracle@rhel-2 oradata]$ cd ..

[oracle@rhel-2 inst1]$ ls

admin  arch  database  flash_recovery_area  libXp-1.0.0-8.1.el5.i386.rpm  oradataoraInventory  product

[oracle@rhel-2 inst1]$ cd arch

[oracle@rhel-2 arch]$ ls

orcl  orcl2

[oracle@rhel-2 arch]$ mkdir orcl3

[oracle@rhel-2 arch]$ ls

orcl  orcl2  orcl3

启动实例测试

[oracle@rhel-2 arch]$ export ORACLE_SID=orcl3

[oracle@rhel-2 arch]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 5 17:46:40 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn /as sysdba;

Connected to an idle instance.

SQL> startup nomount;

ORACLE instance started.

Total System Global Area  285212672 bytes

Fixed Size                  12192 bytes

Variable Size              92276304 bytes

Database Buffers          188743680 bytes

Redo Buffers                2973696 bytes

SQL> select instance_name from v$instance;

INSTANCE_NAME

----------------

orcl3

创建密码文件:

oracle@rhel-2 arch]$orapwd file=/oracle/inst1/product/10.2.0/db_1/dbs/orapworcl3 password=oracle entries=10;

四、创建数据库

4.1、编写数据库创建脚本

下面为创建数据库的脚本:

CREATE DATABASE orcl3

   USER SYS IDENTIFIED BY oracle

   USER SYSTEM IDENTIFIED BY manager

   LOGFILE GROUP 1 ('/oracle/inst1/oradata/orcl3/redo01.log') SIZE 20M,

           GROUP 2 ('/oracle/inst1/oradata/orcl3/redo02.log') SIZE 20M,

           GROUP 3 ('/oracle/inst1/oradata/orcl3/redo03.log') SIZE 20M

   MAXLOGFILES 5

   MAXLOGMEMBERS 5

   MAXLOGHISTORY 1

   MAXDATAFILES 100

   MAXINSTANCES 1

   CHARACTER SET US7ASCII

   NATIONAL CHARACTER SET AL16UTF16

   DATAFILE '/oracle/inst1/oradata/orcl3/system01.dbf' SIZE 325M REUSE

   EXTENT MANAGEMENT LOCAL

   SYSAUX DATAFILE '/oracle/inst1/oradata/orcl3/sysaux01.dbf' SIZE 325M REUSE

   DEFAULT TABLESPACE tbs_1 datafile '/oracle/inst1/oradata/orcl3/tbs_1.dbf' size 50m

   DEFAULT TEMPORARY TABLESPACE temp

      TEMPFILE '/oracle/inst1/oradata/orcl3/temp01.dbf'

      SIZE 20M REUSE

   UNDO TABLESPACE undotbs1

      DATAFILE '/oracle/inst1/oradata/orcl3/undotbs01.dbf'

      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

/

4.2、创建数据库

4.3、验证是否创建成功

查询数据库状态

SQL> select status from v$instance;

STATUS

------------

OPEN

SQL>

4.4、运行后续脚本,创建数据字典及相关视图

SQL>conn sys as sysdba

SQL>@?/rdbms/admin/catalog.sql;

此过程可能需要10分钟左右

SQL>@?/rdbms/admin/catproc.sql;

此过程可能需要15分钟左右

SQL>@?/rdbms/admin/catblock.sql;

SQL>@?/rdbms/admin/catoctk.sql;

SQL>@?/rdbms/admin/owminst.plb;

 

SQL>conn system/oracle

SQL>@?/sqlplus/admin/pupbld.sql;

SQL>@?/sqlplus/admin/help/hlpbld.sqlhelpus.sql

五、客户端连接

5.1、监听文件配置(listener.ora)

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /oracle/inst1/product/10.2.0/db_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = orcl)

      (ORACLE_HOME = /oracle/inst1/product/10.2.0/db_1)

      (SID_NAME = orcl)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = orcl3)

      (ORACLE_HOME = /oracle/inst1/product/10.2.0/db_1)

      (SID_NAME = orcl3)

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = rhel-2)(PORT = 1521))

    )

  )

5.2、本地服务名称配置(tnsnames.ora)

# Generated by Oracle configuration tools.

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = rhel-2)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

ORCL2 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = rhel-2)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl2)

    )

  )

ORCL3 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = rhel-2)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl3)

    )

  )

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

六、多实例启动

1.切换Oracle用户:

# su oracle

2.切换到Oracle目录下:

  #cd $oracle_home

3.执行配置文件 .bash_profile

[oracle@db ~]$ ..bash_profile

4. 查看参数是否已经配置成功

Echo$oracle_home

Echo $oracle_sid

5.启动数据库实例

#sqlplus  /nolog

#conn /as sysdba

#startup

#exit

6.  启动监听程序

 执行 lsnrctl start

7.  启动另外一个数据库,先修改参数

export ORACLE_SID=devdb

然后重复步骤4-6下载本文

显示全文
专题