文档库 最新最全的文档下载
当前位置:文档库 › 如何区分Oracle的数据库,实例,服务名,SID

如何区分Oracle的数据库,实例,服务名,SID

如何区分Oracle的数据库,实例,服务名,SID
如何区分Oracle的数据库,实例,服务名,SID

什么是数据库,其实很简单,数据库就是存储数据的一种媒介。比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种。第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Ora cle数据库的,不能作为别的用途。这样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格式。当然还可能有别的形式,比如网络什么的。不过我们最常用的还是文件格式的,在文件格式中,数据库指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。

而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块。在Oracle中,我们可以新建一个Oracle的Insta nce,这个时候虽然有了进程还有SGA等一系列的内存快,但是这个时候并没有把数据库文件读取进来。所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中,这个时候的数据库才可以让我们真正的开始访问操作。

所以说,数据库的应用如果想实现,数据库和数据库Instance是缺一不可的,如果只有数据库的那些文件,那么,只能代表数据在这个文件中,但是我们无法直接进行操作。而如果只有数据库Instance,那么我们虽然可以急性操作,但是也不知道操作哪些数据,操作生成的数据也无法保存等等。所以,当一个Or acle Instance真正Load了一个Oracle Database了以后,数据库才可以被我们使用。

在这里要注意一点的是,Oracle的实例在启动以后,只能load一次数据库,如果想把数据库与Instance断开,然后再重新挂在一个数据库Instance,那么就需要你首先把数据库Instance进程结束,然后重新建立这个instance的一个进程,再load另外一个数据库。否则肯定要抛除ORA-16169错误,说数据库已经被打开。因为一个数据库Instance在其生存期中最多只能load和打开一个instance.

刚接触ORACLE的人肯定会对实例和数据库感到困惑,实例到底代表些什么?为什么会有这个概念的出现?

ORACLE实例= 进程+ 进程所使用的内存(SGA)

实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态!

数据库= 重做文件+ 控制文件+ 数据文件+ 临时文件

数据库是永久的,是一个文件的集合。

ORACLE实例和数据库之间的关系

1. 临时性和永久性

2. 实例可以在没有数据文件的情况下单独启动startup nomount , 通常没什么意义

3. 一个实例在其生存期内只能装载(alter database mount)和打开(alter database open)一个数据库

4. 一个数据库可被许多实例同时装载和打开(即RAC),RAC环境中实例的作用能够得到充分的体现!

下面对实例和数据库做详细的诠释:

在Oracle领域中有两个词很容易混淆,这就是“实例”(instance)和“数据库”(database)。作为Oracle术语,这两个词的定义如下:

数据库(database):物理操作系统文件或磁盘(disk)的集合。使用Oracl e 10g的自动存储管理(Automatic Storage Management,ASM)或RA W分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。

实例(instance):一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。

这两个词有时可互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!稍后就会介绍这样的一个例子。

是不是更糊涂了?我们还会做进一步的解释,应该能帮助你搞清楚这些概念。实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件)。在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过来也成立:一个数据库上只有一个实例

对其进行操作。不过,Oracle的真正应用集群(Real Application Clusters,RAC)是一个例外,这是Oracle提供的一个选项,允许在集群环境中的多台计算机上操作,这样就可以有多台实例同时装载并打开一个数据库(位于一组共享物理磁盘上)。由此,我们可以同时从多台不同的计算机访问这个数据库。Ora cle RAC能支持高度可用的系统,可用于构建可扩缩性极好的解决方案。

实例就是治理相关库的内存结构的名字(由SGA、PGA、服务器进程、用户进程、后台进程等组成)

数据库就是实际的磁盘上的文件(数据文件、日志文件、控制文件等),负责保存数据,但由对应的实例来操作它的数据

服务名就是对外公布的名称,为网络监听服务

其实,在我们传统的概念里,数据库是一个统称的名字,在Oracle中,你可以把“数据库”理解成一个大概念,也要把它理解成一个小概念

1、一个Oracle数据库系统中可以同时安装几个数据库,每一个数据库对应一个唯

一的实例,但是OPS系统除外,可以多个实例同时对一个数据库操作,称为并行服务

2、只是一个名字,SID即是INSTANCE_NAME,SERVICE_NAMES主要用在监听器中,

为了方便吧,有些是为了传统习惯的延续,有些是为了更方便的使用

3、NET EASY CONFIG操纵的应该是主机字符串,是为客户端服务的

一个数据库可以对外公布多个服务名(SERVICE_NAMES)

一个客户端也可以用多个主机字符串连接到同一个数据库服务器上

4、一个OS上可以装多个Oracle数据库(小的概念),每个库可以对外公布多个服

务名,都通过init.ora和listener.ora来实现

今天运气真好,竟碰到了高手。

我得抓紧时间。

那么再问:

假如按你的解释,主机字符串,数据库服务名,数据库别名应该是同一个概念吧?不太一样

service_names是对外的服务名,是服务器端使用的,一个库可以设置多个对外服

务名,以实现不同的目的

“主机字符串”的叫法主要在SQL*Plus中使用,是在客户端使用,

“数据库别名”主要用在一些开发工具连接Oracle服务器时使用,是通俗叫法还有像配置ODBC时的Data Source的Service Name,

它们都是一个道理,指向的都是客户端tnsnames.ora文件中的一小段文本

差不多明白了。

但我还要问:

