文档库 最新最全的文档下载
当前位置:文档库 › Oracle课后练习

Oracle课后练习

Oracle课后练习
Oracle课后练习

第2章数据查询阶段练习

1.SQL语言中用来创建、删除及修改数据库对象的部分被称为:B

A. 数据库控制语言(DCL)

B. 数据库定义语言(DDL)

C. 数据库操纵语言(DML)

D. 数据库事务处理语言

2.执行以下查询,表头的显示为:C

SELECT sal "Employee Salary" FROM emp

A. EMPLOYEE SALARY

B. employee salary

C. Employee Salary

D. "Employee Salary“

3.执行如下两个查询,结果为:A

SELECT ename name,sal salary FROM emp order by salary;

SELECT ename name,sal "SALARY" FROM emp order by sal ASC;

A. 两个查询结果完全相同

B. 两个查询结果不相同

C. 第一个查询正确,第二个查询错误

D. 第二个查询正确,第一个查询错误4.参考本章的emp表的内容执行下列查询语句,出现在第一行上的人是:

SELECT ename FROM emp WHERE deptno=10 ORDER BY sal DESC;

A. SMITH

B. KING

C. MILLER

D. CLARK

5.哪个函数与||运算有相同的功能:B

A. LTRIM

B. CONCAT

C. SUBSTR

D. INSTR

6.执行以下语句后,正确的结论是:D

SELECT empno,ename FROM emp WHERE hiredate

A. 显示给定日期后100天以内雇佣的雇员信息

B. 显示给定日期前100天以内雇佣的雇员信息

C. 显示给定日期100天以后雇佣的雇员信息

D. 显示给定日期100天以前雇佣的雇员信息

7.执行以下语句出错的行是:D

SELECT deptno,max(sal) FROM emp

WHERE job IN('CLERK','SALEMAN','ANALYST')

GROUP BY deptno

HA VING sal>1500;

A. 第一行

B. 第二行

C. 第三行

D. 第四行

8.执行以下语句出错的行是:A

SELECT deptno,max(avg(sal))

FROM emp

WHERE sal>1000

Group by deptno;

A. 第一行

B. 第二行

C. 第三行

D. 第四行

9.执行以下语句出错的行是:A

SELECT deptno,dname,ename,sal

FROM emp,dept

WHERE emp.deptno=dept.deptno

AND sal>1000;

A. 第一行

B. 第二行

C. 第三行

D. 第四行

10.以下语句出错,哪种改动能够正确执行:D

SELECT deptno, max(sal)

FROM emp

GROUP BY deptno

WHERE max(sal)>2500;

A. 将WHERE和GROUP BY 语句顺序调换一下

B. 将WHERE max(sal)>2500语句改成HA VING max(sal)>2500

C. 将WHERE max(sal)>2500语句改成WHERE sal>2500

D. 将WHERE max(sal)>2500语句改成HA VING sal>2500

11.以下语句的作用是:D

SELECT ename,sal FROM emp

WHERE sal<(SELECT min(sal) FROM emp)+1000;

A. 显示工资低于1000元的雇员信息

B. 将雇员工资小于1000元的工资增加1000后显示

C. 显示超过最低工资1000元的雇员信息

D. 显示不超过最低工资1000元的雇员信息

12.以下语句的作用是:D

SELECT job FROM emp WHERE deptno=10

MINUS

SELECT job FROM emp WHERE deptno=20;

A. 显示部门10的雇员职务和20的雇员职务

B. 显示部门10和部门20共同的雇员职务

C. 显示部门10和部门20不同的雇员职务

D. 显示在部门10中出现,在部门20中不出现的雇员职务

第3章数据操作阶段练习

1.参照本章的emp表,以下正确的插入语句是:D

A. INSERT INTO emp V ALUES (1000, '小李', 1500);

B. INSERT INTO emp(ename,empno,sal) V ALUES (1000, '小李', 1500);

C. INSERT INTO emp(empno,ename,job) V ALUES ('小李',1000,1500);

D. INSERT INTO emp(ename,empno,sal) V ALUES ('小李',1000,1500); 2.删除emp表的全部数据,但不提交,以下正确的语句是:B/C

A. DELETE * FROM EMP

B. DELETE FROM EMP

C. TRUNCATE TABLE EMP

D. DELETE TABLE EMP

3.以下不需要进行提交或回退的操作是:D

A. 显式的锁定一张表

B. 使用UPDA TE修改表的记录

C. 使用DELETE删除表的记录

