oracle连接串配置多个不同服务

oracle连接串配置多个不同服务,第1张

1 连接数据库的方式

oracle的连接串有几部分构成,这里就按sqlplus为例,一个完成的连接串遵循下面格式

sqlplus 用户名/密码@主机:端口号/SID 可选as sysdba

复制

下面先讲只有listener没有tns的情况

2 listener

使用listener连接需要配置完整连接信息,这里分为两种连接方式,我们看一个listener的例子:

(带sid的listener使用netmgr增加listener的datavase services即可出现sid的配置)

LISTENER2 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = iZbp1d4tisi44j6vxze02fZ)(PORT = 1522))

)

SID_LIST_LISTENER2 =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = gdn1400)

(ORACLE_HOME = /fdisk1/oracle1400/base/dbhome_1)

(SID_NAME = orcl1400)

)

)

ADR_BASE_LISTENER2 = /fdisk1/oracle1400/base

LISTENER1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = iZbp1d4tisi44j6vxze02fZ)(PORT = 1521))

)

ADR_BASE_LISTENER1 = /fdisk1/oracle1400/base

复制

这里有两个listener,有sid的叫做静态listener,没有sid的叫做动态listener。在查看状态时存在区别:

lsnrctl status listener1

...

Services Summary...

Service "orcl1400" has 1 instance(s).

Instance "orcl1400", status READY, has 1 handler(s) for this service...

Service "orcl1400XDB" has 1 insta

你可以在安装软件后再创建数据库,这个数量可以是多个。安装ORACLE时,如选择仅安装软件,则安装结束后无数据库。你可以继续创建数据库。

实例是一个正在进行时的概念,每当启动一个数据库时,ORACLE会依照初始化参数文件spfile的记录分配内存,启动进程,查找相关文件,而当数据库关闭后,实例的寿命也就终止了,再启动就是一个新的实例,可以简单理解为实例就是内存和进程的集合,与物理文件没有关联,你完全可以删除实例,然后用oradmin来创建一个新实例,然后启动数据库,只要物理文件没有问题。多个实例可对应一个数据库,它们共同 *** 作同一数据文件。但你要说多个数据库,应该是指要创建不同的物理文件,而一个实例不能管理多个数据库。

一个数据库创建多个实例

1. 先要关闭数据库(进程和内存关闭)