1。在SQL/PLUS中的登陆中,用USER/PWD@***,那么,这个***是什么呢?是主机字

符串还是服务名呢?

2。在设置ODBC时的用户和密码是不是一定要是ORACLE中的合法用户和密码?

3。若要向ORACLE代理商购买ORACLE,是以用户数来算钱的。

那么,这个“用户”跟我们在ORACLE中通过CREATE USER USERNAME I DENTIFIED

BY PASSWord创建的用户是一个概念吗?若不是一样的话,他们有什么区别?还有,ORCLE是通过什么机制来控制用户的最大数量的?要是我买了8个用户的,我

能开12个用户吗?

能给我的EMAIL吗?

1、主机字符串

2、是的,但不输也行,引用ODBC名时再给出也可以

3、不是,“用户数”指的是并发访问用户数

(我理解是同时间访问同一个内存地址的进程数)

买8个用户,建几十、上百个用户也没问题,只要峰值达不到并发数就可以了(这里的用户数不是Oracle内部的自己建立的那种用户,应该是进程数)(多台机器,每个Oracle内部用户多次调用,开多个进程)

打个比方,你的名字叫小明,但是你有很多外号。你父母叫你小明,但是朋友都叫你的外号。

这里你的父母就是oracle实例,小明就是sid,service name就是你的外号。

sid用于实例区分各个数据库,service name用于外部链接。

对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库。这两

概念不同于SQL sever下的实例与数据库,当然也有些相似之处。只是在SQL server我们根本不需要花费太

多的精力去搞清SQL实例和数据库,因为它简单易于理解。下面简要说明一下SQL实例、数据库,更多的是讲

述Oracle下的实例及数据库。

一、SQL server中的实例与数据库

1.SQL中的实例指的是一个SQL server服务器上仅有一个缺省实例。缺省实例名即为机器名ServerName

(或IP),如果在同一台机器上再安装SQL server,我们可以对实例命名如ServerName/InstanceName。

即一台SQL server服务器上可以存在多个不同的实例。一个实例下可以存在多个不同的数据库。

对于不同实例下的数据库的访问,使用ServerName/InstanceName:P ortNo即可实现访问,缺省实例

为ServerName:PortNo。

2.对不同的实例配置IP地址,相关的访问协议,端口等等。

3.实例的可访问性需要启动该实例对应的相关服务。此处需要注意的是实例名和实例的服务名并不是相

同的。缺省的实例的服务名为MSSQLSERVER,而命名实例的服务名为MSSQL$INSTANCE_NAME。

4.实例的相关功能性的设置可以通过外围应用配置来实现。

5.上述完成后,即可实现对数据库的访问。

二、Oracle 实例

一个Oracle Server由一个Oracle实例和一个Oracle数据库组成。

即:Oracle Server = Oracle Instance + Oracle Database

Oracle实例

包括了内存结构(SGA)和一系列后台进程(Background Process),两者合起来称为一个Oracle实例

即:Oracle Instance = SGA + Background Process

Oracle内存结构

包含系统全局区(SGA)和程序全局区(PGA)

即Oracle Memory Structures = SGA + PGA

SGA由服务器和后台进程共享

PGA包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反,PGA是

只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收。即由服务器进程产生。

1.SGA

系统全局区SGA,SGA = 数据缓冲区+ 重做日志缓冲区+ 共享池+ 大池+ Java 池+ 流池

系统全局区是动态的,由参数SGA_MAX_SIZE决定。

查看当前系统的SGA大小:show parameter sga_max_size;

要修改:alter system set sga_max_size=1200m scope=spfile;

因为实例内存的分配是在数据库启动时进行的,所以要让修改生效,要重启数据库。

ORACLE 10G 引入了ASMM(自动共享内存管理),DBA只需设置S GA_TARGET,ORACLE就会

自动的对共享池、JAVA池、大池、数据缓冲区、流池进行自动调配。取消自动调配就是

sga_target设为。

数据缓冲区(Database buffer cache):存储从数据文件中获得的数据块的镜像

大小由db_cache_size 决定

查看:show parameter db_cache_size;

设置:alter system set db_cache_size=800M;

重做日志缓冲区(Redo log buffer):对数据库的任何修改都按顺序被记录在该缓冲,然后由LGWR进程将

它写入磁盘,大小由LOG_BUFFER决定

共享池(Shared pool):是SGA中最关键的内存片段,共享池主要由库缓存(共享SQL区和PL/SQL区)和数据

字典缓存组成,它的作用是存放频繁使用的sql,在有限的容量下,数据库系统根据一定的算法决

定何时释放共享池中的sql。

库缓存大小由shared_pool_size 决定

查看:show parameter shared_pool_size

修改:alter system set shared_pool_size=120m;

数据字典缓存:

存储数据库中数据文件、表、索引、列、用户和其它数据对象的定义和权限信息

大小由shared_pool_size 决定,不能单独指定

大池(Large pool):是一个可选的区域,用于一些大型的进程如Oracle的备份恢复操作、IO服务器进程等

Java 池:该程序缓冲区就是为Java 程序保留的。如果不用Java程序没有必要改变该缓冲区的默认大小

流池(Stream pool):被Oracle流所使用

2.PGA

是为每个用户进程连接ORACLE数据库保留的内存

进程创建时分配,进程结束时释放,只能被一个进程使用

PGA包括了以下几个结构:

()排序区

