OracleQuestion1000
Oracle精选面试题(附答案及分析)
Oracle精选面试题1.查询员工表所有数据, 并说明使用*的缺点答案:select * from emp;使用*的缺点有:查询出了不必要的列;效率上不如直接指定列名。
2.查询职位(JOB)为'PRESIDENT'的员工的工资答案:select * from emp where job = 'PRESIDENT';3.查询佣金(COMM)为0 或为NULL 的员工信息答案:select * from emp where comm = 0 or comm is null;4.查询入职日期在1981-5-1 到1981-12-31 之间的所有员工信息答案:select * from emp where hiredatebetween to_date('1981-5-1','yyyy-mm-dd') and to_date('1981-12-31','yyyy-mm-dd');5.查询所有名字长度为4 的员工的员工编号,姓名答案:select * from emp where length(ename) = 4;6.显示10 号部门的所有经理('MANAGER')和20 号部门的所有职员('CLERK')的详细信息答案:select * from emp where deptno = 10 and job = 'MANAGER' or deptno = 20 and job ='CLERK';7.显示姓名中没有'L'字的员工的详细信息或含有'SM'字的员工信息答案:select * from emp where ename not like '%L%' or ename like '%SM%';8.显示各个部门经理('MANAGER')的工资答案:select sal from emp where job = 'MANAGER';9.显示佣金(COMM)收入比工资(SAL)高的员工的详细信息答案:select * from emp where comm > sal;10.把hiredate 列看做是员工的生日,求本月过生日的员工答案:select * from emp where to_char(hiredate, 'mm') = to_char(sysdate , 'mm');11.把hiredate 列看做是员工的生日,求下月过生日的员工答案:select * from emp where to_char(hiredate, 'mm') = to_char(add_months(sysdate,1) , 'mm');12.求1982 年入职的员工答案:select * from emp where to_char(hiredate,'yyyy') = '1982';13.求1981 年下半年入职的员工答案:select * from emp where hiredatebetween to_date('1981-7-1','yyyy-mm-dd') and to_date('1982-1-1','yyyy-mm-dd') - 1;14.求1981 年各个月入职的的员工个数答案:select count(*), to_char(trunc(hiredate,'month'),'yyyy-mm')from emp where to_char(hiredate,'yyyy')='1981'group by trunc(hiredate,'month')order by trunc(hiredate,'month');15.查询各个部门的平均工资答案:select deptno,avg(sal) from emp group by deptno;16.显示各种职位的最低工资答案:select job,min(sal) from emp group by job;17.按照入职日期由新到旧排列员工信息答案:select * from emp order by hiredate desc;18.查询员工的基本信息,附加其上级的姓名答案:select e.*, e2.ename from emp e, emp e2 where e.mgr = e2.empno;19.显示工资比'ALLEN'高的所有员工的姓名和工资答案:select * from emp where sal > (select sal from emp where ename='ALLEN');20.显示与'SCOTT'从事相同工作的员工的详细信息select * from emp where job = (select * from emp where ename='SCOTT');21.显示销售部('SALES')员工的姓名答案:select ename from emp e, dept d where e.deptno = d.deptno and d.dname='SALES';22.显示与30 号部门'MARTIN'员工工资相同的员工的姓名和工资答案:select ename, sal from empwhere sal = (select sal from emp where deptno=30 and ename='MARTIN');23.查询所有工资高于平均工资(平均工资包括所有员工)的销售人员('SALESMAN')答案:select * from emp where job='SALESMAN' and sal > (select avg(sal) from emp);24.显示所有职员的姓名及其所在部门的名称和工资答案:select ename, job, dname from emp e, dept d where e.deptno = d.deptno;25.查询在研发部('RESEARCH')工作员工的编号,姓名,工作部门,工作所在地答案:select empno,ename,dname,loc from emp e, dept dwhere e.deptno = d.deptno and danme='RESEARCH';26.查询各个部门的名称和员工人数答案:select * from (select count(*) c, deptno from emp group by deptno) einner join dept d on e.deptno = d.deptno;27.查询各个职位员工工资大于平均工资(平均工资包括所有员工)的人数和员工职位答案:select job, count(*) from emp where sal > (select avg(sal) from emp) group by job;28.查询工资相同的员工的工资和姓名答案:select * from emp e where (select count(*) from emp where sal = e.sal group by sal) > 1;29.查询工资最高的3 名员工信息答案:select * from (select * from emp order by sal desc) where rownum <= 3;30.按工资进行排名,排名从1 开始,工资相同排名相同(如果两人并列第1 则没有第2 名,从第三名继答案:select e.*, (select count(*) from emp where sal > e.sal)+1 rank from emp e order by rank;31.求入职日期相同的(年月日相同)的员工答案:select * from emp e where (select count(*) from emp where e.hiredate=hiredate)>1; 32.查询每个部门的最高工资答案:select deptno, max(sal) maxsal from emp group by deptno order by deptno;33.查询每个部门,每种职位的最高工资答案:select deptno, job, max(sal) from emp group by deptno, job order by deptno, job;34.查询每个员工的信息及工资级别答案:select e.*, sg.grade from emp e, salgrade sg where sal between losal and hisal;35.查询工资最高的第6-10 名员工答案:select * from (select e.*,rownum rn from(select * from emp order by sal desc) ewhere rownum <=10)where rn > 5;36.查询各部门工资最高的员工信息答案:select * from emp e where e.sal = (select max(sal) from emp where (deptno = e.deptno));37.查询每个部门工资最高的前2 名员工答案:select * from emp e where(select count(*) from emp where sal > e.sal and e.deptno = deptno) < 2order by deptno, sal desc;38.查询出有3 个以上下属的员工信息答案:select * from emp e where(select count(*) from emp where e.empno = mgr) > 2;39.查询所有大于本部门平均工资的员工信息答案:select * from emp e where sal >(select avg(sal) from emp where (deptno = e.deptno))order by deptno;40.查询平均工资最高的部门信息答案:select d.*, avgsal from dept d, (select avg(sal) avgsal, deptno from emp group by deptno) se where avgsal = (select max(avg(sal)) from emp group by deptno) and d.deptno = se.deptno;41.查询大于各部门总工资的平均值的部门信息答案:select d.*,sumsal from dept d, (select sum(sal) sumsal, deptno from emp group by deptno) se where sumsal >(select avg(sum(sal)) from emp group by deptno) and se.deptno = d.deptno;42.查询大于各部门总工资的平均值的部门下的员工信息答案:select e.*,sumsal from emp e, (select sum(sal) sumsal, deptno from emp group by deptno) se where sumsal >(select avg(sum(sal)) from emp group by deptno) and se.deptno = e.deptno;43.查询没有员工的部门信息答案:select d.* from dept d left join emp e on (e.deptno = d.deptno) where empno is null;44.查询当前月有多少天答案:select trunc(add_months(sysdate,1),'month') - trunc(sysdate,'month') from dual;45.列出最低薪金大于1500的各种工作及此从事此工作的全部雇员人数答案:SELECT job,COUNT(empno)FROM empGROUP BY job HAVING MIN(sal)>1500 ;46.列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,公司的工资等级答案:SELECT e.empno,e.ename,d.dname,m.ename,s.gradeFROM emp e,dept d,emp m,salgrade sWHERE sal>(SELECT AVG(sal) FROM emp) AND e.mgr=m.empno AND d.deptno=e.deptno(+) AND e.sal BETWEEN s.losal AND s.hisal ;47.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称答案:SELECT e.ename,e.sal,d.dname FROM emp e,dept dWHERE sal > ALL (SELECT sal FROM emp WHERE deptno=30) AND e.deptno=d.deptno;48.列出所有部门的详细信息和部门人数答案:SELECT d.dname,d.loc,dt.countFROM dept d,(SELECT deptno,COUNT(*) count FROM emp GROUP BY deptno) dtWHERE d.deptno=dt.deptno ;49.显示非销售人员工作名称以及从事同一工作雇员的月工资的总和,并且要满足从事同一工作的雇员的月工资合计大于$5000,输出结果按月工资的合计升序排列答案:SELECT job,SUM(sal) sumFROM empWHERE job<>'SALESMAN'GROUP BY job HAVING sum>5000ORDER BY sum ;50.客户表a(id name address) 登陆流水表b(id time) 购物流水表c(id time productid productnum)1.求每个客户的最新登陆时间time,姓名name,客户id?答案:select a.id,,d.time as timefrom a left join (select id,max(time) as time from b group by id) don a.id =d.id ;2.查最新登陆并且已经购买商品的客户id,name,登陆的时间time(一条sql语句)答案:select a.id,,d.time as timefrom a,(select id,max(time) as time from b group by id) dwhere a.id =d.idand exists (select * from c where id = a.id);。
oracle数据库面试题2023
oracle数据库面试题2023很高兴您关注数据库面试题,以下是一些常见的Oracle 数据库面试题及其答案:1. 什么是Oracle数据库?Oracle数据库是由Oracle公司开发的一种关系型数据库管理系统(RDBMS),它是目前世界上最流行的商用数据库之一。
Oracle数据库提供了数据存储、管理和操作等功能,被广泛应用于企业级应用系统。
2. 请解释Oracle数据库的架构。
Oracle数据库的架构由三个主要组件组成:实例(Instance)、内存结构和物理存储。
实例是指Oracle数据库在内存中的运行进程,负责管理和控制数据库的访问和操作。
内存结构包括SGA(System Global Area)和PGA(Program Global Area),用于存储数据库和用户进程所需的数据和信息。
物理存储则指数据库文件和表空间,用于持久化地存储数据。
3. 什么是表空间(Tablespace)?表空间是Oracle数据库中用于存储表、索引、视图等数据库对象的逻辑容器。
每个表空间由一个或多个数据文件组成,这些文件可以分布在不同的物理存储介质上。
通过使用表空间,我们可以方便地管理数据库对象的存储和分配。
4. 请解释Oracle的归档模式(Archivelog Mode)和非归档模式(Noarchivelog Mode)的区别。
在归档模式下,Oracle数据库会将所有的重做日志文件(Redo Log)保存下来,以便进行数据恢复和备份。
这种模式适用于对数据完整性和可恢复性要求较高的场景。
而非归档模式下,Oracle数据库不会保存重做日志文件,只保留最新的重做日志。
这种模式适用于对数据恢复要求较低、但对性能要求较高的场景。
5. 如何查看Oracle数据库中的当前用户?在Oracle数据库中,可以通过以下SQL语句查看当前用户:```SELECT USER FROM DUAL;```这会返回当前会话的用户名。
6. 如何备份和恢复Oracle数据库?Oracle数据库的备份和恢复可以使用多种方法,其中常用的有物理备份和逻辑备份。
ORACLE常用傻瓜问题1000问(09)_9I管理的V$视图
列出SQL共享区的统计量.
447. V$SQL_BIND_DATA
如果数据在服务器中可用,它将对查询这个视图的会话所拥有的每个游标中的每一个不同的连接变量,显示客户端发送的实际连接数据.
包含正在运行并行操作的会话的信息.
409. V$PX_SESSTAT
包含正在运行并行操作的会话的信息.
410. V$QUEUE
包含多线程消息队列的信息.
显示数据字典中所有双亲对象的信息.
425. V$ROWCACHE_SUBORDINATE
显示数据字典中从属对象的信息.
426. V$RSRC_CONSUMER_GROUP
463. V$SYSTEM_EVENT
包含等待一个事件的全部信息.
464. V$SYSTEM_PARAMETER
包含系统参数信息.
465. V$SYSTEM_PARAMETER2
包含系统全局区的总统计量.
440. V$SGASTAT
包含系统全局区的详细信息.
441. V$SHARED_POOL_RESERVED
列出能帮助你调节共享池中保留池和空间的统计量.
列出MTS调度程序请求次数的直方图的统计量.
418. V$RESERVED_WORDS
给出PL/SQL编译器所使用的关键字的列表.
419. V$RESOURCE
包含正在运行并行操作的会话的信息.
407. V$PX_PROCESS_SYSSTAT
包含正在运行并行操作的会话的信息.
408. V$PX_SESSION
包含数据文件和控制文件备份的描述信息,这些备份文件带有一个称为PROXY副本的新特征.
数据库oracle面试题及答案
数据库oracle面试题及答案数据库Oracle作为一种广泛应用的关系型数据库管理系统,其知识点和面试题目也成为了许多面试者需要关注和准备的重点。
本文将介绍一些常见的Oracle面试题及其答案,希望对广大读者有所帮助。
1. 什么是数据库?简要介绍一下Oracle数据库。
答:数据库是一种结构化数据的集合,用于存储、管理以及访问数据。
Oracle数据库是由Oracle公司开发的一款重要的关系型数据库管理系统,它支持跨平台运行,并且被广泛应用于企业级应用系统中。
2. 请解释什么是数据库事务,以及Oracle中的事务管理。
答:数据库事务是指作为一个逻辑工作单元的一系列数据库操作,要么全部成功完成,要么全部失败回滚到事务开始之前的状态。
Oracle中使用回滚段和日志文件,实现事务的原子性、一致性、隔离性和持久性,通过ACID特性来保证事务的可靠性。
3. Oracle中的连接是什么?请解释一下Oracle中连接的类型。
答:连接是指建立应用程序与数据库之间的连接,使得应用程序能够与数据库交互。
Oracle中的连接类型包括物理连接和逻辑连接。
物理连接是指实际的网络连接,它负责传输数据。
逻辑连接是指应用程序与数据库之间的逻辑连接,通过逻辑连接可以对数据库进行访问和操作。
4. 请举例说明Oracle中的DML和DDL操作。
答:DML操作(数据操纵语言)用于对数据库中的数据进行增删改查,比如INSERT、UPDATE和DELETE语句。
例如,可以使用INSERT语句向表中插入新的记录;使用UPDATE语句修改已有记录;使用DELETE语句删除指定的记录。
DDL操作(数据定义语言)用于定义数据库对象,例如创建表、修改表结构等。
例如,可以使用CREATE TABLE语句创建新的表;使用ALTER TABLE语句修改表结构。
5. 请解释Oracle中的索引是什么以及索引的作用。
答:索引是一种数据结构,用于提高数据库查询的效率。
oracle问答题目
ORACLE事务控制答:使用commit命令来提交所有未提交的更新操作。
DDL语句是隐式提交的,例如命令alter, audit, comment, connect, create, disconnect, drop, exit, grant,noaudit, revoke, rename,以及退出sql*plus都隐含commit操作。
事务回滚:尚未提交的insert, update, delete等更新操作可以使用rollback命令进行撤销。
执行rollback命令,数据库将回退到上次commit后的状态,即它可以恢复所有没有提交过的数据。
数据备份与恢复答:ORACLE数据库有两类备份方法。
第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份(逻辑备份用exp,逻辑恢复用imp),业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。
ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
ORACLE数据库的逻辑恢复分为三种模式:表恢复、用户恢复和完全恢复。
(1)1、ORACLE的数据优化有几个调整级别?答:主要有四个不同的调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLE RDBMS级的调整,第三级是数据库设计级的调整,最后一个调整级是SQL级。
2、列举反规范设计数据库的方式有哪些?答:A、在多个表中存储某个字段的副本;B、在父表中存储汇总值;C、将活动数据和历史数据分开存储;D、应用程序本地缓存数据;E、使用临时表、中间表、索引视图。
3、高效地进行SQL语句设计遵循哪些方面?答:1、尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。
不用NOT IN 操作符,可以用NOT EXISTS或者外连接+替代。
ORACLE常见问题解答
ORACLE常见问题解答1.当想查找某个同义词是否存在时怎么办?答:desc all_synonymselect owner from all_synonymswhere synonym_name=upper('表或视图的名称')2.当想查找某个表属于哪个用户时怎么办?答:select owner from all_tableswhere table_name=upper('表或视图的名称');3、当想查找某个视图属于哪个用户时怎么办?答:select owner from all_viewswhere view_name=upper('表或视图的名称');4、当报表或视图不存在时怎么办?答:先用select owner from all_tableswhere table_name=upper('表或视图的名称');语句查,如果没有,再用select owner from all_viewswhere view_name=upper('表或视图的名称');语句查,若都没有就说明这个表或视图确实不存在,那就建表或建视图。
如果用以上两个语句查时表可视图存在,那么就说明同意词不存在,可以用select owner from all_synonymswhere synonym_name=upper('col')这个语句验证。
5、当想查找某个触发器属于哪个用户时怎么办?答:select owner from all_triggerswhere trigger_name=upper('触发器的名称');6、当想查找数据库的全局数据库名时怎么办?答:Select * from global_name7、当到了一个新的医院,想知道主服务器的IP地址怎么办?答:因为一般医院都有HIS,在护士工作站等处会安装ORACLE的客户端,那么我们可以在客户端的tnsnames.ora文件中找到相应的信息。
ORACLE常用傻瓜问题1000问
ORACLE常用傻瓜问题1000问ORACLE常用傻瓜问题1000问1.Oracle安装完成后的初始口令?internal/oraclesys/change_on_installsystem/managerscott/tigersysman/oem_temp2.ORACLE9IASWEBCACHE的初始默认用户和密码?administrator/administrator3.oracle8.0.5怎么创建数据库?用orainst。
如果有motif界面,可以用orainst/m4.oracle8.1.7怎么创建数据库?dbassist5.oracle9i怎么创建数据库?dbca6.oracle中的裸设备指的是什么?裸设备就是绕过文件系统直接访问的储存空间7.oracle如何区分64-bit/32bit版本?$sqlplus'/ASSYSDBA'SQL*Plus:Release9.0.1.0.0-ProductiononMonJul1417:01:092003 (c)Copyright2001OracleCorporation.Allrightsreserved。
Connectedto:Oracle9iEnterpriseEditionRelease9.0.1.0.0-Production WiththePartitioningoptionJServerRelease9.0.1.0.0-ProductionSQL>select*fromv$version;BANNER----------------------------------------------------------------Oracle9iEnterpriseEditionRelease9.0.1.0.0-Production PL/SQLRelease9.0.1.0.0-ProductionCORE9.0.1.0.0ProductionTNSforSolaris:Version9.0.1.0.0-ProductionNLSRTLVersion9.0.1.0.0-ProductionSQL>8.SVRMGR什么意思?svrmgrl,ServerManager9i下没有,已经改为用SQLPLUS了sqlplus/nolog变为归档日志型的9.请问如何分辨某个用户是从哪台机器登陆ORACLE的? SELECTmachine,terminalFROMV$SESSION;10.用什么语句查询字段呢?desctable_name可以查询表的结构selectfield_name,...from...可以查询字段的值select*fromall_tableswheretable_namelike'%'select*fromall_tab_columnswheretable_name='??'11.怎样得到触发器、过程、函数的创建脚本?descuser_sourceuser_triggers12.怎样计算一个表占用的空间的大小?selectowner,table_name,NUM_ROWS,BLOCKS*AAA/1024/1024"SizeM",EMPTY_BLOCKS,LAST_ANALYZED fromdba_tableswheretable_name='XXX';Here:AAAisthevalueofdb_block_size;XXXisthetablenameyouwanttocheck13.如何查看最大会话数?SELECT*FROMV$PARAMETERWHERENAMELIKE'proc%';SQL>SQL>showparameterprocessesNAMETYPEVALUE-------------------------------------------------------------------------aq_tm_processesinteger1db_writer_processesinteger1job_queue_processesinteger4log_archive_max_processesinteger1processesinteger200这里为200个用户。
Oracle常用傻瓜问题1000问
Oracle常用傻瓜问题1000问为了更好地使用Oracle数据库,在实践中我们往往会遇到不少傻瓜问题,这里总结了1000个Oracle常用傻瓜问题,希望能帮到大家。
1. 什么是Oracle数据库?Oracle是一个面向企业级的关系型数据库管理系统,运行在各种操作系统上,包括Windows、Unix、Linux等。
2. 如何连接Oracle数据库?使用Oracle客户端工具连接数据库,例如SQL*Plus、SQL Developer和Toad等。
3. 如何创建新的数据库?可以使用Database Configuration Assistant(DBCA)工具创建新的Oracle数据库。
4. 如何创建表?使用SQL语句CREATE TABLE。
5. 如何查询表中的数据?使用SQL SELECT语句。
6. 如何插入数据到表中?使用SQL INSERT语句。
7. 如何更新表中的数据?使用SQL UPDATE语句。
8. 如何删除表中的数据?使用SQL DELETE语句。
9. 如何删除表?使用SQL语句DROP TABLE。
10. 如何创建索引?使用SQL CREATE INDEX语句。
11. 如何查询索引?使用SQL SELECT INDEX NAME FROM USER_INDEXES语句。
12. 如何删除索引?使用SQL DROP INDEX语句。
13. 如何创建视图?使用SQL CREATE VIEW语句。
14. 如何查询视图?使用SQL SELECT语句。
15. 如何删除视图?使用SQL DROP VIEW语句。
16. 如何创建存储过程?使用SQL CREATE PROCEDURE语句。
17. 如何调用存储过程?使用SQL EXECUTE PROCEDURE语句。
18. 如何删除存储过程?使用SQL DROP PROCEDURE语句。
19. 如何创建触发器?使用SQL CREATE TRIGGER语句。
oracle常见面试题.doc
Oracle常见面试题1、对数据库SQL2OO5、ORACLE熟悉吗?SQL2OO5足微软公司的数裾库产品。
足一个RDBMS数据库,一般应用在一些屮型数据库的应用,不能跨平台。
ORACLE是ORACLE公司的数据产品,支持海景数据存储,支持分布式布暑,支持多用户,跨〒台,数据安全完整性控制性能优越,是一个ORDBMS,一般用在大型公司,2、能不能设计数据库?如何实现数据库导入与导出的更新使用POWERDISINE工具的使用,一般满足第三范式就可以了。
EXP与IMP数据库的逻辑导入与导出3、如何只显示重复数据,或不显示重复数据显示重复:select * from tablename group by id having count(*)>l 不显示重复:select * from tablename group by id having count(*)=l4、什么是数据库的映射就是将数据库的表与字段对应到模型足类名与属性的过程.5、写分页有哪些方法,你一般用什么方法?用SQL语句写一个分页?如何用存储过程写分页?在SQLSERVER中使用TOP分页,在ORACLE中用ROWNUM,或分析嫡数ROW_NUMBER 使用TOP:select top 20,n.* from tablename n minus select top 10jn.* from tablename m 使用分析函数:select * from(select n.*,row_number() over (order by columnname) num from tablename n) where num>=IO and num <=20;使用过程吋,只要将分页的范围用两个参数就讨以实现。
在ORACLE中,要将过程封装在包里,还耍用动态游标变量才能实现数据集的返冋。
6、ORACLE中左连接与右连接左连接:LEFT JOIN 右连接:RIGHT JOINselect n.columnjn.column from tablename I n left join tablename2 m onn.columnname=m.columnname 用WHERE实现:select n.column,m.column from tablcnamcl n, tablcnamc2 mwhere n.columnnamc(+)=m.columnnamc7、什么是反射、序列化、反序列化?事务有几种级别?反射是在程序运行时动态访问DDL的一种方式。
Oracle数据库常见问题答疑
Oracle数据库常见问题答疑Oracle数据库以其强大的功能和稳定性而著称,但同时,在开发和管理方面也存在很多困难,笔者在此总结了一些Oracle数据库开发和管理的常见问题,希望能对大家有所帮助。
问:如果发现表中有坏块,如何检索其它未坏的数据?答:首先需要找到坏块的ID(可以运行dbverify实现),假设为1234。
运行下面的查询查找段名:select segment_name, segment_type, block_id, blocksfrom dba_extentswhere (1234 between block_id and (block_id + blocks - 1));一旦找到坏段名称,若段是一个表,则最好建立一个临时表,存放好的数据。
若段是索引,则删除它,再重建。
create table good_tableasselect from bad_table where rowid not in( select / +index(bad_table, any_index) / rowidfrom bad_table where substr( rowid, 1, 8 ) = 1234)问:如请问如何关闭FORM调用REPORT时的小窗口?答:在利用Oracle数据库的Develop 2000设计开发界面的过程中,当FORM调用REPORT时,会显示一个背景窗口REPORT BACKGROUD ENGINE,等待FORM对REPORT的调用,当FORM调用其它REPORT时,也使用这个后台服务器,不论调用多少个REPORT,这个后台服务器存在且只有一个。
但当FORM与REPORT全部退出后,该窗口仍处于等待状态,不会关闭,这时,我们需要手工将其关闭。
我们可以使用以下参数在FORM调用REPORT时不显示这个小窗口:Add_Parameter( pl_id, 'ORACLE_SHUTDOWN',TEXT_Parameter, 'Yes' );需要注意的是,该参数必须加在所有参数的前面,即它必须为第一个参数。
oracle遇到的问题及答案
oracle遇到的问题及答案问题⼀:Oracle 11G⽤EXP时,空表不能导出解决⽅法第⼀查询空表到底有多少张,也就是查询为分配分配segment的表有多少张SQL> select table_name from user_tables where NUM_ROWS=0;TABLE_NAME------------------------------DATA_BACKUPEQUIPMENTFEEDBACK_ACCESSORIESSPECIALPICTASK_THIRDTASK_THIRDBATCHTASK_THIRD_DATATASK_THIRD_FEEDBACKTESTDATA_THIRDTHIRD_ACCESSORIES已选择10⾏。
第⼆查询在当前⽤户下有总的有多少张表SQL> select count(*) FROM USER_TABLES;COUNT(*)----------32第三导出当前⽤户下的数据C:\Users\Administrator>exp lcpt/lcpt file=E:\0702bj\lcpt.dmp wner=lcpt log=E 702bj\lcpt.logExport: Release 11.2.0.1.0 - Production on 星期⼀ 7⽉ 2 10:42:07 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Productio With the Partitioning, OLAP, Data Mining and Real Application Testing options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的⽤户.... 正在导出 pre-schema 过程对象和操作. 正在导出⽤户 LCPT 的外部函数库名. 导出 PUBLIC 类型同义词. 正在导出专⽤类型同义词. 正在导出⽤户 LCPT 的对象类型定义即将导出 LCPT 的对象.... 正在导出数据库链接. 正在导出序号. 正在导出簇定义. 即将导出 LCPT 的表通过常规路径.... . 正在导出表 ACCESSORIES导出了 18 ⾏. . 正在导出表 AUTH导出了 240 ⾏. . 正在导出表 DATA_TEMP导出了 1 ⾏. . 正在导出表 FEEDBACK导出了 1 ⾏. . 正在导出表 FUNCTION导出了 112 ⾏. . 正在导出表 LIMIT导出了 1 ⾏. . 正在导出表MODULE导出了 37 ⾏. . 正在导出表 READ_ACCESSORIES导出了 2 ⾏. . 正在导出表 REGIONINFO导出了 19 ⾏. . 正在导出表 REPORT_EVENT导出了 8 ⾏. . 正在导出表 ROLE导出了 5 ⾏. . 正在导出表 ROLEAUTH导出了 606 ⾏. . 正在导出表STAFFLOG导出了 512 ⾏. . 正在导出表 STAFFROLE导出了 56 ⾏. . 正在导出表 STAFFS导出了 7 ⾏. . 正在导出表TASKINFO导出了 51 ⾏. . 正在导出表 TASK_FILIALE导出了 2 ⾏. . 正在导出表 TASK_FILIALE_FEEDBACK导出了 2 ⾏. . 正在导出表 TASK_SWARAJ_READ导出了 49 ⾏. . 正在导出表 TESTDATA导出了 407 ⾏. . 正在导出表 THIRDFACTURER导出了 3 ⾏. . 正在导出表 USESSION导出了 1 ⾏. 正在导出同义词. 正在导出视图. 正在导出存储过程. 正在导出运算符. 正在导出引⽤完整性约束条件. 正在导出触发器. 正在导出索引类型. 正在导出位图, 功能性索引和可扩展索引. 正在导出后期表活动. 正在导出实体化视图. 正在导出快照⽇志. 正在导出作业队列. 正在导出刷新组和⼦组. 正在导出维. 正在导出 post-schema 过程对象和操作. 正在导出统计信息成功终⽌导出, 没有出现警告。
oracle面试题及答案
oracle面试题及答案IntroductionOracle is one of the leading relational database management systems (RDBMS) in the world. If you are preparing for an Oracle interview, it is important to familiarize yourself with common interview questions and be prepared with accurate and concise answers. In this article, we will discuss some frequently asked Oracle interview questions and provide detailed answers to help you succeed in your interview.1. What is Oracle?Oracle is a powerful and highly popular relational database management system developed by Oracle Corporation. It is used to store, organize, and manage large amounts of data efficiently. Oracle utilizes SQL (Structured Query Language) for querying and manipulating data, providing a comprehensive platform for data management in organizations.2. What are the different components of Oracle architecture?The Oracle architecture consists of several key components, including:a. Oracle Database: The central component that stores data and manages its access.b. Instance: The combination of memory structures and background processes that manage the database.c. Memory Structures: These include the System Global Area (SGA) and the Program Global Area (PGA), which store data and control information.d. Background Processes: These processes handle tasks such as managing memory, ensuring data integrity, and handling user connections.e. Physical Files: These files store the actual data, control files, redo logs, and archived logs.3. Explain the difference between a database and an instance in Oracle.In Oracle, a database refers to the collection of physical files that store data, control information, and other components. An instance, on the other hand, is the combination of memory structures and background processes that manage the database. In simple terms, a database is the stored data, while an instance is the software that operates on the data.4. What is the purpose of the control file in Oracle?The control file is a crucial component of an Oracle database. It contains metadata about the database, such as the database name, the names and locations of data files and redo logs, and the time of the last backup. The control file is used during database startup to verify the structure of the database and maintain consistency.5. How can you kill an Oracle session?To terminate an Oracle session, you can use the following SQL statement:```sqlALTER SYSTEM KILL SESSION '[sid],[serial#]';```Replace `[sid]` with the session ID and `[serial#]` with the serial number of the session you want to terminate. It is important to exercise caution when terminating sessions to avoid data corruption or loss.6. What are the different types of indexes in Oracle?Oracle supports various types of indexes to enhance query performance. Some commonly used index types include:a. B-Tree Index: The most common index type in Oracle, used for equality and range searches.b. Bitmap Index: Efficient for columns with a small number of distinct values.c. Function-Based Index: Created on an expression or function of one or more columns.d. Partitioned Index: Divides the index into smaller, more manageable pieces.e. Cluster Index: Organizes table rows that share common values in one or more columns.7. Explain the difference between COMMIT and ROLLBACK statements.In Oracle, the COMMIT statement is used to permanently save changes made within a transaction. It terminates the current transaction and makes all changes made up to that point visible to other users. On the other hand, the ROLLBACK statement is used to undo changes made within a transaction,reverting the database to its state before the transaction began. ROLLBACK can be issued either voluntarily or in response to an error or exception.8. How does Oracle handle concurrent access to the database?Oracle employs a mechanism called Multi-Version Concurrency Control (MVCC) to handle concurrent access to the database. MVCC allows multiple users to access and modify data simultaneously by providing each user with a snapshot of the data as it existed at the start of their transaction. This ensures data integrity and consistency while avoiding conflicts among concurrent transactions.ConclusionPreparing for an Oracle interview requires a solid understanding of the fundamental concepts and features of Oracle database management. By familiarizing yourself with common interview questions and practicing your answers, you can confidently demonstrate your knowledge and increase your chances of success. Remember to stay calm, organized, and concise in your responses, highlighting your expertise in Oracle and your ability to tackle various challenges in the database management field. Good luck!。
ORACLE常用傻瓜问题1000问(08)_9I管理的V$视图
显示控制文件中被删除归档日志.
325. V$DISPATCHER
提供调度进程的信息.
326. V$DISPATCHER_RATE
为调度进程提供优质提供速率统计量.
ORACLE常用傻瓜问题1000问:
9I管理的V$视图:
281. V$ACCESS
显示当前被锁定的数据库中的对象及正在访问他们的会话.
282. V$ACTIVE_INSTANCES
显示被授予的特权.
335. V$ENQUEUE_LOCK
显示排队对象所拥有的全部锁.
336. V$EVENT_NAME
包含等待事件的信息.
远程锁转换操作所消耗的时间.
330. V$DLM_LATCH
它是过时的,参见V$LATCH
331. V$DLM_LOCKS
这些是锁管理器已知的被阻塞或阻塞其他对象的锁信息.
为当前安装的数据库中出现的所有实例建立从实例名到实例号的映射.
283. V$ACTIVE_SESS_POOL_MTH
所有活动的会话池资源分配方法.
284. V$AQ
311. V$CONTROLFILE
列出控制文件的名称.
312. V$CONTROLFILE_RECORD_SECTION
显示控制文件记录部分的信息.
332. V$DLM_MISC
显示多种DLM统计量.
333. V$DLM_RESS
显示当前锁管理器已知的全部资源的信息.
334. V$ENABLEDPRIVE
309. V$COMPATSEG
显示数据库实例使用的永久性特征,可以阻止数据库回到早期的版本中去.
oracle数据库 面试题
oracle数据库面试题Oracle数据库面试题Oracle是一种关系型数据库管理系统,广泛应用于企业级应用程序开发和数据存储。
在面试过程中,掌握Oracle数据库相关知识是非常重要的。
本文将为您总结一些常见的Oracle面试题,帮助您进行面试准备。
问题一:什么是Oracle数据库?它的特点是什么?Oracle数据库是一种关系型数据库管理系统,由美国Oracle公司开发。
它具有以下特点:1. 高度可靠性:Oracle数据库采用多种机制保证数据的可靠性,如日志文件和闪回技术,可以最大程度地防止数据丢失和损坏。
2. 可扩展性:Oracle数据库可以在不同的硬件平台上进行部署,并能够快速适应不断增长的数据量和用户需求。
3. 高性能:Oracle数据库采用了先进的查询优化和并行处理技术,可以高效地处理大量数据,并提供快速的查询响应时间。
4. 数据安全性:Oracle数据库提供了多种安全特性,包括用户权限管理、数据加密和审计功能,可以保护数据免受未经授权的访问和攻击。
5. 丰富的功能:Oracle数据库支持多种数据类型和功能,如分区表、索引、触发器等,满足各种应用程序的需求。
问题二:Oracle数据库的体系结构是什么样的?Oracle数据库的体系结构主要包括以下组件:1. 实例(Instance):实例是Oracle数据库在内存中运行的副本,负责管理数据库的访问和操作。
每个数据库可以拥有一个或多个实例。
2. 数据库(Database):数据库是物理存储设备上的数据文件集合,由数据文件、控制文件和日志文件组成。
一个实例可以管理一个或多个数据库。
3. 数据字典(Data Dictionary):数据字典是Oracle数据库中的元数据信息存储区域,包含了数据库对象的结构和定义信息。
4. 进程(Process):Oracle数据库有多个后台进程和前台进程,它们负责执行数据库的各种任务,如内存管理、I/O操作和查询处理等。
oracle面试题及答案
oracle面试题及答案oracle面试题及答案(一)1、关系数据库系统与文件数据库系统的区别在那里?关系数据库系统一般适用那些方面? 答案:关系数据库系统文件系统的区别在于:首先,关系性数据库的整体数据是结构化的,采用关系数据模型来描述,这是它与文件系统的根本区别。
(数据模型包括:数据结构,数据操作以及完整性约束条件)其次,关系数据库系统的共享性高,冗余低可以面向整个系统,而文件系统则具有应用范围的局限性,不易扩展。
第三,关系数据库系统采用两级映射机制保证了数据的高独立性,从而使得程序的编写和数据都存在很高的独立性。
这方面是文件系统无法达到的,它只能针对于某一个具体的应用。
(两级映射:保证逻辑独立性的外模式/模式映射和保证物理独立性的内模式/模式映射。
外模式:用户模式,是数据库用户的局部数据的逻辑结构特征的描述。
模式:数据库全体数据的逻辑结构特征的描述。
内模式:也就是数据最终的物理存储结构的描述。
)第四,就是关系性数据库系统由统一的DBMS进行管理,从而为数据提供了如安全性保护,并发控制,完整性检查和数据库恢复服务。
2、触发器的概念,存储过程的概念.答案:触发器:是存储在数据库中的过程,当表被修改(增、删、改)时它隐式地被激发。
存储过程:是数据库语言SQL的集合,同样也存储在数据库中,但是他是由其他应用程序来启动运行或者也可以直接运行。
3、基本SQL语句有哪些.答案:select、insert、update、delete、create、drop、truncate4、使用存储过程访问数据库比直接用SQL语句访问有哪些优点?答案:存储过程是预编译过的,执行时勿须编译,执行速度更快;存储过程封装了一批SQL语句,便于维护数据的完整性与一致性;可以实现代码的复用。
oracle面试题及答案(二)1.解释冷备份和热备份的不同点以及各自的优点解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。
oracle技术面试试题.doc
oracle技术面试试题Oracle公司还开发其他应用程序和软件。
同时,Oracle在英语里还是“神谕”的意思,意为“替神说话的”,寓指Oracle公司的开展目标和决心地位。
以下是的关于oracle技术面试试题,希望大家认真阅读!解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。
而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。
热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。
冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。
(因为不必将archive log写入硬盘)解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。
解答:使用create spfile from pfile 命令.解答:data block是数据库中最小的逻辑存储单元。
当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.解答:1.DESCRIBE命令2.DBMSMETADATA.GETDDL 包解答:alert log.解答:两者都可以用来删除表中所有的记录。
区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.解答:快速访问表中的data block解答:Fact tables 和dimension tables. fact table包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的信息解答:位图索引 (bitmap index)解答:主键和外键解答:子表的外键强制实效,重建母表,激活外键解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。
oracle面试知识点
Oracle面试知识点1. 数据库基础知识在Oracle面试中,有一些基础的数据库知识是必须要掌握的。
以下是一些常见的问题和答案:1.1 什么是数据库?数据库是一个用于存储和管理数据的系统。
它可以让用户方便地访问和管理数据,并提供高效的数据处理能力。
1.2 什么是关系数据库?关系数据库是一种基于关系模型的数据库。
它使用表来组织和存储数据,表由行和列组成,行代表记录,列代表字段。
1.3 什么是SQL?SQL(Structured Query Language)是一种用于管理关系数据库的语言。
它可以用于创建、修改和查询数据库中的表和数据。
1.4 什么是Oracle数据库?Oracle数据库是一种商业关系数据库管理系统。
它是由Oracle公司开发的,提供了强大的数据管理和处理功能。
2. SQL语法和查询熟悉SQL语法和查询操作是面试中的重要部分。
以下是一些常见问题和答案:2.1 如何创建表?可以使用CREATE TABLE语句来创建表。
例如,要创建一个名为“employees”的表,可以使用以下语句:CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),age INT);2.2 如何插入数据?可以使用INSERT INTO语句来插入数据。
例如,要向“employees”表中插入一条数据,可以使用以下语句:INSERT INTO employees (id, name, age) VALUES (1, 'John Doe', 30);2.3 如何查询数据?可以使用SELECT语句来查询数据。
例如,要查询“employees”表中所有数据,可以使用以下语句:SELECT*FROM employees;2.4 如何更新数据?可以使用UPDATE语句来更新数据。
例如,要将“employees”表中id为1的记录的age字段更新为35,可以使用以下语句:UPDATE employees SET age =35WHERE id=1;2.5 如何删除数据?可以使用DELETE语句来删除数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. Oracle安装完成后的初始口令?internal/oraclesys/change_on_installsystem/managerscott/tigersysman/oem_temp2. ORACLE9IAS WEB CACHE的初始默认用户和密码?administrator/administrator3. oracle 8.0.5怎么创建数据库?用orainst。
如果有motif界面,可以用orainst /m4. oracle 8.1.7怎么创建数据库?dbassist5. oracle 9i 怎么创建数据库?dbca6. oracle中的裸设备指的是什么?裸设备就是绕过文件系统直接访问的储存空间7. oracle如何区分64-bit/32bit 版本???$ sqlplus '/ AS SYSDBA'SQL*Plus: Release 9.0.1.0.0 - Production on Mon Jul 14 17:01:09 2003 (c) Copyright 2001 Oracle Corporation. All rights reserved. Connected to:Oracle9i Enterprise Edition Release 9.0.1.0.0 - ProductionWith the Partitioning optionJServer Release 9.0.1.0.0 - ProductionSQL> select * from v$version;BANNER----------------------------------------------------------------Oracle9i Enterprise Edition Release 9.0.1.0.0 - ProductionPL/SQL Release 9.0.1.0.0 - ProductionCORE 9.0.1.0.0 ProductionTNS for Solaris: Version 9.0.1.0.0 - ProductionNLSRTL Version 9.0.1.0.0 - ProductionSQL>8. SVRMGR什么意思?svrmgrl,Server Manager.9i下没有,已经改为用SQLPLUS了sqlplus /nolog变为归档日志型的9. 请问如何分辨某个用户是从哪台机器登陆ORACLE的? SELECT machine , terminal FROM V$SESSION;10. 用什么语句查询字段呢?desc table_name 可以查询表的结构select field_name,... from ... 可以查询字段的值select * from all_tables where table_name like '%'select * from all_tab_columns where table_name='??'11. 怎样得到触发器、过程、函数的创建脚本?desc user_sourceuser_triggers12. 怎样计算一个表占用的空间的大小?select owner,table_name,NUM_ROWS,BLOCKS*AAA/1024/1024 "Size M",EMPTY_BLOCKS,LAST_ANALYZEDfrom dba_tableswhere table_name='XXX';Here: AAA is the value of db_block_size ;XXX is the table name you want to check13. 如何查看最大会话数?SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';SQL>SQL> show parameter processesNAME TYPE VALUE------------------------------------ ------- ------------------------------ aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 4log_archive_max_processes integer 1processes integer 200这里为200个用户。
select * from v$license;其中sessions_highwater纪录曾经到达的最大会话数14. 如何查看系统被锁的事务时间?select * from v$locked_object ;15. 如何以archivelog的方式运行oracle。
init.oralog_archive_start = trueRESTART DATABASE16. 怎么获取有哪些用户在使用数据库select username from v$session;17. 数据表中的字段最大数是多少?表或视图中的最大列数为100018. 怎样查得数据库的SID ?select name from v$database;也可以直接查看init.ora文件19. 如何在Oracle服务器上通过SQLPLUS查看本机IP地址? select sys_context('userenv','ip_address') from dual;如果是登陆本机数据库,只能返回127.0.0.1,呵呵20. unix 下怎么调整数据库的时间?su -rootdate -u 0801000021. 在ORACLE TABLE中如何抓取MEMO类型字段为空的数据记录?select remark from oms_flowrec where trim(' ' from remark) is not null ;22. 如何用BBB表的数据去更新AAA表的数据(有关联的字段)UP2003-10-17 AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE BBB.DPT_NO IS NOT NULL;23. P4计算机安装方法将SYMCJIT.DLL改为SYSMCJIT.OLD24. 何查询SERVER是不是OPS?SELECT * FROM V$OPTION;如果PARALLEL SERVER=TRUE则有OPS能25. 何查询每个用户的权限?SELECT * FROM DBA_SYS_PRIVS;26. 如何将表移动表空间?ALTER TABLE TABLE_NAME MOVE TABLESPACE_NAME;27. 如何将索引移动表空间?ALTER INDEX INDEX_NAME REBUILD TABLESPACE TABLESPACE_NAME;28. 在LINUX,UNIX下如何启动DBA STUDIO?OEMAPP DBASTUDIO29. 查询锁的状况的对象有?V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS ;查询锁的表的方法:SELECT S.SID SESSION_ID, ERNAME, DECODE(LMODE, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(REQUEST)) MODE_REQUESTED, BZZP||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')', S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID ;30. 如何解锁?ALTER SYSTEM KILL SESSION ‘SID,SERIR#’;31. SQLPLUS下如何修改编辑器?DEFINE _EDITOR="<编辑器的完整路经>" -- 必须加上双引号来定义新的编辑器,也可以把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql里面使它永久有效。
32. ORACLE产生随机函数是? DBMS_RANDOM.RANDOM33. LINUX下查询磁盘竞争状况命令? Sar -d33. LINUX下查询CPU竞争状况命令? sar -r34. 查询当前用户对象?SELECT * FROM USER_OBJECTS; SELECT * FROM DBA_SEGMENTS;35. 如何获取错误信息?SELECT * FROM USER_ERRORS;36. 如何获取链接状况?SELECT * FROM DBA_DB_LINKS;37. 查看数据库字符状况?SELECT * FROM NLS_DATABASE_PARAMETERS;SELECT * FROM V$NLS_PARAMETERS;38. 查询表空间信息?SELECT * FROM DBA_DATA_FILES;39. ORACLE的INTERAL用户要口令?修改SQLNET.ORASQLNET.AUTHENTICATION_SERVICES=(NTS)40. 出现JAVA.EXE的解决办法?一般是将ORACLEORAHOMEXIHTTPSERVER改成手工启动可以的X是8或941. 如何给表、列加注释?SQL>comment on table 表is '表注释';注释已创建。