D. 使用SELECT查询表的记录

4.当一个用户修改了表的数据,那么:D

A. 第二个用户立即能够看到数据的变化

B. 第二个用户必须执行ROLLBACK命令后才能看到数据的变化

C. 第二个用户必须执行COMMIT命令后才能看到数据的变化

D. 第二个用户因为会话不同,暂时不能看到数据的变化

5.对于ROLLBACK命令,以下准确的说法是:C

A. 撤销刚刚进行的数据修改操作

B. 撤销本次登录以来所有的数据修改

C. 撤销到上次执行提交或回退操作的点

D. 撤销上一个COMMIT命令

第4章表和视图阶段练习

1.创建表时,用来说明字段默认值的是:C

A. CHECK

B. CONSTRAINT

C. DEFAULT

D. UNIQUE

2.表的主键特点中,说法错误的是:D

A. 一个表只能定义一个主键

B. 主键可以定义在表级或列级

C. 主键的每一列都必须非空

D. 主键的每一列都必须惟一

3.建立外键时添加ON DELETE CASCADE从句的作用是:B

A. 删除子表的记录,主表相关记录一同删除

B. 删除主表的记录,子表相关记录一同删除

C. 子表相关记录存在,不能删除主表记录

D. 主表相关记录存在,不能删除子表记录

4.下面有关表和视图的叙述中错误的是:C

A. 视图的数据可以来自多个表

B. 对视图的数据修改最终传递到基表

C. 基表不存在,不能创建视图

D. 删除视图不会影响基表的数据

5.以下类型的视图中,有可能进行数据修改的视图是:C/D

A. 带WITH READ ONLY选项的视图

B. 子查询中包含分组统计查询的视图

C. 子查询中包含计算列的视图

D. 带WITH CHECK OPTION选项的视图

第5章其他数据库对象阶段练习

1. 以下关键字中表示序列的是:A

A. SEQUENCE

B. SYNONYM

C. LUSTER

D. DATABASE LINK

2. 关于索引,说法错误的是:A

A. 索引总是可以提高检索的效率

B. 索引由系统自动管理和使用

C. 创建表的主键会自动创建索引

D. 删除索引对拥有索引的表的数据没有影响

3. 语句CREATE INDEX ABC ON emp(ename) 创建的序列类型是:B

A. B*树惟一索引

B. B*树非惟一索引

C. B*树惟一复合索引

D. B*树非惟一复合索引

4. 关于序列,说法错误的是:D

A. 序列产生的值的类型为数值型

B. 序列产生的值的间隔总是相等的

C. 引用序列的当前值可以用CURRV AL

D. 序列一旦生成便不能修改,只能重建

5. 关于同义词,说法错误的是:A

A. 同义词只能由创建同义词的用户使用

B. 可以为存储过程创建同义词

C. 同义词可以和表重名

D. 公有同义词和私有同义词创建的权限不同

第6章PL/SQL基础阶段练习

1. 用来存放可变长度字符串的函数是:B

A. CHAR

B. V ARCHAR2

C. NUMBER

D. BOOLEAN

2. 在程序中必须书写的语句是:C

A. SET SERVEROUTPUT ON

B. DECLARE

C. BEGIN

D. EXCEPTION

3. 在程序中正确的变量定义语句是:B

A. emp_record emp.ename%ROWTYPE

B. emp_record emp%ROWTYPE

C. v_ename emp%TYPE

D. v_ename ename%TYPE

4. 在程序中最有可能发生错误的语句是:A

A. INSERT INTO emp(empno,ename) V ALUES(8888,'Jone')

B. UPDA TE emp SET sal=sal+100

C. DELETE FROM emp

D. SELECT * FROM emp

5. 关于以下分支结构,如果i的初值是15,环循结束后j的值是:D

IF i>20 THEN

j:= i*2;

ELSIF i>15 THEN

j:= i*3;

ELSE

j:= i*4;

END IF;

A. 15

B. 30

C. 45

D. 60

6. 关于以下循环,如果I的初值是3,则循环的次数是:A

WHILE I<6 LOOP

I:= I + 1;

END LOOP;

A. 3

B. 4

C. 5

D. 6

7. 以下表达式的结果非空的是:B

A. NULL||NULL

B. 'NULL'||NULL

C. 3+NULL

D. (5>NULL)

第7章游标和异常处理阶段练习

1. 关于显式游标的错误说法是:D

A. 使用显式游标必须先定义

B. 游标是一个内存区域