()游标状态区

()会话信息区

()堆栈区

由参数:pga_aggregate_target 决定

3.几类进程:用户进程,服务器进程,后台进程,其它可选进程

用户进程

在用户连接数据库产生,请求oracle服务器连接,必须要先建立一个连接,不会直接和oracle服务器连接

服务器进程

当连接实例并建立用户会话时产生,独立服务器或者提供共享服务器都能产生

后台进程

维持物理和内存之间的联系,用来管理数据库的读写,恢复和监视等工作。

Server Process主要是通过他和user process进行联系和沟通,并由他和user process进行数据的交换。

在Unix机器上,Oracle后台进程相对于操作系统进程,也就是说,一个Oracle后台进程将启动一个操作

系统进程。

在Windows机器上,Oracle后台进程相对于操作系统线程,打开任务管理器,我们只能看到一个

ORACLE.EXE的进程,但是通过另外的工具,就可以看到包含在这里进程中的线程。

必须要有的后台进程

DBWn -->数据库写进程

PMON -->程序监控进程

SMON -->系统监控进程

LGWr -->日志写进程

CKPT -->检查点进程

可选进程:

ARCN 归档进程

RECO

Snnn

pnnn

DBWn(数据库写进程)

负责将修改过的数据块从数据库缓冲区高速缓存写入磁盘上的数据文件中

写入条件:

发生检查点

脏缓存达到限制

没有自由的缓存

超时发生

表空间离线

表空间只读

表被删除或者截断

开始备份表空间

可以修改数据写进程的数量

alter system set db_writer_processes=3 scope=spfile;

PMON(程序监控进程)

清除失效的用户进程,释放用户进程所用的资源。

如PMON将回滚未提交的工作,释放锁,释放分配给失败进程的SGA 资源。

清除失败的进程

回滚事务

释放锁

释放其他资源

SMON(系统监控进程)

检查数据库的一致性,当启动失败时完成灾难恢复等

实列恢复时,前滚所有重做日志中的文件,打开数据库为了用户能访问,回滚未提交的事务,释放临时表空间

清除临时空间,聚结空闲空间,从不可用的文件中恢复事务的活动,OPS 中失败节点的实例恢复

清除OBJ$表

缩减回滚段

使回滚段脱机

LGWr(日志写进程)

将重做日志缓冲区中的更改写入在线重做日志文件

条件:

提交的时候(commit)

达到/满

每隔秒

有大于M 重做日志缓冲区未被写入磁盘

DBWR需要写入的数据的SCN号大于LGWR 记录的SCN号,DBWR 触发LGWR写入

超时

在dbwr进程些之前写日志

CKPT(检查点进程)

DBWR/LGWR的工作原理,造成了数据文件,日志文件,控制文件的不一致,CKPT进程负责同步数据文件,

日志文件和控制文件

CKPT会更新数据文件/控制文件的头信息

条件:

在日志切换的时候

数据库用immediate ,transaction ,normal选项shutdown数据库的时候

根据初始话文件LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TI MEOUT、FAST_START_IO_TARGET 的设置的数值来确定

用户触发

ARCN(归档进程)

在每次日志切换时把已满的日志组进行备份或归档

条件:

数据库以归档方式运行的时候

RECO

负责解决分布事物中的故障。Oracle可以连接远程的多个数据库,当由于网络问题,有些事物处于悬而未决的状态。

RECO进程试图建立与远程服务器的通信,当故障消除后,RECO进程自动解决所有悬而未决的会话。

Server Process(服务进程)

分为专用服务进程(Dedicated Server Process)和共享服务进程(Multi Treaded Server Process)

专用服务进程:一个服务进程对应多个用户进程,轮流为用户进程服务。

用户进程(User Process)、服务进程(Server Process)、后台进程(Backgr ound Processes)的启动

用户进程: 数据库用户请求Oralce server会话时被启动

服务进程:当用户会话启动后,连接到Oracle实例时该进程被启动

后台进程:当Oracle实例被启动时,启动相关的后台进程

三、Oracle 数据库

一系列物理文件的集合

包括控制文件、数据文件、联机日志文件、参数文件、密码文件等

即:Oracle Database = Controlfile + datafile + logfiel + spfile +..

1.控制文件(controlfile)

数据库的名字,检查点信息,数据库创建的时间戳

所有的数据文件,联机日志文件,归档日志文件信息

备份信息等

2.数据文件(datafile)

包含了用户和应用程序的所有数据

--查看数据文件信息

3.联机日志文件

记录了用户对数据库的所有操作,一个数据库中至少要有两个日志组文件,每个日志组中至少有一个日志成员

日志组中的多个日志成员是互为镜相关系

4.归档日志文件

Oracle可以运行在两种模式之中,归档模式和非归档模式。在归档模式中,为了保存用户的所有修改,

在联机日志文件切换后和被覆盖之间系统将他们另外保存成一组连续的文件系列,该文件系列就是归档日志文件。

用户恢复意外情况出现的数据丢失、异常等。

5.参数文件(pfile和spfile)

initSID.ora或init.ora文件,通常位于:$ORACLE_BASE/admin// pfile

初始化文件记载了许多数据库的启动参数,如内存,控制文件,进程数等,在数据库启动的时候加载(Nomount时加载)

6.其他文件

密码文件:用于Oracle 的具有sysdba权限用户的认证.

