涂抹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_base\oradata\sid_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\network\admin\listener.ora
# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools. SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl) #其中GLOBAL_DBNAME不是必需的除非使用HOSTNAME做数据库连接
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
) LISTENER = #监听器的名字,一台数据库可以有不止一个监听器
(DESCRIPTION = #再向下面是监听器监听的协议,ip,端口等,这里使用的tcp1521端口,并且使用的是主机名
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname1)(PORT = 1521))
) ADR_BASE_LISTENER = D:\app\Administrator
关于监听程序的说明:接受远程对数据库的接入申请并转交给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:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.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
涂抹Oracle笔记1-创建数据库及配置监听程序的更多相关文章
- 新建Oracle数据库时,提示使用database control配置数据库时,要求在当前oracle主目录中配置监听程序
新建一个oracle数据库时,当提示使用database control配置数据库时,要求在当前oracle主目录中配置监听程序等字样的时候,问题是那个监听的服务没有启动,解决方法如下: 打开cmd命 ...
- Oracle数据库配置监听程序
最近在学习Oracle数据库,从安装到配置监听程序基本靠百度... 不得不说百度真的很nice!!! 下面是我的Oracle服务端(PL/SQL Developer)出现的监听程序的问题及我解决的方法 ...
- oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序
15511477451 原文 oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序? 环境:win7 64位系统.oracle11g数据库 问题描述:在win7 64位系统 ...
- oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案
oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案 问题描述: 1. lsnrctl start.stop.非常慢,出现卡顿现象: 2. 执行lsnrc ...
- ORACLE telnet 1521 不通及ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务的解决
服务器上安装了oracle11g , 防火墙上已经增加1521 入站规则.但是内网客户端配置好了TNS无法连接.telnet 1521 不通. 需要在服务器上\product\10.2.0\db_1\ ...
- Oracle11g 创建数据库中问题处理(必须运行Netca以配置监听程序)
这两天学习<OCP/OCA认证考试指南>,要创建新的数据库,因为此前我的电脑上已经被折腾了好久的Mysql 和oracle10g ,所以可能导致很多环境都变了,创建数据库的过程中出现了一些 ...
- 涂抹Oracle笔记2:数据库的连接-启动-关闭
一.数据库的连接sqlplus <username>[/<password>][@<connect_idertifier>]|/[as sysdba| as sys ...
- 使用database control配置数据库时 要求在当前oracle主目录中配置监听程序
1:配置本地的环境变量 打开cmd命令界面 C:\Users\gechong>lsnrctl start 这时候报适配器错误 2.在cmd中输入 tnslsnr命令
- 解决:python 连接Oracle 11g 报错:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
其次,将查询到的service_name替换sid即可:conn=cx_Oracle.connect('hr/admin@localhost:1521/EE.oracle.docker')
随机推荐
- .net中的特性
本文来之:http://hi.baidu.com/sanlng/item/afa31eed0a383e0e570f1d3e 在一般的应用中,特性(Attribute,以称为属性)好像被使用的不是很多. ...
- C#编写Windows服务程序图文教程(转载)
Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...
- AndroidAnnotations框架配置
如今Android Studio的普及,Android开发基本要舍弃Eclipse了,最近使用AndroidAnnotations 注解框架的时候,找了些资料慢慢整出来了,在这给大家简单分享一下: 首 ...
- 基于webrtc的多人视频会话的demo运行程序
服务端程序: 该服务程序为windows平台下的程序,使用libevent书写,并集成了UDP的中转程序.(该服务器程序不能和客户端程序运行在同一台PC机电脑,不然服务器程序和客户端程序会抢占同一UD ...
- hdu 5671 矩阵变换
Matrix Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- validatebox验证框架rules
项目前端使用JQuery easyui框架,验证使用插件validatebox,验证方法如下: <input name="test" type="text" ...
- linux修改密码
情景:Linux 服务器上用户的密码被服务器管理员发现太过简单,需要重置密码.处理时为了方便记忆,就直接使用普通用户登录,修改密码时,在原密码的基础上增加一串特定的数字,结果提示不通过.例如出现错误提 ...
- python产生随机名字
用到random.choice(序列) 在一个序列中随机选取一个值 import random as r a1=['张','金','李','王','赵'] a2=['玉','明','龙','芳','军 ...
- 实验八 sqlite数据库操作
实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016年5月3日 实验项目名称 SQLite数据库操作 实验地点 S30010 实验类型 □验证型 √设计型 □综合型 ...
- 使用Discuz!自带参数防御CC攻击以及原理,修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法
这部份的工作,以前花的时间太少. 希望能产生一定的作用. http://www.nigesb.com/discuz-cc-attacker-defence.html http://bbs.zb7.co ...