文档库 最新最全的文档下载
当前位置:文档库 › Oracle 非预定义异常

Oracle 非预定义异常

Oracle  非预定义异常
Oracle  非预定义异常

Oracle 非预定义异常

在一个异常产生、被捕获并处理之前,它必须被定义。Oracle定义了几千个异常,绝大多数只有错误编号和相关描述,仅仅命名了21个最常被用到的异常,即系统预定义异常。这些异常的名称被储存在STANDARD,UTL_FILE,DBMS_SQL这几个系统包中。

除此之外的绝大多数异常都未命名,这些异常就是非预定义异常,它们需要程序员对其进行命名。当然,只使用错误码也可以完成异常的处理,但是这种异常处理会使代码非常生涩。例如:

exception

when others then

if sqlcode=-1843 then

…..

end if;

为非预定义异常命名时,需要使用语句PRAGMA EXCEPTION_INIT为错误号关联一个名称,随后就可以像对待系统预定义异常一样进行处理。EXCEPTION_INIT是一个编译时运行的函数,它只能出现在代码的声明部分,而异常名字必须在此之前被定义。

例如,下面的示例在程序块中为异常-1834关联了一个名称:

declare

invalid_company_id exception;

pragma exception_init(invalid_id, -1834);

下面通过一个完整的示例,演示如何在程序中处理Oracle错误ORA-2292。

SQL> set serveroutput on

SQL> declare

2 fk_delete_exception exception;

3 pragma exception_init(fk_delete_exception,-2292);

4 begin

5 delete dept

6 where dname='SALES';

7 exception

8 when fk_delete_exception then

9 dbms_output.put_line('该项目存在于另一个表中!');

10 end;

11 /

该项目存在于另一个表中!

PL/SQL 过程已成功完成。

在上面的程序中,由于该名称的部门信息仍然存在于EMP表中,当使用DELETE语句删除DEPT表中的数据时,这将触发外键错误-2292。因此,将该错误定义与定义的异常相关联后,当错误-2292发生时将引发定义的异常FK_DELETE_EXCEPTION。这样,在异常处理部分就可以像系统预定义异常一样进行处理。

oracle权限及角色

角色是相关权限的集合,使用角色能够简化权限的管理。简而言之就是oracle 可以事先把一系列权限集中在一起(角色),打包赋予给用户,那么用户就具有了角色的一系列权限。 oracle预定义角色有25种,它是oracle提供的角色。经常用到的角色有connect、resource、dba三种角色。建一个用户,多数情况下,只要给用户赋予connect和resource角色就够了。 connect角色具有一般应用开发人员需要的大部分权限,connect角色具有的系统权限如下: alter session create cluster create database link create session create table create view create sequence resource角色具有开发人员需要的其他权限,如建立存储过程、触发器等,resource角色等,resource角色隐含了unlimited tablespace系统权限(无限制表空间),resource的系统权限有: create cluster

create indextype create table create sequence create type create procedure create trigger dba角色具有所有系统权限及with admin option选项,默认dba用户为sys和system,它们可以将任何系统权限授予给其他用户。但是dba角色不具备sysdba 和sysoper的权限,即启动和关闭数据库。 select*from tab; --查询所有的用户 select*from dba_users; --查询所有的角色 select*from dba_roles; -- 权限有140多种,要赋值给用户,使用sql grant sql语句,太麻烦,产生角色概念(23种角色),先把权限赋值给角色,比如说connect

Oracle监听器服务不能启动的7步解决法