告警日志文件:报警日志文件(alert.log或alrt.ora),记录数据库启动,关闭和一些重要的出错信息

查看路径:select value from v$PARAMETER where name =‘ba ckground_dump_dest’;

7.数据库逻辑组织结构

表空间、段、区、块

一个数据库由一个或多个表空间组成,一个表空间只能属于一个数据库

一个表空间由一个或多个多个数据文件组成,一个数据文件只能属于一个表空间

一个数据文件由一个或多个操作系统块组成,每一个操作系统块只能数以一个数据文件

一个表空间可以包含一个或多个段,一个段只能属于一个表空间

一个段由一个或多个区组成,每一个区只能属于一个段

一个区由一个或多个Oracle 块组成,每一个Oracle块只能属于一个区一个区只能属于一个数据文件,数据文件的空间可以分配到一个或多个区一个Oracle 块由一个或多个操作系统块组成,一个操作系统块是一个Ora cle块的一部分

四、Oracle实例和Oracle数据库的关系

1.一个实例能够装载及打开仅仅一个数据库

2.一个数据库能够被多个实例装载并打开

3.实例与数据库的对应关系是一对一或多对一的关系

ORACLE数据库与实例的关系

ORACLE数据库与实例的关系 1 数据库名 1.1 数据库名的概念 数据库名(db_name)就是一个数据库的标识,就像人的身份证号一样。如果一台机 器上装了多个数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。 数据库名在$Oracle_HOME/admin/db_name/pfile/init.ora(或 $ORACLE_BASE/admin/db_name/pfile/init.ora或$ORACLE_HOME/dbs/SPFILE<实 例名>.ORA)文件中 ########################################### # Database Identification ########################################### db_domain="" db_name=orcl 在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是 以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。 1.2 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的(注意这些时候不能使用sid,还有alter database时都是使用数据库名)。 有很多Oracle安装文件目录是与数据库名相关的,如: winnt: F:\oracle\product\10.2.0\oradata\DB_NAME\...

windows环境下配置连接oracle数据库的方法及步骤

配置oracle连接 怎么在windows环境下配置连接oracle数据库? 步骤如下: 一、安装PL/SQL: 1、获取PL/SQL安装包;(PL/SQL是连接oracle的客户端) 2、安装PL/SQL; (1)双击PL/SQL安装程序,安装PL/SQL; (2)选择“I Agree”进行安装;

(3)选择安装路径(一般选择默认路径);点击【Next】按钮; (4)默认选择,点击【Next】按钮; (5)默认选择,点击【Finish】按钮,开始安装;

(6)安装进度显示 (7)窗口提示“PL/SQL Developer installed successfully”,安装完成,点击【Close】按钮。

二、配置连接 1、获取oci.dll文件(该文件是用来连接数据库的文件),将该文件及其所在的文件夹放置在一个不含有中文的路径下(如:F:\instantclient); 2、双击打开PL/SQL客户端,点击【Cancel】按钮; 3、跳转到PL/SQL页面,如下图所示。选择【Tool】—>Preferences; 4、按下图进行选择,在“Oracle Home(enpty is autodetect)”栏中选择oci.dll文件所在的目录;在“OCI library(enpty is autodetect)”栏中选择oci.dll文件

5、点击【OK】按钮即可完成 6、退出PL/SQL页面,重新登录。双击PL/SQL客户端,在Oracle Logon窗口中填写数据库的用户名、密码、数据库名和连接方式;点击【OK】按钮即可查询数据库。 完毕!谢谢!

oracle大型数据库简答题题库

共享和专用操作模式的工作过程有什么区别? 在专用服务器操作模式中,Oracle为每个连接到数据库实例的用户进程启动一个专门的服务进程,其用户进程数与服务器进程数的比例为1:1因为在用户进程空闲期间,对应的服务器进程始终存在,数据库的效率比较低。共享服务器操作模式可以实现只运行少量的服务器进程,由少量的服务器进程为大量用户提供服务。在此模式下,数据库实例启动的同时也将启动一定数量的服务进程,在调度进程Dnnn 的调度下位任意数量的用户进程提供服务。 简述oracle的初始化参数文件? 答:在传统上,Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为PFILE)。 简述如何修改初始化参数文件? 答:如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。 简述启动数据库时的状态。 答:开启数据库分成4种状态。SHUTDOWN状态:数据库是关闭的。NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。MOUNT状态:会去读取控制文件。数据库被装载。OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。 简述数据库的各种关闭方式。 答:(1)正常关闭(SHUTDOWN NORMAL):不允许新的USER连进来。(2)事务关闭(SHUTDOWN TRANSACTIONAL):等待所有未提交的事务完成后再关闭数据库(3)立即关闭(SHUTDOWN IMMEDIATE):任何未提交的事务均被回退。(4)终止关闭(SHUTDOWN ABORT):立即终止当前正在执行的SQL语句,任何未提交的事务 页脚内容1

Oracle数据库管理与应用实例教程(刘志成)课后习题及答案

