数据库笔试题目(答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

group by t.account
12,给出以下SQL语句优化后的语句:
A:SQL条件语句中的列都建有恰当的索引。 Select * from record where to_char(ActionTime,’yyyymmdd’)=’19991201’
Select * from record where Actiontime=to_date(‘19991201’,’yyyymmdd’)
1, 列举访问oracle的几种方式 Sql*plus Pl/sql Dos下运行sqlplus.exe
2, 列举oracle启动必须的几个服务 OracleServicexxx(SID) OracleOraDb10g_homeTNSListener OracleOraDb10g_homeliSQL*Plus
BEGIN
DATE,
END
DATE,
DEVICENO
NUMBER(5 )
create or replace procedure p_cursor
as
v_id varchar2(25);
v_callerno varchar2(26);
v_calleeno varchar2(26);
v_begin date;
1, 解释冷备份和热备份的不同点以及各自的优点。 热备份针对归档模式的数据库, 在数据库仍旧处于工作状态时进行备份。 而冷备份指在数据库关闭后,进行备份, 适用于所有模式的数据库。热备份的优点在于当备份时, 数据库仍旧可以被使用并且可以将数据库恢复到任意一个时 间点。 冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数 据库可以工作在非归档模式下, 数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)
v_end date;
v_deviceno number(5);
cursor c_bill is
select id,callerno,calleeno,begin,end,deviceno
t_call_recode;
begin
open c_bill;
loop
fetch
c_bill
from into
v_id,v_callerno,v_calleeno,v_begin,v_end,v_deviceno;
据里被叫(CALLEENO
VACHAR2(26))宽度小于8的话单复制到
t_phone_bill,写存储过程(用游标,有事物和异常处理)实现
t_call_record 表结构如下:
ID
VARCHAR2(25) not null,
CALLERNO
VARCHAR2(26),
CALLEENO
VARCHAR2(26),
17, 存储过程插入一条数据的命令是什么? 18, 你怎么进入公司 19, 数据库方面的经验 20, 索引分区表 21, DDL,DML命令 22, 删除表ALTER TABLE 23, 修改字段update table set 修改内容where位置 24, 触发器用到的几种方式 25, Oracle具体的版本号, 26, 回滚段小了怎么办 27, 为什么使用索引时查询慢 28, 体系结构中的逻辑存储结构,物理存储结构 29, Oracle的优势体现在那些方面 30, 什么时候建立索引 31, 自我介绍 32, 项目描述 33, 大数据量的操作:分区表,临时表,事物操作 34, 开发平台,项目环境的搭建 35, 数据库的优化,sql语句的优化 36, Oracle10g 37, 软件工程的流程 38, 位图,索引 39, 数据异常数据备份 40, 执行计划行列转换 41, 表空间参数 42, 数据库的日常维护
6,解释$ORACLE_HOME和$ORACLE_BASE的区别。 ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目 录
7,SGA主要有哪些部分,主要作用是什么? SGA:db_cache/shared_pool/large_pool/java_pool db_cache:
CHAEGE表:
TELEPHONE FEE01
FEE02
FEE03
FEE04
(Varchar(10), (numeric(10,2)) (numeric(10,2)) (numeric(10,2)) (numeric(10,2))
主键)
4210001
11.00
12.00
13.00
14.00
4210002
exit when c_bill%notfound;
if length(v_calleeno)<8 then
insert
into
t_phone_bill(id,callerno,calleeno,begin,end,deviceno)values
(v_id,v_callerno,v_calleeno,v_begin,v_end,v_deviceno);
11,有下列2张表: USERLIST表: TELEPHONE (Varchar(10),主键)
4210001
4210002
ACCOUNT (Varchar(10))
AAAA
AAAA
RENT (numeric(10,2))
19.50
20.50
4210003 4210004
BBBB CCCC
100.00 250.00
14,表A的结构如下:
ID NUMBER(5) PK
Name VARCHAR2(20)
表B的结构和A相同
写触发器实现当A表进行增加,删除,修改操作时,表B 的数据自动同
步更新
create or replace trigger trigA after insert or update or delete on A for each row declare v_id B.ID%type; v_name b.id%type; v_newid b.id%type; v_newname b.id%type; v_count int; begin v_id:=:OLD.id; v_name:=:; v_newid:=:ne loop;
close c_bill;
commit;
exception
when daylog_error then
rollback;
if c_bill%isopen then close c_bill;
end if;
return;
when others then rollback;
sum(nvl(t1.fee01,0))
fee01,sum(nvl(t1.fee02,0))fee02,sum
(nvl(t1.fee03,0))fee03,sum(nvl(t1.fee04,0))fee04
from userlist t LEFT JOIN CHAEGE t1 on
t.telephone=t1.telephone
数据库缓存(Block Buffer)对于Oracle数据库的运转和性能起着非常 关键的作用,
它占据Oracle数据库SGA(系统共享内存区)的主要部分。Oracle数据 库通过使用LRU 算法,将最近访问的数据块存放到缓存中,从而优化对磁盘数据的
访问. shared_pool: 共享池的大小对于Oracle 性能来说都是很重要的。 共享池中保存数据字典高速缓冲和完全解析或编译的的PL/SQL 块 和SQL 语句及控制结构 large_pool: 使用MTS配置时,因为要在SGA中分配UGA来保持用户的会话, 就是用Large_pool来保持这个会话内存 使用RMAN做备份的时候,要使用Large_pool这个内存结构来做磁 盘I/O缓存器 java_pool: 为java procedure预备的内存区域,如果没有使用java proc,java_pool不 是必须的
8,ORACLE的优化器有哪些? Rule 基于规则, cast基于成本 , choose选择
9,索引的分类。 B树索引 位图索引 单列索引 引
复合索引 唯一索引
非唯一索
10,请说明实例和数据库的关系;表空间和数据文件的关系 实例名和数据库一一对应。 数据文件属于一个表空间,一个表空间可以有多个数据文件。
1, 你的项目的数据处理量(平均一天写多少代码,整个项目的代码 量)
2, DOS和UNIX的主要区别 3, 你写了多少存储过程,介绍一下 4, 你对大型数据库的处理 5, 你在写存储过程中遇到了什么问题,你是怎么处理的 6, 你是怎么维护数据库 7, 怎么理解分区表 8, 存储过程的异常处理机制 9, 在一个表中,如果插入了一条错误的信息,想要恢复怎么操作 10, 你最近做的项目是什么?你负责了哪一部分 11, 代码量是多少?流量是多少? 12, 怎么进行数据的恢复 13, Ordey by 和group by 的区别 14, 说明存储过程是怎么实现的? 15, 当表的数据达到上万条的时候,要更新其中数据如何实现 16, 什么时候使用分区表,什么时候使用索引
B:tab1中的列coll是字符型(Char) Select coll,col2 from tab1 where coll>10
Select col1,col2 from tab1 where col1>’10’
13,有一个表t_call_record
话单表(基本业务表),还有一个表和
t_call_record表结构一样,表名叫 t_phone_bill,要求把 t_call_record 的数
4,比较truncate和delete命令。 区别在于:truncate是DDL操作,它移动HWK(高水平线),不需要 rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时 间
5,给出数据库正常启动所经历的几种状态。 STARTUP NOMOUNT 数据库实例启动 STARTUP MOUNT 数据库装载 STARTUP OPEN 数据库打开
主键)
AAAA
2
40.00
32.00
34.00
BBBB
1
100.00
31.00
32.00
CCCC
1
250.00
0.00
0.00
其中:数据是经过SUERLIST,CHARGE表进行合适的连接后以 ACCOUNT为关键字分组求和得到 注意:电话号码:4210004在USERLIST表中有一条纪录,但是在 CHARGE表中并没有纪录。但结果中合同号 CCCC具有一条纪录。 请写出SQL语句。 select t.account,count(*) "USER",sum(t.rent) rent,
v_newname:=:;
if inserting then select count(*) into v_count from b where id=v_newid; if v_count=0 then insert into b(id,name) values (v_newid,v_newname); end if; elsif updating then update b set name=v_newname where id=v_id; if sql%notfound then insert into b(id,name) values(v_newid,v_newname); end if; else delete from b where id=v_id; end if; exception when others then return; end;
2, 解释data block, extent 和segment的区别。 data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的 物理存储空间时, 连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称 为该对象的segment.
3,怎样察看数据库引擎报错。 alert log
21.00
22.00
23.00
24.00
4210003
31.00
32.00
33.00
34.00
请用最少的SQL语句,产生下面查询结果:
TELEPHONE USERS(int) RENT
FEE01
FEE02
(Varchar(10),
(numeric(10,2)) (numeric(10,2)) (numeric(10,2))
相关文档
最新文档