Oracle监听器服务不能启动的7步解决法 200712 陈平 一、连接主机字符串,说没有监听器SVRMGR> connect internal/oracle@orcl; ORA-12541: TNS:no listener SVRMGR> 二、运行监听器,说地址的协议专用组件指定不正确C:>lsnrctl LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Pro duction on 14-3月-2003 14:17 :51 (c) Copyright 1998, 1999, Oracle Corporation. All rights reserved. 欢迎来到LSNRCTL,请键入"help"以获得信息。LSNRCTL> status 连接至(DESCRIPTION=(A DDR ESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521))) TNS-01103: 地址的协议专用组件指定不正确 TNS-12541: TNS:无监听器 TNS-12560: TNS:协议适配器出现错误 TNS-00511: 无监听器32-bit Windows Error: 61: Unknown error LSNRCTL> start 启动tnslsnr:请稍候... Failed to start service, error 3. TNS-12536: TNS:可能会阻碍*作 TNS-12560: TNS:协议适配器出现错误 TNS-00506: *作可能阻塞32-bit Windows Error: 997: Unknown error LSNRCTL> 三、在控制面板中启动服务,出现以下错误服务:在本地计算机无法启动OracleOraHome81TNSListener 服务。错误3:系统找不到指定的路径而且OracleOraHome81TNSListener服务的可执行文件的路径是空的。四、进入注册表中修改ImagePath 在运行处执行REGEDIT进入注册表到HKEY_LO CA L_MAC HINESYSTEMCurrentControlSetServicesOracleOraHome81TNSListener 发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:f:OracleOra81BINTNSLSNR 退出注册表。 五、再去启动服务,服务启动正常 六、启动监听器 C:>lsnrctl LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月-2003 14:42 :10 (c) Copyright 1998, 1999, Oracle Corporation. All rights reserved. 欢迎来到LSNRCTL,请键入"help"以获得信息。 LSNRCTL> start TNS-01106: 使用名称LISTENER的监听器已经启动 LSNRCTL> status 连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521))) LISTENER 的STATUS ------------------------ 别名LISTENER 版本TNSLSNR for 32-bit Windows: Version 8.1.6.0.0 - Produc tion 启动日期14-3月-2003 14:40:15 正常运行时间0 天0 小时2 分 6 秒跟踪级别off 安全性OFF SNMP OFF 监听器参数文件f:OracleOra81networkadminlistener.ora 监听器日志文件f:OracleOra81networkloglistener.log 服务摘要.. PLSExtProc 具有1个服务处理程序orc2 具有1个服务处理程序orcl 具有1个服务处理程序orcl 具有2个服务处理程序命令执行成功LSNRCTL> 七、再去连接,成功SVRMGR> connect internal/sys@orcl; 连接成功。

Oracle第9章习题

第9章系统安全管理 一.填空题 1.在Oracle数据库中的权限可以分为两类,即()和()。()是指在系统级控制数据库的存取和使用的机制,()是指在对象级控制数据库的存取和使用的机制。 2.()是具有名称的一组相关权限的组合。 3.()和()角色包含CREATE TYPE系统权限,()角色包含所有的权限。 4.连接到数据库的最低系统预定义角色是()。 5.在用户连接到数据库后,可以查询数据字典视图(),了解用户所具有的系统权限。 二.选择题 1.假设用户USER1的默认表空间为USERS,他在该表空间的配额为10MB,则USER1在USERS表空间中创建基本表时,他应具有什么权限?() A.CREATE TABLE B.CREATE USER C.UNLIMITED TABLESPACE D.LIMITED TABLESPACE 2.下列那一项资源不能在用户配置文件中限定?() A.各个会话的用户数 B.登陆失败的次数 C.使用CPU时间 D.使用SGA区的大小 3.检查下面的SQL语句,哪一项是错误的?() alter user tempuser identified by oracle default tablespace users default temporary tablespace temp quota 100M on users; A.alter user tempuser B.default temporary tablespace temp C.quota 100M on users; D.identified by oracle 4.如果想要在另一个模式中创建表,用户最少应该具有什么系统权限?() A.CREATE TABLE B.CREATE ANY TABLE C.RESOURCE D.DBA 5.下列关于资源配置文件的描述中,哪一项是正确的?() A.无法通过资源配置文件来锁定用户账号 B.无法通过资源配置文件来限制用户资源

Oracle11g用户管理

第一部分用户账户与权限 再讲之前先考虑一个问题,如果现在使用oracle数据库的时候忘记了密码怎么办? 可能有同学想到可以用sys用户找回密码,如果连sys用户密码都忘了呢? 还有什么办法吗? 1、数据库中存在的用户具有OPEN,LOCK,EXPIRE三种状态,查看当前的数据库已经启用的(OPEN)用户情况使用表dba_users 2、创建用户的基本命令: create user 新的用户名 identified by密码; 创建一个test1的用户,密码为123 create user test1 identified by 123; 用户创建好了,大家试一下用新用户登陆数据库是否可以? 3、授予用户权限的命令: grant 权限名/角色名 to 用户; 将create session的权限给test1用户 grant create session to test1; 4、修改用户密码命令: alter user 用户名 identified by 新密码; 将用户test1的密码由123改为test1;(想一下谁有权利改?) alter user test1 identified by test1; 5、设置用户密码过期命令:

