zoukankan      html  css  js  c++  java
  • 涂抹Oracle笔记1-创建数据库及配置监听程序

    一、安装ORACLE数据库软件及创建实例
    OLTP:online transaction processing
    指那些短事务,高并发,读写频繁的数据库系统。--DB_BLOCK_SIZE通常设置较小。
    OLAP:online analysis processing
    指那些处理长事务,低并发,多读少写的数据库系统。---DB_BLOCK_SIZE通常设置较大,如32K.

    ASM:automatic storage management
    自动存储管理系统,独立于操作系统的一种存储管理系统,直接通过操作系统看不到存储的数据。

    Raw Device:裸设备
    没有文件系统的存储设备。如新的硬盘,没有分区或者不分区,没有格式化直接挂到操作系统上使用。

    oracle数据文件默认存储位置:$Oracle_baseoradatasid_name目录下

    OMF:Oracle Manage File
    Oracle管理文件,在创建数据库如果选择该种文件路径方式,在创建表空间数据文件、控制文件、日志文件时就不需要指定位置和文件 名。oracle会根据一些初始化参数的设置自动
    分配和命令,通常和ASM搭配使用。

    oracle安装过程中的内存参数初始化:
    如果没有特殊用途一般选择典型或是定制自动管理内存。
    SGA对应参数:SGA_TARGET PGA对应参数:PGA_TARGET
    对于SGA,PGA与系统内存三者之间的关系,有一个相对通用的计算规则:
    对于OLTP数据库,SGA=系统内存x70%x80%,PGA=SGAx(10%~20%)
    对于OLAP数据库,SGA=系统内存x80%x60%, PAG=SGAx(45%~65%)
    对于32bit平台,默认情况下SGA最大可用内存为1.7GB。
    共享池:用来存放Library Cache,编译过的SQL,PLSQL等内容。一般在300至500MB,对应初始化参数:SHARED_POOL_SIZE
    缓冲区高速缓存:数据库中的数据从硬盘读出来就存在这里,该值越大越好,对应参数:DB_CACHE_SIZE
    Java池:如果数据库没有java_procedure或者未选择Oracle_JVM组件,该值可设置为0,一般不需要设置太大,对应参数JAVA_POOL_SIZE
    大型池:主要应用于直接路径导入导出、RMAN备份等。一般设置为100至200MB,对应参数:LARGE_POOL_SIZE

    指定数据库字符集:
    一般选择从字符集列表中选择--->ZHS16GBK-GBK15位简体中文。否则有可能出现乱码。

    专用服务器
    每一个连接到Oracle数据库的用户进程都有一个专用的服务器进程为其提供服务,直到用户进程断开连接。各个进程间互相独,互不影响。这种模 式比较适合OLAP系统,即少量用户
    连接,长时间运行的应用。
    共享服务器
    是指oracle始终保持一定数量的服务器进程,用户进程连接时首先连接到服务器的一个调度进程,由调度进程为其分配服务器进程,这样只有少量的服务器进程就能为大量用户进程提供
    服务。这种模式比较适合OLTP系统。如网站这种高并发、大访问量的需求,服务器无法同时提供太多进程以供连接。实际上大型应用中均有中间件来提供独立的连接池服务,因此大多选择专
    用服务器模式。

    二、配置监听
    1、服务器端创建监听服务--对应listener.ora文件
    windows下直接在程序中打开Net Configguration Assistant工具进行配置
    -----对于windows服务器,NETCA工具配置完后会在服务管理器中会自动创建新的监听服务项,并自动启动。如:OracleOraDb11g_home1TNSListener
    linux环境下以root登录图形界面,切换到oracle用户,执行netca,即可调出Net Configguration Assistant。操作步骤跟windows环境下一致。

    2、服务器端使用Net Manager配置监听服务--配置信息保存于listener.ora文件中
    即配置监听程序应该监听哪些数据库实例。
    windows下直接在程序中打开Net Manager工具进行配置
    linux环境下以root登录图形界面,切换到oracle用户,执行netmgr,即可调出Net Manager工具

    Net Manager配置的监听信息保存于这个文件中:$ORACLE_HOME etworkadminlistener.ora 

    # listener.ora Network Configuration File: D:appAdministratorproduct11.2.0dbhome_1NETWORKADMINlistener.ora
    # Generated by Oracle configuration tools.
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)  #其中GLOBAL_DBNAME不是必需的除非使用HOSTNAME做数据库连接
          (ORACLE_HOME = D:appAdministratorproduct11.2.0dbhome_1)
          (SID_NAME = ORCL)
        )
      )
    
    LISTENER = #监听器的名字,一台数据库可以有不止一个监听器
      (DESCRIPTION = #再向下面是监听器监听的协议,ip,端口等,这里使用的tcp1521端口,并且使用的是主机名
        (ADDRESS = (PROTOCOL = TCP)(HOST = hostname1)(PORT = 1521))
      )
    
    ADR_BASE_LISTENER = D:appAdministrator

    关于监听程序的说明:接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。所有监听只在服务器端配置。listener.ora文件也只在服务器端存在。

    3.客户端的配置:tnsnames.ora

    这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES时,才会尝试使用这个文件。

    # tnsnames.ora Network Configuration File: D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN	nsnames.ora
    # Generated by Oracle configuration tools.
    
    RUSKY =  #客户端的这个名字可以随便
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = hostname1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )

    4.sqlnet.ora文件

    sqlnet.ora可以删除,这样在oracle客户端连接数据库的时候,默认采用tnsnames.ora中的配置。 

    # This file is actually generated by netca. But if customers choose to 
    # install "Software Only", this file wont exist and without the native 
    # authentication, they will not be able to connect to the database on NT.
    SQLNET.AUTHENTICATION_SERVICES = (NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES)

    例如我们客户端输入
    sqlplus sys/rusky123@rusky
    假如我的sqlnet.ora是下面这个样子
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
    那么,客户端就会首先在tnsnames.ora文件中找rusky的记录.如果没有相应的记录则尝试把rusky当作一个主机名,通过网络的途径去解析它的 ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这里rusky并不是一个主机名
    如果我是这个样子
    NAMES.DIRECTORY_PATH= (TNSNAMES)
    那么客户端就只会从tnsnames.ora查找rusky的记录,并且找到主机名,端口和service_name,如果listener进程没有问题的话,建立与listener进程的连接。根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。这时候网络连接已经建立,listener进程的历史使命也就完成了。

    5、监听的启动和停止
    windows下可直接启停相应的服务。
    linux环境和WindowsCMD界面可用监听命令:lsnrctl stop/start/status/version/reload/help/save_config/services/change_password

  • 相关阅读:
    设备树实践
    设备树实例解析
    设备树语法
    设备树基本概念
    设备树中#address-cells和#size-cells作用
    Linux设备驱动详解 宋宝华 硬件基础
    jffs2镜像制作
    ltp-ddt eth_iperf_tcp iperf dualtest遇到的问题
    shell 函数传递参数的几种方式
    windows logstash配置
  • 原文地址:https://www.cnblogs.com/rusking/p/4116271.html
Copyright © 2011-2022 走看看