Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

65

积分

0

好友

31

主题
1#
发表于 2015-5-9 18:12:30 | 查看: 4586| 回复: 8
数据库实例和ASM 通讯的疑问

这几天一直对 数据库和ASM 实例通讯不大理解

《McGraw.Hill.Oracle.Automatic.Storage.Management.Nov.2007.pdf》
是这样写的


ASMB This process contacts CSS using the diskgroup name and acquires
the associated ASM connect string.
This connect string is then used to
connect into the ASM instance using a bequeath connection.
Using this persistent connection, periodic messages are exchanged to update statistics
and provide a heartbeat mechanism.
During operations that require ASM intervention,
such as a file creation by an Oracle 10g RDBMS database
foreground, the RDBMS foreground connects directly to the ASM instance
to perform the operation.
Upon successful completion of file creation,
database file extent maps are sent by ASM to ASMB.
Additionally, ASMB also sends database I/O statistics to the ASM instance.



http://oracle-info.com/dbahelper/asm-questions/

"
4) How does database connects to ASM Instance?

The database communicates with ASM instance using the ASMB (umblicus process) process. Once the database obtains the necessary extents from extent map, all database IO going  forward is processed through by the database processes, bypassing ASM. Thus we say ASM is not really in the IO path. So, the question how do we make ASM go faster…..you don’t have to.

4) What init.ora parameters does a user need to configure for ASM instances?

The default parameter settings work perfectly for ASM. The only parameters needed for 11g ASM:
• PROCESSES*
• ASM_DISKSTRING*
• ASM_DISKGROUPS
• INSTANCE_TYPE

"

http://czmmiao.iteye.com/blog/1753396

我有个疑问,既然数据库实例是通过ASMB 这个进程和 CSS进程进行交互
那么 ASM本身的监听是给谁用的呢?

CSS 和ASMB 都是进程,根本扯不上网络啊?
2#
发表于 2015-5-9 19:48:49
ASM本身的维系不依赖于ASM对应注册到的监听。 ASM对应注册到监听 可以服务于用户远程登录ASM实例 来维护,或者其他监控软件远程获得ASM数据。

回复 只看该作者 道具 举报

3#
发表于 2015-5-9 21:18:28
Maclean Liu(刘相兵 发表于 2015-5-9 19:48
ASM本身的维系不依赖于ASM对应注册到的监听。 ASM对应注册到监听 可以服务于用户远程登录ASM实例 来维护, ...

其实 我想问数据库访问 ASM 具体是什么方式呢? 是通过 ASM实例监听吗?
可是

ASMB This process contacts CSS using the diskgroup name and acquires
the associated ASM connect string.
This connect string is then used to
connect into the ASM instance using a bequeath connection.

感觉只是通过进程间通讯,即数据库不需要通过ASM监听器来访问ASM
我的理解对吗?

回复 只看该作者 道具 举报

4#
发表于 2015-5-10 14:13:39

ASM本身的维系不依赖于ASM对应注册到的监听。

回复 只看该作者 道具 举报

5#
发表于 2015-5-10 21:05:05
Maclean Liu(刘相兵 发表于 2015-5-10 14:13
ASM本身的维系不依赖于ASM对应注册到的监听。

刘大师,能否提供一个 有关 数据库访问ASM 方式的资料,或者麻烦你解读一下,因为我实在没有理解 数据库是通过何种协议访问 ASM的?

回复 只看该作者 道具 举报

6#
发表于 2015-5-10 23:29:29
How to connect to ASM instance from a remote client (Oracle Net) (Doc ID 340277.1)
APPLIES TO:

Oracle Net Services - Version 10.1.0.4.0 and later
Oracle Database - Enterprise Edition - Version 9.2.0.8 to 11.1.0.6 [Release 9.2 to 11.1]
Enterprise Manager for Oracle Database - Version 10.2.0.3 and later
Enterprise Manager Base Platform - Version 10.2.0.4 and later
Information in this document applies to any platform.
Checked Currency on 18-Oct-2014
GOAL

Connecting to ASM instance remotely using Oracle Net and tools like SQL*Plus.

This note will resolve help resolve the following errors when trying to connect to an ASM isntance remotely

ORA-12505 TNS:listener could not resolve SID given in connect descriptor
ORA-12541: TNS:no listener
ORA-15000: command disallowed by current instance type
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
ORA-1031:   insufficient privileges

SOLUTION

This solution cannot be accomplished using Network Manager (GUI)

The solution is to
   * Edit the listener.ora on ASM server
   * Edit the tnsnames.ora on the client
   * Setup your remote login password for your ASM instance on the ASM server
   * Set your SYS password using ORAPWD for the ASM instance
   * Use the properly formatted connect string to connect with your tool

1) Edit the listener.ora on ASM server

   a) Logon to the ASM/Database server

   b) Locate your listener.ora (typically located in the $ORACLE_HOME/network/admin)

   c) Add a SID_LIST_LISTENER entry for your ASM instance (see example below)