alter user 用户名 password expire; 将用户test1的密码设置为过期状态,使用dba_tables查看一下当前账户的状态,现在test1使用test1的密码还能登陆吗,出现什么现象? alter user test1 password expire; 6、设置用户锁定/解锁: alter user 用户名 account lock/unlock; 将用户test1设置锁定,使用test1还能登陆吗? alter user test1 account lock; 7、解锁test1用户,使用test1登陆,创建一张表: create table mytab( id number, name varchar2(50)); 可以创建吗? 8、为用户授与相关的权限: grant 权限名 to 用户; 为用户授予创建表的权限: g rant create table to test1; 再试一下可以创建表了吗? 9、使用test1用户查询一下scott用户下的emp表的ename,empno,job列: s elect ename,empno,job from emp; 可以吗? select ename,empno,job from scott.emp; 这样可以吗? 10、为用户test1授予查询scott.emp表的权限(使用sys用户授予) grant select on scott.emp to test1; 试一下可以使用用户test1往scott.emp插入数据吗? 主要权限:insert、delete、update、select grant select,insert on scott.emp to new; 11、回收test1用户的查询、插入scott.emp表的权限

plsql远程访问数据库 解决ora12541:TNS无监听程序

本机为win7 32位系统,为了学习oracle,装了个vbox虚拟机,再装了个win7虚拟机,内装oracle 11g(win7如果要装10g,要选择vista版本,win版本会安装报错).oracle11g安装完后有报了个错误,当时没注意,现在也忘了什么错了,但是不影响使用.后来想在本机安装plsql来远程连接虚win7上的oracle.查了一些资料,步骤如下: 1.下载plsql,安装. 2.下载Instant Client,点击下载,下载第一个basic就行了,下载完解压缩,以放到主win7 d盘根目录为 例:d:\instantclient_11_2 3.在d:\instantclient_11_2新建tnsnames.ora,用记事本编辑. 4.到虚win7上的oracle安装目录找到…\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,打开,比如数据库实例是orcl,找到如下代码,拷贝到本机d:\instantclient_11_2\tnsnames.ora里 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 虚拟机IP)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 5.添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径d:\instantclient_11_2\tnsnames.ora,plsql通过这个找到orcl连接字符串 6.添加一个环境变量NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK 7.打开PLSQL,不用登陆,工具-首选项-ORACLE-连接: 勾选检查连接 Oracle主目录: d:\instantclient_11_2 OCI库: d:\instantclient_11_2\oci.dll 经过以上几步之后,重启PLSQL,问题来了,报错:ora-12541:TNS:无监听程序. ping是可以ping得通的,虚win7上的监听也开着.经过不懈的努力,多次试验终于解决了: 1.虚拟机网络选择桥接,并在虚拟机内网络连接IPV4设置静态IP IP地址:192.168.1.111 (111可修改成自己的 1-255) 子网掩码:255.255.255.0 默认风头:192.168.1.1 首选DNS服务器:192.168.1.1 修改完记得主win7上 ping 192.168.1.111 ping得通再继续往后.

Oracle11g监听程序当前无法识别连接描述符中请求的服务