C. 游标对应一个SELECT 语句

D. FETCH 语句用来从数据库中读出一行数据到游标

2. 有4条与游标有关的语句,它们在程序中出现的正确顺序是:B

1) OPEN abc

2) CURSOR abc IS SELECT ename FROM emp

3) FETCH abc INTO vname

4) CLOSE abc

A. 1、2、3、4

B. 2、1、3、4

C. 2、3、1、4

D. 1、3、2、4

3. 用来判断FETCH语句是否成功,并且在FETCH语句失败时返回逻辑真的属性是:B

A. %ROWCOUNT

B. %NOTFOUND

C. %FOUND

D. %ISOPEN

4. 在程序中执行语句SELECT ename FROM emp WHERE job='CLERK' 可能引发的异常类型是:A

A. NO_DA TA_FOUND

B. TOO_MANY_ROWS

C. INV ALID_CURSOR

D. OTHERS

5. 有关游标的论述,正确的是:A

A. 隐式游标属性%FOUND代表操作成功

B. 显式游标的名称为SQL

C. 隐式游标也能返回多行查询结果

D. 可以为UPDA TE语句定义一个显式游标

第8章存储过程、函数和包阶段练习

1.如果存储过程的参数类型为OUT,那么调用时传递的参数应该为:C

A.常量B.表达式C.变量D.都可以2.下列有关存储过程的特点说法错误的是:A

A.存储过程不能将值传回调用的主程序

B.存储过程是一个命名的模块

C.编译的存储过程存放在数据库中

D.一个存储过程可以调用另一个存储过程

3.下列有关函数的特点说法错误的是:D

A.函数必须定义返回类型

B.函数参数的类型只能是IN

C.在函数体内可以多次使用RETURN语句

D.函数的调用应使用EXECUTE命令

4.包中不能包含的元素为:D

A.存储过程B.存储函数

C.游标D.表

5.下列有关包的使用说法错误的是:C

A.在不同的包内模块可以重名

B.包的私有过程不能被外部程序调用

C.包体中的过程和函数必须在包头部分说明

D.必须先创建包头,然后创建包体

第9章触发器阶段练习

1. 下列有关触发器和存储过程的描述,正确的是:D

A. 两者都可以传递参数

B. 两者都可以被其他程序调用

C. 两种模块中都可以包含数据库事务语句

D. 两者创建的系统权限不同

2. 下列事件,属于DDL事件的是:C

A. INSERT

B. LOGON

C. DROP

D. SERVERERROR

3. 假定在一个表上同时定义了行级和语句级触发器,在一次触发当中,下列说法正确的是:A

A. 语句级触发器只执行一次

B. 语句级触发器先于行级触发器执行

C. 行级触发器先于语句级触发器执行

D. 行级触发器对表的每一行都会执行一次

4. 有关行级触发器的伪记录,下列说法正确的是:D

A. INSERT事件触发器中,可以使用:old伪记录

B. DELETE事件触发器中,可以使用:new伪记录

C. UPDA TA事件触发器中,只能使用:new伪记录

D. UPDA TA事件触发器中,可以使用:old伪记录

5. 下列有关替代触发器的描述,正确的是:D

A. 替代触发器创建在表上

B. 替代触发器创建在数据库上

C. 通过替代触发器可以向基表插入数据

D. 通过替代触发器可以向视图插入数据

配置和自动启动Oracle的数据库和监听