EXAMPLE


SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
         (SID_NAME = +ASM)
         (ORACLE_HOME = c:\oracle\app\product\11.1.0\db_1)
      )
   )

   d) Stop the listener


lsnrctl stop

   e) restart the listener


lsnrctl start


2) Edit the tnsnames.ora on the client

   a) Logon to the client machine that will be used to connect to the ASM instance
          NOTE: the client machine can also be the ASM/Database server (ie for DBCONTROL)

   b) Locate your tnsnames.ora (typically in the $ORACLE_HOME/network/admin)

   c) Add an entry (tnsalias) for your ASM instance (see example)

EXAMPLE



ASM =
   (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = kbcook-1)(PORT = 1521))
      (CONNECT_DATA =
         (SERVER = DEDICATED)
         (SID_NAME = +ASM)
         (UR=A)
      )
   )

3) Setup your remote login password for your ASM instance on the ASM server

   a) Logon to the ASM/Database server

   b) Locate the parameter file for your ASM instance (typically $ORACLE_HOME/dbs/init+ASM.ora [unix] or $ORACLE_HOME/dbs/init+ASM.ora [windows] )

   c) Edit the parameter file and add

         remote_login_passwordfile = exclusive ... for stand alone ASM setups
         remote_login_passwordfile = shared ... for ASM setups that also use Real Application Cluster (RAC)
  
   d) Save the file

   NOTE: It may be required that an PFILE be created from an SPFILE in order to be able to edit the file properly ... once the line have been added ... the process can be reversed

                 For more details Note 249664.1 Pfile vs SPfile ... may be used

4) Set your SYS password using ORAPWD for the ASM instance

   a) Logon to the ASM/Database server

   b) Locate your orapw<sid> file for your ASM instance (typically $ORACLE_HOME/dbs/orapw+ASM)

   c) Rename the file to orapw<sid>.old
  
   d) Run orapwd to reset the password (see example below)

EXAMPLE


mv "orapw+ASM" "orapw+ASM.old"
orapwd file=orapw+ASM password=kbcook

5) Use the properly formatted connect string for your tool

Connnect to the ASM instance using the password (#4 above) and the tnsalias (#2 above)

EXAMPLES


C:\oracle\app\product\11.1.0\db_1\BIN\SQLPLUS.EXE "sys/kbcook@asm as sysdba"

<OR>

sqlplus "sys/kbcook@asm as sysdba"

<OR>

sqlplus "sys@asm as sysdba" ... then supply the password when prompted

回复 只看该作者 道具 举报

7#
发表于 2015-5-12 19:33:54
Maclean Liu(刘相兵 发表于 2015-5-10 14:13
ASM本身的维系不依赖于ASM对应注册到的监听。

那是否就是说  数据库访问ASM 是通过 connect into the ASM instance using a bequeath connection。
而不依赖ASM的监听。
这样理解对吗?

回复 只看该作者 道具 举报

8#
发表于 2015-5-13 11:21:46
etl2007 发表于 2015-5-12 19:33
那是否就是说  数据库访问ASM 是通过 connect into the ASM instance using a bequeath connection。
而 ...

数据库与ASM之间的通讯 不依赖于asm相关监听

回复 只看该作者 道具 举报

9#
发表于 2015-12-2 15:11:25
数据库不是连入asm的监听去存数据的,asm只是个管理底层存储的实例而已。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-17 11:49 , Processed in 0.050518 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569