解决方法一: 一:打开cmd,输入sqlplus system/***** (注****表示密码) 能连接Oracle数据库;但输入sqlplus system/******@orcl11g 点回车则显示监听程序当前无法识别连接描述中请求的服务; 二:使用SQL/PLUS工具连接也是显示一样的结果监听程序当前无法识别连接描述中请求的服务; 三:解决方法: i): 打开这个文件D:\oracle_11g\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora; ii):找到这样段语句 [plain]view plaincopy (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\oracle_11g\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONL Y:D:\oracle_11g\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) 然后在这后面添加这样语句: [plain]view plaincopy (SID_DESC = (GLOBAL_DBNAME = orcl11g) (ORACLE_HOME = D:\oracle_11g\product\11.2.0\dbhome_1) (SID_NAME = orcl11g) ) 最后显示如下: iii)自己按照IP或者数据库实例名修改后保存,再重启数据库监听服务;运行sqlplus

system/******@orcl11g 连接成功; 解决方法二: 若以上办法不能解决问题,则需要分别修改listener.ora与tnsnames.ora两个文件,将监听地址HOST改成计算机名(计算机-属性-高级系统设置-计算机名),listener.ora有一处地方需修改,tnsnames.ora有两处地方需修改,修改完成后最后重启数据库服务(包括监听服务与数据库服务);

Oracle数据库试题

请将下列试题的正确答案写在答题栏里。(每小题2分) 1.当Oracle服务器启动时,下列哪种文件不是必须的()。 A.数据文件 B.控制文件 C.日志文件 D.归档日志文件 2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据()。 A.用户进程 B.服务器进程 C.日志写入进程(LGWR D.检查点进程(CKPT) 3.在Oracle中,一个用户拥有的所有数据库对象统称为()。 A.数据库 B.模式 C.表空间 D.实例 4.在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME V ARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。 A.SELECT name FROM teacher WHERE email = NULL; B.SELECT name FROM teacher WHERE email <> NULL; C.SELECT name FROM teacher WHERE email IS NULL; D.SELECT name FROM teacher WHERE email IS NOT NULL; 5.在Oracle数据库的逻辑结构中有以下组件: A 表空间 B 数据块 C 区 D 段 这些组件从大到小依次是()。 A.A→B→C→D B.A→D→C→B C.A→C→B→D D.D→A→C→B 6.在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener

Oracle监听器服务不能启动的问题

Oracle监听器服务不能启动的问题 从客户端连接到服务器,出现了这个错误,ora12541-TNS : 没有监听器 于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。 原因:Windows优化大师将Oracle的监听服务给"优化"了 一、连接主机字符串,说没有监听器 SVRMGR> connect internal/oracle@orcl; ORA-12541: TNS:no listener SVRMGR> 二、运行监听器,说地址的协议专用组件指定不正确 C:\>lsnrctl LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:17 :51 (c) Copyright 1998, 1999, Oracle Corporation. All rights reserved. 欢迎来到LSNRCTL,请键入"help"以获得信息。 LSNRCTL> status 连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521))) TNS-01103: 地址的协议专用组件指定不正确 TNS-12541: TNS:无监听器 TNS-12560: TNS:协议适配器出现错误 TNS-00511: 无监听器 32-bit Windows Error: 61: Unknown error LSNRCTL> start 启动tnslsnr:请稍候... Failed to start service, error 3. TNS-12536: TNS:可能会阻碍*作 TNS-12560: TNS:协议适配器出现错误 TNS-00506: *作可能阻塞 32-bit Windows Error: 997: Unknown error LSNRCTL> 三、在控制面板中启动服务,出现以下错误 服务:在本地计算机无法启动 OracleOraHome81TNSListener 服务。 错误3:系统找不到指定的路径 而且OracleOraHome81TNSListener服务的可执行文件的路径是空的。 四、进入注册表中修改ImagePath 在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome81TNSListener 发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:f:\Oracle\Ora81\BIN\TNSLSNR

Oracle数据库期末考试

1.企业管理器(Oracle Enterprise Manager),简称OEM。em是企业管理的缩写。 2.SQL*Plus行编辑命令及功能 A[PPEND] text:将文本text的内容附加在当前行的末尾 C[HRNGE]/text/:删除当前行中text指定的内容 CL[EAR] BUFF[ER]:删除SQL缓冲区中的所有命令行 I[INPUT]:在当前行后插入任意数量的命令行 L[IST]:列出所有行 R[UN]:显示并运行缓冲区中当前命令 3.SQL*PLUS文件操作命令及功能 SA V[E] filename:将SQL缓冲区的内容保存到指定的文件夹中,默认的拓展名为 .sql GET filename:将文件的内容调入SQL缓冲区,默认的文件拓展名为.sql STA[RT] filename:指定的命令文件 EXIT:退出 SQL*PLUS 4.在SQL*PLUS中启动或关闭实例 (1)启动实例-OPEN:打开实例和所有文件(数据文件和日志文件)允许多用户存取数据库。-MOUNT:装载实例和打开控制文件,激活某些功能。-NO MOUNT:启动实例,不装载数据库。 (2)关闭实例SHUTDOWN:-NORMA L:正常关闭。(如果有用户登录在数据库中,该命令无法关闭)-IMMEDIATE:立即关闭。- TRASACTIONAL:尽量少影响客户端,避免客户丢失信息。-ABORT:放弃一切事务,立即关闭。 第二章 1.数据库分内部结构、外部结构。 2.内部结构:表空间(TABLE SPACE)、表(TABLE)、约束条件(CONSTRAINT)。 3.表空间:EXAMPLE示例、SYSTEM系统、TEMP临时。 4.段(SEGMENT)由盘区(EXETENT)组成,盘区由数据块(DATA BLOCK)组成。数据块是最小的存储单元。 5.外部结构:数据文件(DATAFILE)、重做日志文件(REDO LOG FILES)、控制文件(CONTROL FILES)。每一个数据库都有一个或多个数据文件,而一个数据文件只能属于一个表空间。一个数据库至少需要两个重做日志文件。Oracle以循环方式向重做日志文件写入。 6.数据库实例(instance)也称作服务器(server)。 7.创建表空间时,会相应地创建数据文件(datafile)以存储数据,数据库与表空间之间存在着一对多的关系,反之也是。 8.SYSTEM数据文件不能删除。 第五章 1.索引按存储方法分类:B*树索引和位图索引。 2.使用SQL命令创建索引:索引的表或簇必须在自己的模式中;必须在要索引的表上具有 INDEX权限;必须具有CREA TE ANY INDEX权限。 3.数据完整性:域完整性(又称列完整性,指定一个数据集对某一个列是否有效和确定是否 允许空值)、实体完整性和参照完整性。

Oracle9到13简答题

1、简单描述Oracle数据库体系结构的组成以及其关系 Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。其中物理存储结构描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等组成。逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。实例是数据库运行的软件结构,由内存结构和后台进程组成。数据库运行过程中,用户的操作在内存区中进行,最终通过后台进行转化为对数据库的操作。 2、说明Oracle数据库物理存储结构的组成及其关系? Oracle数据库物理存储结构是指存储在磁盘上的物理文件,包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、跟踪文件、口令文件、警告文件、备份文件等。3、说明Oracle数据库数据文件的作用 数据文件是用于存储数据库中所有的数据 4、说明Oracle数据库控制文件的作用 控制文件是用于记录和描述数据库的物理存储结构信息,保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做日志文件的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件 5、说明Oracle数据库重做日志文件的作用 重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。 6、说明Oracle数据库归档的必要性以及如何进行归档设置 归档是数据库恢复及热备份的基础。只用当数据库归档模式时,才可以进行热备份和完全恢复。进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的设置等。 7、说明Oracle数据库重做日志文件的工作方法 每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件在进行归档时,还有另一个重做日志文件可用。当一个重做日志文件被写满后,后台进程LGWR开始写入下一个重做日志文件,即日志切换,同时产生一个“日志序列号”,并将这个号码分配给即将开始使用的重做日志文件。当所有的日志文件都写满后,LGWR进程再重新写入第一个日志文件。 8、简单描述如何合理布置Oracle数据库物理存储结构 数据库的物理结构尽量分散到不同磁盘空间,既有利于数据库的安全性,也有利于提供系统的性能,如并发行等。 9、说明采用多路复用控制文件的必要性以及其工作方法 采用多路复用控制文件可以避免由于一个控制文件的损坏而导致数据库无法正常启动。在数据库启动时根据一个控制文件打开数据库,在数据库运行时多路复用控制文件采用镜像的方式进行写操作,保持所有控制文件的同步。 10、说明如何查询数据库物理存储结构信息 可以通过V$DA TAFILE、V$CONTROLFILE、V$LOGFILE、V$LOG等数据字典可以查询相应的物理结构信息。

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包,致此,用户进程可以正式向服务器进程发送信息了。这种方式我们叫做重定向连接。

Oracle期末复习题

一、选择题 1.SQL*PLUS在ORACLE数据库系统中的作用,以下叙述正确的是( ) A.是ORACLE数据库服务器的主要组成部分,是服务器运行的基础构件。B.是ORACLE数据库系统底层网络通信协议,为所有的ORACLE应用程序提供一个公共的通信平台。 C.是ORACLE客户端访问服务器的一个工具,通过它可以向服务器发送SQL命令。 D.是ORACLE客户端到客户端的点对点的通信工具,用来传递各个客户端的数据。 2.命令sqlplus /nolog的作用是( ) A.仅创建一个ORACLE实例,但并不打开数据库. B.仅创建一个ORACLE实例,但并不登录数据库. C.启动sqlplus,但并不登录数据库 D.以nolog用户身份启动sqlplus 3.在SQL*PLUS中显示EMP表结构的命令是( ) A.LIST EMP B.DESC EMP C.SHOW DESC EMP D.STRUCTURE EMP 4.在SQL*PLUS环境中可以利用DBMS_OUTPUT包中的PUT_LINE方法来回显服务 器端变量的值 但在此之前要利用一个命令打开服务器的回显功能,这一命令是( ) A.set server on B.set serverecho on C.set servershow on D.set serveroutput on 5.在SQL*PLUS中执行刚输入的一条命令用( ) (A) 正斜杠(/) (B) 反斜杠(\) (C) 感叹号(!) (D) 句号(.) 6.在SQL*PLUS中显示当前用户的命令是( ) (A) show account (B) show accountname

在本地计算机无法启动oracledbconsole服务。错误1053:服务没有及时响应启动或控制请求

在本地计算机无法启动oracledbconsole服务。错误1053:服务没有及时响应启动或控制请求 在控制面板里启动oracle的服务,其中启动OracleDBConsoleorcl服务时出错,提示:在本地计算机无法启动OracleDBConsoleorcl服务。错误:1053:服务没有及时相应启动或控制请求。重启电脑之后依然如故。请问怎么解决呢? 产生这个问题的可能原因有可能是由于电脑的IP地址改变导致。这个时候需要重新配置EM。进入DOS窗口重新配置一下DBConsole试试 C:/>set ORACLE_SID=ORCL C:/>emca -repos recreate EMCA 开始于2007-6-26 14:04:39 EM Configuration Assistant 10.2.0.1.0 正式版 版权所有(c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库SID: ORCL 监听程序端口号: 1521 SYS 用户的口令: SYSMAN 用户的口令: 是否继续? [yes(Y)/no(N)]: YES 2007-6-26 14:04:53 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到D:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/orcl/emc a_2007-06-26_02-04-38-下午.log。 2007-6-26 14:04:54 oracle.sysman.emcp.EMReposConfig dropRepository 信息: 正在删除EM 资料档案库(此操作可能需要一段时间)... 2007-6-26 14:06:03 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功删除资料档案库 2007-6-26 14:06:03 oracle.sysman.emcp.EMReposConfig createRepository 信息: 正在创建EM 资料档案库(此操作可能需要一段时间)... 2007-6-26 14:08:40 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功创建资料档案库 已成功完成Enterprise Manager 的配置 EMCA 结束于2007-6-26 14:08:40 C:/>emca -DEconfig dbcontrol db EMCA 开始于2007-6-26 14:11:41 EM Configuration Assistant 10.2.0.1.0 正式版 版权所有(c) 2003, 2005, Oracle。保留所有权利。 输入以下信息:

如何配置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图形窗口如下图示:

在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.下列选项中,哪一部分不是Oracle实例的组成部分? C A.系统全局区SGAB.PMON后台进程C.控制文件D.Dnnn调度进程 2.在全局存储区SGA中,哪部分内存区域是循环使用的? A.数据缓冲区B.日志缓冲区C.共享池D.大池 3.解析后的SQL语句在SGA的哪个区域中进行缓存? A.数据缓冲区B.日志缓冲区C.共享池D.大池 4.如果一个服务器进程非正常终止,Oracle系统将使用下列哪一个进程来简介释放它所占用的资源? A.DBWRB.LGWRC.SMOND.PMON 5.如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据块,则将启动如下哪一个进程? A.CKPTB.SMONC.LGWRD.DBWR 6.下列关于共享服务器模式的叙述哪一项不正确? A.在共享服务器操作模式下,每一个用户进程必须对应一个服务器进程 B.一个数据库实例可以启动多个调度进程 C.在共享服务器操作模式下,Oracle实例将启动调度Dnnn为用户进程分配服务进程 D.共享服务器操作模式可以实现少量服务器进程为大量用户进程提供服务 7.当数据块运行在归档下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪一个进程? A.DBWR B.LGWR C.SMON D.ARCH 8.下列哪一个进程和数据库部件可以保证用户对数据库所做的修改在没有保存的情况下,不会发生丢失修改数据? A.DBWR和数据文件 B.LGWR和日志文件组 C.CKPT和控制文件 D.ARCH和归档日志文件9.下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中? A.DBWR B.LGWR C.RECO D.ARCH 10.如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图? A.DBA视图 B.ALL视图 C.USER视图D.动态性能视图 11.下列哪一项是Oracle数据库中最小的存储分配单元? A.表空间 B.段 C.盘区 D.数据块 12.下面的各选项中哪一个正确描述了Oracle数据块的逻辑储存结构? A.表空间由段组成,段由盘区组成,盘区由数据块组成 B.段由表空间组成,表空间由盘区组成,盘区由数据块组成 C.盘区由数据块组成,数据块由段组成,段由表空间组成 D.数据块由段组成,段由盘区组成,盘区由表空间组成 13. 在创建表空间时, 可以指定表空间中存储对象的默认存储参数, 其中________参数用于设置分配给每一个对象的初始区大小. A. INITIAL B. NEXT C. PCTINCREASE D. MINEXTENTS 14.下列哪个对象属于模式对象? A.数据段 B.盘区 C.表 D.表空间 15.关于模式的描述下列哪一项不正确? A.表或索引等模式对象一定属于某一个模式 B.在ORACLE数据库中,模式与数据库用户是一一对应的 C.一个表可以属于多个模式 D.一个模式可以拥有多个表 16.如果一个表中某条记录的一个字段暂时不具有任何值,那么在其中将保存什么内容? A.空格字符 B.数字0 C.NULL D.该字段数据类型的默认值 17. 下列哪一项不是伪列ROWID的作用? A.保存记录的物理地址 B.快速查询指定的记 C.标识各条记录 D.保存记录的头信息 18.为了减少表中的迁移记录,应该增大表的哪一个存储参数? A.PCTFREE B.PCTUSEDC C.MAXEXTENTS D.PCTINCREASE CBCDDADBAACAACCDDA 1、假设用户 USER1的默认表空间为USERS,他在该表空间的配额为10MB,则USER1在USERS表空间创建基本表时,他应具有什么权限?() A、CREATE TABLE B、CREATE USER C、UNLIMITED TABLESPACE D、LIMITED TABLESPACE 2、检查下面的SQL语句,哪一项是错误的?() Alter user tempuser Identified by oracle

批量建Oracle用户

需求分析: 1.一次性批量创建100个左右用户; 2.每个用户拥有独立的表空间; 3.权限方面,既要满足教学上机练习的需求,又要严格限制权限,以防初学者对系统 造成意外破坏。 4.对于服务器资源,作以下阐述。由2013下半年实验总结,监测到的数据:数据库 会话数的峰值:300~320,此时由第三方软件测试数据显示,服务器资源使用达到80%左右。作为学习数据库服务器,应该尽可能使用服务器资源,最大可能的提供服务,以供教学。 解决方案: 1.概要文件:概要文件用于口令和资源限制(由13年12月2日那次实验吸取教 训,对与口令,最好不好限制尝试登录次数等等,一旦出问题,无论怎么修改概要文件都无济于事,再说,口令限制也是为了防御外来攻击,作为学习数据库没必要那么严格控制)。以下只做资源限制(以下数据参考来自Oracle DBA 培训教程-何明-清华大学出版社,数据有待进一步测试验证) A.会话 资源:服务器最大可提供300个对外会话数(下次实验可以使用Spotlight on Oracle 9.6这款软件检测物理连接数是多少)。 需求:100个左右用户同时连接服务器。 结论:每个用户的最大会话数限制在三个。 B.CPU占用时间 防止一个会话消耗过多处理器时间,每个会话所使用的处理器时间不能超过 16800个1%S(168S)。 C.数据块 防止用户狂搞数据(如笛卡尔积)产生大量输入输出,每个会话最多的逻辑阅读量为23688个数据块。 D.挂机时间

每个用户最多挂3个小时 E.空闲时间 防止长期不干活,占用资源,超过28分钟不干活就踢出系统并回滚该用户没有提交的事务。 2.角色:教学过程中,学生需要用到大量权限,在数据库中进行练习,以往经验可 知,权限授予要慎重,以免意外破外系统,导致实验无法进行。为了统一管理,创建一个ORACLE_STUDENT_ROLE角色; 经过裴学长一系列测试,决定赋予学生用户以下权限: 将要创建角色系统预定义角色系统权限 CONNECT CREATE SESSION 创建会话 RESOURCE CREATE CLUSTER 创建簇 RESOURCE CREATE INDEXTYPE 创建索引类型 RESOURCE REATE OPERATOR 创建控制器 RESOURCE REATE PROCEDURE 创建过程 RESOURCE REATE SEQUENCE 创建序列 ORACLE_STUDENT_ROLE RESOURCE REATE TABLE 创建表 RESOURCE REATE TRIGGER

相关文档