【填空题】 1.默认情况OEM的URL地址是https://sd04:1158/em(其中sd04为机器名) 2.Oracle9i发布于2001,i代表Internet,11G发布于2007,g代表grid(网格) 3.在oracle内存结构中,保存正在执行或可能执行的代码的区是代码区 4.在oracle进程结构中,用于实现进程监控功能的进程是PMON 1.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、重做日志文件、控制文件。 2.一个表空间物理上对应一个或多数据文件 3.在oracle的逻辑存储结构中,根据存储数据的类型,可以将段分成为数据段、索引段、回滚段、LOB段和临时段。 1.在设计表时,对于邮政编码最适合的数据类型是CHAR 2.在alter table语句中,如果要删除列,可以通过指定DROP COLUMN关键字来实现。 3.如果需要在表中插入一批已经存在的数据,可以在insert语句中使用SELECT语句。 4创建一个update语句来修改goods表中的数据,并且把每一行的t-id值都改成15,应该使用的SQL语句是UPDATE SCOTT.Goods SET t_ID=’15’ 5.使用DESC命令可以显示表的结构信息 6.两个表的主关键字和外关键字的数据应该对应一致,这是属于引用完整性,通常可以通过主键和外键来实现。 7.UNIQUE约束通过确保在列中不输入重复值保证一列或多列的实体完整性。 1.在select语句中选择满足条件的记录使用where关键字,分组之后进行选择使用having 关键字 2.用来返回特定字段中所有值得总和的聚合函数是SUM 3.编写查询语句时,使用%通配符可以匹配多个字符。 18.集合运算符UNION实现集合的并运算,操作符INTERSECT实现了对集合的交运算,而MINUS则实现了减运算 19.如果要定义只读的视图,可以在创建视图时使用READ ONLY关键字 20.删除视图的PL\SQL语句是DROP VIEW [用户方案.]视图名 21.在使用CREATE INDEX创建索引时,使用BITMAP关键字可以创建位图索引 22.聚集(Cluster)是存储表数据的可选择的方法。一个聚集是一组表,将具有同一公共列值的行存储在一起,并且它们经常一起使用,表中相关的列称为聚集键 23.在为表中某个列定义PRIMARY KEY约束PK_ID后,则系统默认创建的索引名为PK_ID 24.如果表中某列的基数比较低,则应该在该列上创建反向索引 25.如果要获知索引的使用情况,可以通过查询DBA_INDEXES视图,而要获知索引的当前状态,可以查询INDEX_STATS视图。 26. 在Oracle的PL/SQL程序中,除了可以使用Oracle规定的数据类型外,还可以使用%TYPE 类型的变量,由系统根据检索的数据表列的数据类型决定该变量的类型,也可以使用%ROWTYPE 类型的变量用来一次存储从数据表中检索的一行数据。 27. SYSDATE函数可以获得当前系统的日期,SUBSTR(s,start,len)函数可以实现从指定的字符串中取指定长度的字符串。 28. 用来变异存储过程的PL/SQL语句是ALTER PROCEDURE,CREATE FUNCTION语句可以用来创建函数。

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实 例。( T )2、Oracle服务器端的监听程序是驻留在服务器上的单独 进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务, 非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不 可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信 息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多 个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文 件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使 用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特 殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字 段列表的末尾。( T )  20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在 结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时, 自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可 以访问多行。( F )

Oracle数据库链接建立技巧与实例讲解

Oracle数据库链接建立技巧与实例讲解 数据库链接(DATABASE LINK)是在分布式环境下,为了访问远程数据库而创建的数据通信链路。数据库链接隐藏了对远程数据库访问的复杂性。通常,我们把正在登录的数据库称为本地数据库,另外的一个数据库称为远程数据库。有了数据库链接,可以直接通过数据库链接来访问远程数据库的表。常见的形式是访问远程数据库固定用户的链接,即链接到指定的用户,创建这种形式的数据库链接的语句如下: CREATE DATABASE LINK 链接名 CONNECT TO 账户 IDENTIFIED BY 口令 USING 服务名; 创建数据库链接,需要CREATE DATABASE LINK系统权限。 数据库链接一旦建立并测试成功,就可以使用以下形式来访问远程用户的表。 表名@数据库链接名 例:在局域网上创建和使用数据库链接。 步骤1:创建远程数据库的服务名,假定局域网上另一个数据库服务名为MYDB_REMOTE。 步骤2:登录本地数据库SCOTT账户,创建数据库链接: CONNECT SCOTT/TIGER@MYDB CREATE DATABASE LINK abc CONNECT TO scott IDENTIFIED BY tiger USING 'MYDB_REMOTE'; 执行结果为: 数据库链接已创建。 查询远程数据库的数据: SELECT * FROM emp@abc; 结果略。 步骤4:一个分布查询: SELECT ename,dname FROM emp@abc e,dept d WHERE e.deptno=d.deptno; 结果略。

JAVA中通过JDBC(THIN方式)连接ORACLE数据库 程序示例