配置和自动启动Oracle的数据库和监听(lsnrctl) 1.设置主机名称 [root@myc ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=myc 2.设置主机名称与IP地址的对应 [root@myc ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.2.16 myc 3.修改:/u01/app/oracle/network/admin/listener.ora [oracle@myc admin]$ cat listener.ora # listener.ora Network Configuration File: /u01/app/oracle/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myc)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /u01/app 4.修改:/u01/app/oracle/network/admin/tnsnames.ora [oracle@myc admin]$ cat tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = myc) ) ) 5.lsnrctl 的常用方法

oracle12.2.0.3 监听白名单配置

oracle12.2.0.3 监听白名单配置 出于提高数据安全性等目地,有时需要对 oracle的进行访问限制,允许某些IP连接数据库或拒绝某些IP访问数据库。当然使用防火墙(iptables)也能达到限制的目地,但是从监听端口变更限制仍可生效、只针对oracle自己不和其他端口的限制相混杂和不需要root账号这几方面来说,通过配置sqlnet.ora文件来进行访问限制可能是一种更好的选择。 1.配置sqlnet.ora文件 进入$ORACLE_HOME/network/admin(一般对应的真实路径形如/u01/app/oracle19c/pr oduct/19.2.0/db_1/network/admin)查看是否存在sqlnet.ora文件及是否已配置tcp.val idnode_checking、tcp.invited_nodes、tcp.excluded_nodes项。如果文件存在且已有这几项,则在此基础上修改这几项;如果文件存在但这几项不存在,则在最后追加;如果文件不存在则直接新建。 oracle默认是没有的,我们以没有为例新建该文件,并写入以下内容: tcp.validnode_checking=yes tcp.invited_nodes=(192.168.220.128,127.0.0.1) tcp.excluded_nodes=(192.168.220.1) tcp.validnode_checking:此项是启用IP合法检查,此项是必须配置的,如果不启用其它两项配置了也无效。 tcp.invited_nodes:此项是允许连接数据库的IP地址,多个地址用逗号(半角)隔开,如果启用此项,一定要配上本地地址不然监听无法启动。 tcp.excluded_nodes:此项是不允许连接数据库的IP地址,多个地址用逗号(半角)隔开,如果与tcp.invited_nodes有相同IP,则还是允许该IP访问数据库。 tcp.invited_nodes和tcp.excluded_nodes其实可以只配置一项,当只配tcp.invited_no des时就是白名单,在此项列表中的所有IP允许访问数据库,所有不在此项列表中的所有I P拒绝访问数据库。当只配置tcp.excluded_nodes时,在此项列表中的所有IP拒绝访问数据库,所有不在此项列表中的所有IP允许访问数据库。 2.重新加载使配置生效 如果之前不存在sqlnet.ora则需要重启监听,如果之前存在sqlnet.ora则只需要重新加载配置即可。 重启和reload的区别,应该是监听完全停上和不完全停止的区别,使用stop/start 当前所有已连接的会话会强制断开,reload不会断开已有会话。 重启监听(业务会中断,在不影响业务情况下重启): lsnrctl stop

ORACLE数据库简介

1ORACLE数据库简介 一、概论 ORACLE 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。 二、特点 1、ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE 的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。 2、提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。 3、支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。 4、提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入 SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。 5、提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。 三、存储结构 1、物理结构 ORACLE数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着 数据的添加和应用程序的增大而变化。 下图为ORACLE数据库扩充前后在硬盘上存储结构的示意图:

2、逻辑结构 ORACLE数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统 表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们准备上马一个较大的ORACLE应用系统时,应该创建它所独占的表空间,同时定义 物理文件的存放路径和所占硬盘的大小。 下图为ORACLE数据库逻辑结构与物理结构的对照关系: 四、分布式数据库管理介绍 1、原理 物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单个的大数据库。 用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接

如何配制listener.ora

listener.ora 是oracle服务器端的网络配置文件,oracle 根据它来配置监听服务。listener.ora可配置多个监听器,每个监听器的文件组成是: SID_LIST_ORCLLISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = d:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = testDB) (ORACLE_HOME = d:\oracle\product\10.2.0\db_1) (SID_NAME = testDB) ) ) ORCLLISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 20100908-2130)(PORT = 1521)) ) 即由2部分组成: XXXLiSTENER=(DESCRIPTION=xxx):指定一个监听器所对应的服务器地址和端口号

SID_LIST_XXXLISTENER=((SID_LIST =xxx):指定XXXLISTENER所服务的数据库。即XXXLISTENER 将对请求这些数据库(SID)的连接提供监听接待服务。 listener.ora可配置多个监听和多个监听对应数据库(SID). ORCLLISTENER所监听的数据库列表 SID_LIST_ORCLLISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = d:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = testDB) (ORACLE_HOME = d:\oracle\product\10.2.0\db_1) (SID_NAME = testDB) ) ) LISTENER所监听的数据库 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = Oracle8)

Oracle数据库简介

oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用SQL数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle 数据库而言,在处理大量数据方面有些不如。 Oralce数据库的发展历程 Oralce数据库简介 Oracle简称甲骨文,是仅次于微软公司的世界第二大软件公司,该公司名称就叫Oracle。该公司成立于1979年,是加利福尼亚州的第一家在世界上推出以关系型数据管理系统(RDBMS)为中心的一家软件公司。 Oracle不仅在全球最先推出了RDBMS,并且事实上掌握着这个市场的大部分份额。现在,他们的RDBMS被广泛应用于各种操作环境:Windows NT、基于UNIX系统的小型机、IBM大型机以及一些专用硬件操作系统平台。 事实上,Oracle已经成为世界上最大的RDBMS供应商,并且是世界上最主要的信息处理软件供应商。由于Oracle公司的RDBMS都以Oracle为名,所以,在某种程度上Oracle己经成为了RDBMS的代名词。 Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。 Oracle数据库是基于“客户端/服务器”模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。 Oracle数据库有如下几个强大的特性: 支持多用户、大事务量的事务处理 数据安全性和完整性的有效控制 支持分布式数据处理 可移植性很强 Oracle大体上分两大块,一块是应用开发,一块是系统管理。 开发主要是写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力。管理则需要对Oracle 数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会丢失整个数据库,相对前者来说,后者更看重经验。 Oracle数据库服务器: Oracle数据库包括Oracle数据库服务器和客户端 Oracle Server是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个 Oracle DB和一个 Oracle Server实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优

oracle监听配置详细步骤

一、Oracle 监听 客户端请求通过web页面发给中间件weblogic 中间件再发给orale数据库图示如下: Oracle 为了和外界联系必须开启监听,来接受外部的请求。 开启oracle监听有2种方法 方法一:修改配置文件 方法二:通过图形化的工具改 监听配置文件所在的位置: cd $ORACLE_HOME Cd network/admin下 监听配置文件的位置为:/oracle/app/oracle/product/10.2.0/db_1/network/admin目录下有listener.ora文件,这个文件可以通过配置来生成或者新建vi listener.ora 1 方法一:图形化的工具生产监听文件 前提:用图形化工具时必须是oracle用户界面,也就是orale用户登录,如果是root用户登录的话,有个shell环境问题。 步骤一:以oracle用户登录,输入netca命令或者输入netmgr命令,如下图所示: 步骤二:出现图形界面,一直下一步就行,但这个命令只能配置监听,不能配置传输功能。所以我们在这里就不使用netca命令了。

下面输入netmgr命令 步骤一:输入netmgr命令 步骤二:回车之后,界面如下: 把local目录展开界面如下 步骤三:点击左上角绿色的添加‘监听’步骤四:添加要监听的主机(或ip地址)

步骤五:添加要监听的数据库 步骤六:设置好后关闭,保存。 步骤七:cd $ORACLE_HOME/network/admin下有了listener.ora文件了,如下: 步骤八:启动监听输入命令:lsnrctl start,如下图: 2 方法二直接编辑监听文档 Listener.ora文档也可以自己编辑生成,在$ORACLE_HOME/network/admin下编辑步骤一:Vi listener.ora, 文档添加以下内容: #listener.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools. (SID_DESC = (GLOBAL_DBNAME = TEST) (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1) (SID_NAME = TEST) ) ) LISTENER = (DESCRIPTION =

oracle服务器端与客户端配置

近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。 一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。 二、本地服务名(Tnsname) Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。 本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。 三、Oracle网络连接配置方法 配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle 服务端或客户端的配置)。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle 网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如: $ netmgr Windows下启动Net Manager图形窗口如下图示:

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_listener_详解

Oracle监听-提纲 o ORACLE工作机制o ORACLE监听参数o ORACLE监听功能o ORACLE监听配置o ORACLE网络构架o ORACLE精简版构造o ORACLE常见问题

ORACLE工作机制 o从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS服务器或HOST文件的服务名解析然后传送到ORACLE监听进程,监听进程接收到用户请求后会采取两种方式来处理这个用户请求 o下面我们分专用服务器和共享服务器分别采用这两种方式时的情况来讲

专用服务器模式 o一种方式是监听进程接收到用户进程请求后,产生一个新的专用服务器进程,并且将对用户进程的所有控制信息传给此服务器进程,也就是说新建的服务器进程继承了监听进程的信息,然后服务器进程给用户进程发一个RESEND包,通知用户进程可以开始给它发信息了,用户进程给这个新建的服务器进程发一个CONNECT包,服务器进程再以ACCEPT包回应用户进程,致此,用户进程正式与服务器进程确定连接。 我们把这种连接叫做HAND-OFF连接,也叫转换连接

专用服务器模式 o另一种方式是监听进程接收到用户进程的请求后产生一个新的专用服务器进程,这个服务器进程选用一个TCP/IP端口来控制与用户进程的交互,然后将此信息回传给监听进程,监听进程再将此信息传给用户进程,用户进程使用这个端口给服务器进程发送一个CONNECT包,服务器进程再给用户进程发送一个ACCEPT包,致此,用户进程可以正式向服务器进程发送信息了。这种方式我们叫做重定向连接。

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 DG简介