[Oracle@oracle_2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on TueNov 12 20:34:53 2013

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

Connected to:

Oracle Database 10g Enterprise Edition Release10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>exit

2. 设置环境变量

[oracle@oracle_2 ~]$ vi .bash_profile

此时环境变量已经设置好了

3. 创建目录

i. 创建相关文件

此时我们可以看见已经有了相关目录,那是我们之前创建的实例ORCL的相关目录

创建目录是采用了批量创建目录{a,b,c,u}dump

[oracle@oracle_2 ~]$ cd $ORACLE_BASE

[oracle@oracle_2 oracle]$ ls

admin flash_recovery_area oradata oraInventory product

[oracle@oracle_2 oracle]$

[oracle@oracle_2 oracle]$ mkdir -p admin/ORA10G/{a,b,c,u}dump

[oracle@oracle_2 oracle]$ ls

admin flash_recovery_area oradata oraInventory product

[oracle@oracle_2 oracle]$ cd admin/

[oracle@oracle_2 admin]$ ls

ORA10G ORCL

[oracle@oracle_2 admin]$ cd ORA10G/

[oracle@oracle_2 ORA10G]$ ls

adump bdump cdump udump

[oracle@oracle_2 ORA10G]$

[oracle@oracle_2 ORA10G]$ ls

adump bdump cdump udump

[oracle@oracle_2 ORA10G]$ cd ..

[oracle@oracle_2 admin]$ ls

ORA10G ORCL

[oracle@oracle_2 admin]$ cd ..

[oracle@oracle_2 oracle]$ ls

admin flash_recovery_area oradata oraInventory product

[oracle@oracle_2 oracle]$ mkdir -p oradata/ORA10G

[oracle@oracle_2 oracle]$

ii. 创建密码文件

创建密码文件需要到ORACLE_HOME/dbs目录下创建

[oracle@oracle_2 10.2.0]$ cd $ORACLE_HOME/dbs

[oracle@oracle_2 dbs]$ ls

hc_ORCL.dat initdw.ora init.ora lkORCL orapwORCL spfileORCL.ora

[oracle@oracle_2 dbs]$ orapwd

Usage: orapwd file=<fname>password=<password>entries=<users>force=<y/n>

where

file -name of password file (mand),

password- password for SYS (mand),

entries -maximum number of distinct DBA andforce - whether to overwrite existing file (opt),

OPERs (opt),

There areno spaces around the equal-to (=) character.

[oracle@oracle_2 dbs]$ orapwd file=orapwORA10Gpassword=oracle entries=30

[oracle@oracle_2 dbs]$ ls

hc_ORCL.dat init.ora orapwORA10G spfileORCL.ora

initdw.ora lkORCLorapwORCL

[oracle@oracle_2 dbs]$

[oracle@oracle_2 dbs]$ cat init.ora |grep -v^#|grep -v ^$ >initORA10G.ora

[oracle@oracle_2 dbs]$ ls

hc_ORCL.dat init.oralkORCL orapwORCL

initdw.ora initORA10G.ora orapwORA10G spfileORCL.ora

[oracle@oracle_2 dbs]$

[oracle@oracle_2 dbs]$ vi initORA10G.ora

将内容改的和下面的一样

db_name=ORA10G

db_files = 80# SMALL

db_file_multiblock_read_count = 8 #SMALL

log_checkpoint_interval = 10000

processes = 50# SMALL

parallel_max_servers = 5 #SMALL

log_buffer = 32768 # SMALL

max_dump_file_size = 10240 # limit trace file size to 5 Meg each

global_names = false

control_files =(/u01/app/oracle/oradata/ORA10G/ora_control1.ctl,/u01/app/oracle/oradata/ORA10G/ora_control2.ctl)

sga_max_size=300m

sga_target=300m

4. 启动实例为ORA10G的数据库

[oracle@oracle_2 dbs]$ export $ORACLE_SID=ORA10G

[oracle@oracle_2 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on TueNov 12 21:08:55 2013

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

Connected to an idle instance.

SYS@ORA10G>

SYS@ORA10G>create spfile from pfile

File created.

SYS@ORA10G>startup nomount

ORACLE instance started.

Total System Global Area 314572800 bytes

Fixed Size 1219184 bytes

Variable Size 96470416 bytes

Database Buffers 213909504 bytes

Redo Buffers2973696 bytes

SYS@ORA10G>

SYS@ORA10G>show parameter undo

NAME TYPEVALUE

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

undo_management string MANUAL

undo_retention integer 900

undo_tablespace string

SYS@ORA10G>

修改参数,由于undo_management参数为静态参数,所以需要加上scope=spfile

SYS@ORA10G>alter system set undo_management=autoscope=spfile

System altered.

SYS@ORA10G>show parameter undo

NAME TYPEVALUE

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

undo_management string MANUAL

undo_retention integer 900

undo_tablespace string

SYS@ORA10G>shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

此时发现并没有更改,是由于静态参数需要重启才有效

SYS@ORA10G>startup nomount

ORACLE instance started.

Total System Global Area 314572800 bytes

Fixed Size 1219184 bytes

Variable Size 96470416 bytes

Database Buffers 213909504 bytes

Redo Buffers2973696 bytes

SYS@ORA10G>

此时只是改了spfile的参数还需要改pfile的参数

SYS@ORA10G>create pfile from spfile

File created.

SYS@ORA10G>

5. 多个实例的切换

i. 实例为ORCL启动数据库

[oracle@oracle_2 dbs]$ export ORACLE_SID=ORCL

[oracle@oracle_2 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on TueNov 12 21:19:19 2013

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

Connected to an idle instance.

SYS@ORCL>

ii. 实例为ORCL10G启动数据库

SYS@ORCL>exit

Disconnected

[oracle@oracle_2 dbs]$ export ORACLE_SID=ORA10G

[oracle@oracle_2 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on TueNov 12 21:24:54 2013

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

Connected to:

Oracle Database 10g Enterprise Edition Release10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SYS@ORA10G>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6703857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存