Java中通过jdbc(thin方式)连接Oracle数据库 package com.jdbc.OracleTest; import java.sql.DriverManager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class OracleJdbcConnectionTest{ /** *Java中通过jdbc(thin方式)连接Oracle数据库 *by jarin2008年12月13日 * *@param args */ public static void main(String[]args){ try{ //第一步要Jar包:在oracle安装的目录下,盘 符:\oracle\ora92\jdbc\lib\ojdbc14.jar //加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //连接字符串(协议名:jdbc,子协议名:oracle:thin子名 称:@localhost:1521:oracleDB) String url="jdbc:oracle:thin:@localhost:1521:ora92"; try{ //建立连接 Connection conn=DriverManager.getConnection(url, "scott","1234"); //创建Statement或者是PreparedStatement语句 Statement st=conn.createStatement(); String sqlStr="select ename from emp"; //执行查询 ResultSet rs=st.executeQuery(sqlStr); //遍历结果

实验一-ORACLE数据库的安装、配置与基本操作知识讲解

实验一-O R A C L E数据库的安装、配置与基 本操作

实验一(2学时) oracle数据库的安装、配置与基本操作 实验目的 1、掌握使用OUI安装oracle服务器与客户端; 2、掌握服务器与客户端的基本网络配置; 3、熟悉OEM的基本功能; 4、掌握使用OEM查看oracle服务器的组成及环境参数; 5、掌握使用OEM创建表空间、表; 6、掌握使用OEM启动、关闭oracle服务器; 7、熟悉ORACLE在windows操作系统环境下的物理组成及 Oracle默认的OFA体系结构; 8、熟悉SQL*PLUS环境及常用编辑命令; 第一部分指导――――――――――――――――――――――――――――――――――――――― 练习1:使用OUI安装oracle9i服务器与客户端; 问题 熟悉oracle9i OUI,能够通过OUI安装定制用户需要的oracle组件; 分析

Oracle9i OUI是一个基于JAVA的安装软件(三张光盘),用户通过OUI可以选择性地安装oracle服务器+客户端,单纯的客户端,以及OEM高级应用必须的OMS(oracle manager server)。 解决方案 (1)将Oracle9i第一张安装盘放入光驱->双击setup.exe(自动播放也可) 图1-1 安装欢迎界面 (2)下一步文件定位 路径:安装文件的位置及名称 目标: “名称”: oracle系统文件的存放“路径“的逻辑名称

图1-2 文件定位 (3)下一步可用产品 Oracle datebase9.2.0.1.0: oracle数据库服务器端+客户端Oracle9i management integration9.2.0.1.0: OMS Oracle9i client9.2.0.1.0:oracle数据库客户端 图1-3 可用产品 (4)下一步安装类型

python连接oracle数据库实例

一、首先下载驱动:(cx_Oracle) https://www.wendangku.net/doc/3c1817605.html,/crew/atuining/cx_Oracle/ 不过要注意一下版本,根据你的情况加以选择。 二、安装: 首先配置oracle_home环境变量 执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下。如果是linux,执行 复制代码代码如下: python setup.py build python setup.py install 三、执行一段测试程序: 复制代码代码如下: import cx_Oracle con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world") cursor = con.cursor() cursor.close() con.close() 里边connect中的3个参数从左到右分别是:user, pass, TNS。 那个TNS可以用Oracle客户端工具中的Net Configuration Assistant来配置。 四、具体的cx_Oracle API可以参考: https://www.wendangku.net/doc/3c1817605.html,/crew/atuining/cx_Oracle/html/cx_Oracle.html 五、示例: 复制代码代码如下: >>> import cx_Oracle >>> conn=cx_Oracle.connect ('scott/tiger@oratest') >>> curs=conn.cursor () >>> sql='select * from emp' >>> rr=curs.execute (sql) >>> row=curs.fetchone() >>> row (7369, 'SMITH', 'CLERK', 7902, datetime.datetime(1980, 12, 17, 0, 0), 800.0, None, 20) >>> while row: (ID,NAME)=(row[0],row[1]) row=curs.fetchone ()

在Oracle数据库中连接异种数据源

在Oracle数据库中连接异种数据源 作者:evget - 转载| 时间:2004-7-30 | 点击:2033打印此文章| 字体:大中小 程序运行效果截图: 由于历史的原因,在多数企业都同时存在多个数据库平台,在每个数据库平台上都运行着相关的一套或多套应用。随着单位业务不断扩大,如何在不影响现有应用运行的前提下,快速有效地整合这些分布在单位内部不同数据库平台上的数据,是一个困扰CIO们的问题。面对这一问题,现有解决方案大致可分为以下两种: 1.在应用程序上建立连接不同数据源的数据连接,这样做要求程序员分清哪个连接是对应哪个数据库的,而且如果设计时涉及到存储过程还要按照不同数据库的要求分别编写,加重了程序员的要求。 2.在数据库中设立快照,定时把其他数据源的数据复制到本地数据库,这样虽然解决了前一种方法中不同数据源的问题,但是由于是定时复制,数据不能实时同步,在实时性要求高的应用中这种方法便不能使用。由于上述两种方法都存在一定的缺点,这里介绍一种Oracle提供的解决oracle数据库与异种数据源的连接问题的解决方案—Oracle的异构服务(Heterogeneous Services)。 异构服务 “异构服务”是集成在Oracle 8i数据库软件中的功能,它提供了从Oracle数据库访问其他非Oracle数据库的通用技术。熟悉Oracle的读者都很清楚,Oracle提供通过建立DB Link的方法访问非本地数据库,而“异构服务”提供通过建立DB Link使你能够执行Oracle SQL查询,透明地访问其他非Oracle数据库

里的数据,就像访问Oracle远程数据库一样。“异构服务”分为两种: 1.事务处理服务(Transation Service):通过事务处理服务,使用户在访问非Oracle数据库中支持事务处理功能。 2.SQL服务: 通过SQL服务,使用户直接在Oracle数据库中执行对非Oracle数据库的各种SQL语句。 根据异构服务代理程序的不同,“异构服务”连接方式可以分为透明网关和通用连接两种。 透明网关(Transparent Gateways)透明网关使用Oracle提供的特定网关程序来设置代理,例如连接SQL Server则必须要有SQL Transparent Gateway for SQL Server。 通用连接(Generic Connectivity)通用连接又分为ODBC连接和OLE DB连接两种,其连接方法和透明网关没有本质区别,只不过通用连接是和数据库一起提供的功能,你不需要向Oracle购买相关的透明网关程序。 连接实例 这个实例的应用环境是Oracle 8.1.7,操作系统Windows 2000 Server英文版,采用通用连接的ODBC for SQL Server连接SQL Server 2000中文版。安装步骤如下: 1.安装HS部件。 缺省情况下,HS服务是和Oracle 8.1.7一起安装的,你可以查询SYS用户下是否存在HS_BASE_CAPS 视图,以确认HS部件是否安装,如果没有可以用相关的安装盘进行安装。 2.配置ODBC系统连接字。 在控制面板选择“Data Sources (ODBC)”,在“系统DNS”内配置ODBC for SQL Server连接字(dnsora2sql)。 3.配置tnsnames.ora,它位于ORACLE_HOME\NETWORK\ADMIN。 在这个文件中增加如下代码: Lnk2sql = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1521))) (CONNECT_DATA = (SID = hs4sql) |<服务的SID名称,要和Listener里配置的sid相同) (HS=OK) |< 打开HS服务选项 ) 4.配置listener.ora,它位于ORACLE_HOME\NETWORK\ADMIN。