它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)......................Oracle Data Guard。而对于我而言,我一定要亲切的叫它:DG(注:主要是因为打着方便)。 不少未实际接触过dg的初学者可能会下意识以为dg是一个备份恢复的工具。我要说的是,这种形容不完全错,dg拥有备份的功能,某些情况下它甚至可以与primary数据库完全一模一样,但是它存在的目的并不仅仅是为了恢复数据,应该说它的存在是为了确保企业数据的高可用性,数据保护以及灾难恢复(注意这个字眼,灾难恢复)。dg提供全面的服务包括:创建,维护,管理以及监控standby数据库,确保数据安全,管理员可以通过将一些操作转移到standby数据库执行的方式改善数据库性能。后面这一长串大家可以把它们理解成形容词,千万不要被其花哨的修饰所迷惑,要抓住重点,要拥有透明现象看本质的能力,如果没有那就要努力学习去拥有,下面我来举一个例子,比如我们夸人会说它聪明勇敢善良等等,这些就属于形容词,不重要,重点在于我们究竟想形容这个人是好人还是坏人。然后再回来看看oracle对dg功能上的形容,数据保护和灾难恢复应该都可以归结为高可用性,那么我们可以清晰的定位dg的用途了,就是构建高可用的企业数据库应用环境。 一、Data Guard配置(Data Guard Configurations) Data Guard是一个集合,由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成。组成Data Guard的数据库通过Oracle Net连接,并且有可能分布于不同地域。只要各库之间可以相互通信,它们的物理位置并没有什么限制,至于操作系统就更无所谓了(某些情况下),只要支持oracle就行了。 你即可以通过命令行方式管理primary数据库或standby数据库,也可以通过Data Guard broker提供的专用命令行界面(DGMGRL),或者通过OEM图形化界面管理。 1.Primary 数据库 前面提到,Data Guard包含一个primary数据库即被大部分应用访问的生产数据库,该库即可以是单实例数据库,也可以是RAC。 2.Standby 数据库 Standby数据库是primary数据库的复制(事务上一致)。在同一个Data Guard中你可以最多创建9个standby数据库。一旦创建完成,Data Guard通过应用primary数据库的redo自动维护每一个standby数据库。Standby数据库同样即可以是单实例数据库,也可以是RAC结构。关于standby数据库,通常分两类:逻辑standby和物理standby,如何区分,两类各有什么特点,如何搭建,这方面内容就是后面的章节主要介绍的,在这里呢三思先简单白话一下: 逻辑standby 就像你请人帮你素描画像,基本器官是都会有的,这点你放心,但是各器官位置啦大小啦肤色啦就不一定跟你本人一致了。 物理standby 就像拿相机拍照,你长什么样出来的照片就是什么样,眼睛绝对在鼻子上头。或者说就像你去照镜子,里外都是你,哇哈哈。具体到数据库就是不仅文件的物理结构相同,甚至连块在磁盘上的存储位置都是一模一样的(默认情况下)。 为什么会这样呢?这事就得从同步的机制说起了。逻辑standby是通过接收primary数据库

oracle11g教程从入门到精通

韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装

Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉 也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。 二: Oracle的基本使用--基本命令 sql*plus的常用命令 连接命令 1.conn[ect] 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper 2.disc[onnect] 说明: 该命令用来断开与当前数据库的连接 3.psssw[ord] 说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用 sys/system登录。 4.show user 说明: 显示当前用户名 5.exit 说明: 该命令会断开与数据库的连接,同时会退出sql*plus 文件操作命令 1.start和@ 说明: 运行sql脚本 案例: sql>@ d:\a.sql或是sql>start d:\a.sql 2.edit 说明: 该命令可以编辑指定的sql脚本 案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开 3.spool 说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。 案例: sql>spool d:\b.sql 并输入 sql>spool off 交互式命令 1.& 说明:可以替代变量,而该变量在执行时,需要用户输入。 select * from emp where job='&job'; 2.edit 说明:该命令可以编辑指定的sql脚本 案例:SQL>edit d:\a.sql

Oracle服务总线简介

Oracle Service Bus简介

一些例子… ?端点的问题 – 使用Web 服务的时候 Service Service Service Service Application Application Application Service Service Database EJB SAP