c++连接oracle数据库经典例子occi

#include #include #include #include using namespace oracle::occi; using std::vector; using namespace std; class conndba { private: Environment *env; Connection *conn; Statement *stmt; public: conndba (string user, string password, string db) { env = Environment::createEnvironment (Environment::DEFAULT); conn = env->createConnection (user, password, db); } ~conndba() { env->terminateConnection(conn); Environment::terminateEnvironment(env); } void insertBind (string s1, string s2, string s3, string s4) { string sqlStmt = "INSERT INTO t_user (userid, username, loginname,createdate) VALUES (:1, :2, :3, :4)"; stmt=conn->createStatement (sqlStmt); try{ stmt->setString (1, s1); stmt->setString (2, s2); stmt->setString (3, s3); stmt->setString (4, s4); stmt->executeUpdate (); cout << "insert - Success" << endl; }catch(SQLException ex) { cout<<"Exception thrown for insertBind"<

oracle实例名,数据库名,服务名等概念区别与联系

oracle实例名,数据库名,服务名等概念区别与联系 数据库oracle服务器archivedatabase多线程数据库名、实例名、数据库域名、全局数据库名、服务名这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。 一、数据库名 什么是数据库名? 数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。格式如下: DB_NAME=myorcl ... 在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME 的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。 有很多Oracle安装文件目录是与数据库名相关的,如: winnt: d:/oracle/product/10.1.0/oradata/DB_NAME/... Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/... pfile: winnt: d:/oracle/product/10.1.0/admin/DB_NAME/pfile/ini.ora Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora 跟踪文件目录: winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/... 另外,在创建数据时,careate database命令中的数据库名也要与参数文件中DB_NAME参数的值一致,否则将产生错误。 同样,修改数据库结构的语句alter database,当然也要指出要修改的数据库的名称。 如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount 方式启动实例,然后以create controlfile命令创建控制文件,当然这个命令中也是指指DB_NAME。 还有在备份或恢复数据库时,都需要用到数据库名。 总之,数据库名很重要,要准确理解它的作用。

Oracle数据库连接

数据库连接 配置文件中节点: <> < "" " " ""> <> 以上是数据库的连接字符串 :连接字符串名 :连接字符串 :本地机:就是数据库名;远程机子:如果在本地装有数据库的客户端则也是数据库名,否则参考网络资源要加一个域。 :用户名 文件 ******************************************************************************* ; ; ; ; ; ; ; ; ; ; ; ; <> 的摘要说明 <> { ; ; [""]; () { } 建立数据库连接对象 <> 建立数据库连接 <> <>返回一个数据库的连接对象<> ()

{ (); ( ) { (); } } ( ) { (()); } ; } 设置对象 <> 设置对象 <> < "">对象<> < "">命令文本<> < "">命令类型<> < "">参数集合<> ( , , , [] ) { ; ; ; ( ) { (); } } 执行相应的语句,返回相应的对象<> 执行相应的语句,返回相应的对象<> < "">语句<> <>返回相应的对象<> ( )

(); { (); (, ); (); (); } ( ) { (()); } ; } 执行相应的语句,返回相应的对象<> 执行相应的语句,返回相应的对象<> < "">语句<> < "">表名<> <>返回相应的对象<> ( , ) { (); { (); (, ); (, ); (); } ( ) { (()); } ; } 执行不带参数语句,返回所影响的行数<>

ORACLE数据库与实例