Host One 例子:位置透明 New Hire Process Initialize Benefits Service Initialize Benefits Service Host Two Service Bus Route to Host Two ?与服务地点的改变隔离 After Move Before

例子: 向后兼容性 Service Bus Process Order Service Customer Portal Transform Message <2.0> <1.0>CSR App <2.0> ?与服务合同/接口的改变隔离 <2.0> <1.0>

Oracle Service Bus 为企业SOA带来带来敏捷和扩展?适应变化 ?服务虚拟化 ?协议转换 ?路由和转换 ?错误处理,策略执行 ?多维尺度 ?1000多个服务 ?数百万交易处理能力 ?缓存,并行处理,节流 ?通过重用降低成本 ?一次连接服务 ?轻松配置集成服务 ?资产/服务生命周期的单一视图?管理风险 ?嵌入式服务水平管理 ?故障隔离和自动恢复 ?应用警告和服务水平协议 ?审计和报告 Oracle Service Bus Adapters Service Repository Integration Services Business Logic Business Logic BPM B2B & BPM BPM Portal

Oracle体系结构简要介绍

Oracle体系结构简要介绍 1.o racle数据库软件介绍 oracle数据库包括:oracle数据库和oracle实例两个东西。Oracle实例指的是:oracle 启动后占用的内存和后台进程的总称;oracle数据库是实例和数据文件的总称。数据库关闭后数据库实例就不存在了,数据库文件一直存在。 Oracle是由oracle软件和oracle数据库组成,oracle数据库主要指的是三类文件,分别是控制文件(*.ctl)、日志文件(*.log)、数据文件(*.dbf)。 2.o racle中内存结构介绍 oracle数据库启动起来后有两大内存结构,一是SGA(系统全局区),二是PGA,其中SGA 是用来共享的,PGA是用来给进程使用的。

2.1SGA介绍 Sga是就是oracle系统的全局区,在linux和nuix中用ipcs -m命令来查看占用的共享内存。Sga包括:共享池(shared pool)、stream池(stream pool)、大型池(large pool)、java 池、数据库缓冲区高速缓存(buffer cache)、重做日志缓冲区(log buffer)。 其中主要的缓冲区包括:共享池(shared_pool)、数据库高速缓存区(db_cache)、重做日志缓冲区(log_buffer),最容易出问题的也是这三个。 在plsql中可以通过show parameters sga 或者show sga 来查看sga的参数配置。 2.1.1共享池(shard pool) 共享池(shard pool)主要用来缓存SQL语句以及所对应的SQL执行计划。参数是shared_pool_size。 SQL语句的执行计划存放在shard pool中,下次去执行的时候先到shard pool中去找,这样大大减少资源的消耗。 SQL语句的解析以及执行计划的缓存、shard pool的访问,都是有server process 来做的。 2.1.2数据库缓冲区高速缓存(buffer cache) 数据库缓冲区高速缓存(buffer cache)主要用来缓存DBF的数据,这些数据通过SQL语句的执行计划得来的。参数是db_cache_size 。 数据库缓存区高速缓存对应的是数据库写进程(DBWN),数据库写进程(DBWN)对应的是数据文件和控制文件。 2.1.3重做日志缓冲区(log buffer) 重做日志缓冲区(log buffer)主要用来存放日志的。参数是log_buffer。 重做日志缓冲区对应的是日志写进程(LGWR),日志写进程(LGWR)对应的数据文件是重做日志文件,也就是日志文件。 2.1.4stream 池(stream pool) stream 池(stream pool)是由oracle的stream来使用的。参数是streams_pool_size。 2.1.5大型池(large pool) 大型池(large pool)用于为某些大型的进程提供大量的内存分配,如数据备份等。 参数是:lorge_pool_size

在oracle设置ODBC及出现oracle提示TNS无监听程序的解决办法