刚接触ORACLE的人肯定会对实例和数据库感到困惑,实例到底代表些什么?为什么会有 这个概念的出现? ORACLE实例= 进程+ 进程所使用的内存(SGA) 实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态! 数据库= 重做文件+ 控制文件+ 数据文件+ 临时文件 数据库是永久的,是一个文件的集合。 ORACLE实例和数据库之间的关系: 1.临时性和永久性 2.实例可以在没有数据文件的情况下单独启动startup nomount , 通常没什么实际意义 3.一个实例在其生存期内只能装载和打开一个数据库 4.一个数据库可被多个实例同时装载和打开(Real Application Cluster - “真正应用集群”环境) 在Oracle领域中有两个词很容易混淆,这就是“实例”(instance)和“数据库”(database)。 作为Oracle术语,这两个词的定义如下: ? 数据库(database):物理数据库文件的集合 ? 实例(instance):一组Oracle后台进程/线程以及一个共享内存区 注意:这个共享内存区,是由同一个计算机上运行的线程/进程所共享的,它可以维护易失 的、非持久性的内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存 在。实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助 于对实例和数据库划清界线。 Oracle的实例和Oracle数据库,有时可互换使用,不过二者的概念完全不同。实例和数据 库之间的关系是: -数据库可以由多个实例装载和打开 -实例可以在任何时间点装载和打开一个数据库 准确地讲,实际上一个实例在其整个生存期中最多只能装载和打开一个数据库! 实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以操作 数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件)。 在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过 来也成立:一个数据库上只有一个实例对其进行操作。不过,Oracle的真正应用集群(Real Application Clusters)环境是一个例外,这是Oracle提供的一个选项,它允许在集群环境中 的多台计算机上操作,这样就可以有多个实例同时装载并打开一个数据库(位于一组共享物 理磁盘上)。由此,我们可以同时从多台不同的计算机访问这个数据库。Oracle RAC能支持 高度可用的系统,可用于构建可扩缩性极好的解决方案。

Oracle11g数据库基础教程课后习题答案

Oracle11g数据库基础教程 参考答案

第1章Oracle 11g数据库安装与配置1.简答题 (1) 企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。 (2) 常用数据库类型包括事务处理类、数据仓库类以通用类型。其中事务处理类型主要针对具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。事务处理数据库的典型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。对于需要较高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的对某个主题进行复杂查询的应用环境。数据仓库的典型应用有客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的历史数据研究。对于需要对大量数据进行快速访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库是事务处理数据库与数据仓库配置的折衷方案。既可以支持大量并发用户的事务处理,又可以快速对大量历史数据进行复杂的数据扫描和处理。 (3) 数据库名可以由字母、数字、下划线(_)、#和美元符号($)组成,且必须以字母开头,长度不超过30个字符。在单机环境中,可以不设置域名,域名长度不能超过128个字符。Oracle服务标识符(SID)是一个Oracle实例的唯一名称标识,长度不能超过12个字符。(4) ● OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务,是数据库启动 的基础,只有该服务启动,Oracle数据库才能正常启动。(必须启动) ● OracleOraDb11g_home1TNSListener:监听器服务,该服务只有在远程访问数据库时才 需要(无论远程计算机还是本地计算机,凡是通过Oracle Net网络协议连接数据库都属于远程访问)。(必须启动) ● OracleOraDb11g_home1ConfigurationManager:配置Oracle启动时的参数的服务。(非 必须启动) ● OracleOraDb11g_home1ClrAgent:提供对.NET支持的Oracle数据库扩展服务。(非必 须启动) ● OracleJobSchedulerORCL:数据库作业调度服务。(非必须启动) ● OracleDBConsoleorcl:Oracle控制台服务,即企业管理器服务。只有该服务启动了, 才可以使用Web方式的企业管理器管理数据库。(非必须启动) ● OracleVssWriterORCL:是Oracle对VSS提供支持的服务。(非必须启动) ● OracleMTSRecoveryService:是允许数据库充当一个微软事务服务器、COM/COM+对 象和分布式环境下的事务资源管理器的服务。

Oracle 数据库操作实例讲解

Oracle 数据库操作实例讲解 一、数据库系统配置 数据库系统配置主要包括初始化参数配置和网络服务配置。 初始化参数的配置方法有以下几种方式: 1、直接更改初始化参数文件。在ORACLE9i和ORACLE10g中参数文件有两种形式,一种是文本格式,一种是二进制格式。数据库启动后,可以通过下列SQL语句查找数据库使用的是哪种格式的初始化参数。 Show parameter spfile; 更改文本格式的初始化参数,可以利用文本编辑工具,如vi 等打开,然后进行编辑。要使编辑后的参数生效,一定要重新启动数据库,并应用此初始化参数文件。 2、命令行修改参数。不能直接使用编辑工具打开二进制格式的初始化参数文件(即使可以打开),这样会损坏参数文件,导致下次数据库不能正常启动。可以通过下面的SQL 语句进行参数修改。 ALTER SYSTEM parameter name =value SCOPE=[BOTH|MEM] 3、使用图形化通过EM console进行修改。登录EM console http://ip address :1158/em 在图形化工具里面,可以看到哪些参数是静态参数(不能修改,修改后要重新启动数据库才能生效),哪些是动态参数(可以直接修改,并生效)。 网络服务配置主要包括侦听(listener)配置和客户端服务(tnsnames)配置。侦听配置在服务器端(安装了ORACLE数据库的服务器),客户端服务配置在需要连接ORACLE数据库的客户机上(当然也可以在服务器端进行配置)。这两个配置文件都可以利用文本编辑工具直接打开修改。修改侦听后,用下列命令把侦听服务重新启动: $ lsnrctl start 用下列命令查看侦听是否正常: $lsnrctl status 下面给出实例。 listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /oracle/app/10.2) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = /oracle/app/10.2) (PROGRAM = extproc)

相关文档
相关文档 最新文档