在oracle设置ODBC及出现oracle提示TNS:无监听程序的解决办法 设置ODBC ODBC的全名是Open Database Connectivity(开放式数据库连接),是应用程序连接数据库的接口。由于计算机的类型不同,从个人计算机到大型主机,都有自己处理数据的方式,ODBC则可以连接到相同或不相同的数据库管理系统,因此,ODBC可以给应用程序提供相同的存取数据库的接口,程序设计员在设计连接不同数据库时,只要处理与ODBC的连接就可以了,而不必针对不同的数据库设计完全不同的程序。特别需要提醒的是,不同的数据库都有自己对应的ODBC驱动程序,在使用不同数据库的同时,务必设置正确的ODBC驱动程序。就像在本节中,想要连接Oracle 10g数据库,就必须设置Oracle ODBC驱动程序,操作步骤如下: (1)选择Start→Programs→Oracle-OraDb10g_home1→Configuration and Migration Tools→Microsoft ODBC Administrator (2)打开ODBC Data Source Administrator, (3)单击System DSN标签 (4)单击Add按钮 (5)向下拖动滚动条,找到Oracle in OraDb10g_home1选项,选择该选项 (6)单击Finish按钮,进入Oracle ODBC Driver Configuration对话框 Data Source Name:自定义,程序调用时将使用这个名称,请输入misdbdsn。 TNS Service Name:Oracle TNS服务名称,在创建数据库时,一般默认TNS服务名称与数据库名称相同,请输入MISDB,读者也可以自定义。 User ID:用户的账户名称,这里使用System账户来测试。 (7)单击Test Connection按钮,出现Oracle ODBC Driver Connect对话框,如图13-10所示。 Password:请输入安装时给System设置的密码,或自行修改后的密码。 如果出现oracle提示ERROR - ORA-12541: TNS:无监听程序,那么就依照下列步骤做,这是因为你的分配的地址不对。 查看\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora文件,用记事本打开,显示oracle值: ORACLE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =自动分配的IP地址)(PORT = 1521)) (CONNECT_DATA =

oracle基本操作语句(适合初学者)

1. select * from table_name where rownum>begin and rownum< end 2.sql = "select * from table" con.prepareCall("SELECT * FROM(SELECT A.*, rownum r FROM("+sql+") A WHERE rownum <= "+intPage*intPageSize+") B WHERE r > "+(intPage-1) *intPageSize); 今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案. select table_name from all_tables;//所有的表明 select table_name from user_all_tables;//用户的所有的表 一下是转贴的sql语句的帖子. select * from user_objects; //查询所有的表 select * from dba_tables; //查询所有的表 select * from all_tables; //查询所有的表 select * from user_users //查出一个用户 select * from all_users //查询所有用户 select * from dba_users //查询所有用户 select name,dbid from v$database; //查询数据库名和它的ID select * from https://www.wendangku.net/doc/bb5996163.html,er_tab_columns; //查询表名,并显示列名 describe 表名//查询表结构 select * from https://www.wendangku.net/doc/bb5996163.html,er_tab_columns where table_name=表名//查询指定表名的字段 2: 查询数据库参数 show parameter db;

Oracle体系结构简介

Oracle体系结构简介 一、数据库(Database) 数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。Oracle是关系型数据库治理系统(RDBMS)。 二、实例(Instance) 数据库实例(也称为服务器Server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。它使一个单独的数据库可以被多个实例访问(也就是ORACLE并行服务器-- OPS)。实例和数据库的关系如下 决定实例的组成及大小的参数存储在init.ora文件中。 三、内部结构 表、列、数据类型(T able、Column、Datatype)Oracle中是以表的形式存储数据的,它包含若干个列;列是表的属性的描述;列由数据类型和长度组成;Oracle中定义的数据类型主要有CHAR、VARCHAR2、NUMBER、DATE、LONG、LOB、BFILE等,具体的数据类型情况将在本栏目的相关文档中具体介绍。 约束条件(Constraint)表中以及表间可以存在一些数据上的逻辑关系、限制,也就是约束。Oracle中的约束主要有主键(PK)、外键(FK)、检查(CHECK)、唯一性(UNIQUE)等几种;拥有约束的表中每条数据均必须符合约束条件。 抽象数据类型(Abstract Datatype)可以利用CREATE TYPE命令创建自定义的抽象数据类型。 分区(Partition)可以利用分区将大表分隔成若干个小的存储单元,逻辑上仍然是一个完整的独立单一实体,以减小访问时数据的查找量,提高访问、存储效率 用户(User)用户不是一个物理结构,但是它与数据库的对象拥有非常重要的关系--用户拥有数据库对象,以及对象的使用权。 模式(Schema)用户帐号拥有的对象集合称为模式。 索引(Index)数据库中每行记录的物理位置并不重要,Oracle为每条记录用一个ROWID来标识,ROWID记录了记录的准确位置。索引是供用户快速查找到记录的数据库结构。ORACLE8中有簇索引、表索引、位图索引三种索引形式。 簇(Cluster)经常被频繁引用的表可以在物理位置上被存储在一起,簇就是用来治理这种集中存储的。集中存储可以减少I/O次数,以达到性能的改善和提高。

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