1.请说明实例与数据库的关系;表空间和数据文件的关系
2.请阐述同议词的作用.你认为情况下要使用同义词.
http://hi.baidu.com/jbgh608/blog/item/09c2f3de181062e277c6386e.html
3.varchar2,char两种数据类型有什么区别,如果库表某字段输入"ABC"后储存,该 字段数
据类型分别为varchar2(10,char(10)存储字节长度以及内容有何区别?
4. talbe :
pub(pub_code char(2),pub_name varchar2(32))
book(book_code char(8),book_name varhcar2(128),pub_code char92),author_code
char(4),book_mem varchar2(128))
author(author_code char(4),author_name varchar2(10),sex char(1), age
number(3),dir varchar2(64))
auth_list(auth_date date,author_code char(4))
在PL/SQL中有以下两种字义
v_book_row book%rowtype;
v_book_code book.bank_code%type;
请说明v_book_row,v_book_code变量的含义以及数据类型
5.Tnsnames.ora,LISTENER.ORA两个文件作用?
6.请看以下存储过程
begin
begin
<语句1>
exception
when others
dbms_output.put_line("错误1");
end;
begin
<语句2>
dbms_output.putline("错误2");
end;
exception
when others then
dbms_output.put_line("错误3");
end;
请问,当<语句1>,<语句2>出错时,该存储过程输出字符串分别是什么?
7.找出"作者"库表中没有出现在"获奖名单"库表中的所有作者信息的SQL语句,(提示:使用
NOT IN,NOT EXISTS,以及外部连接(+)三种方法),并说明那种方法是不优化的
出版社: 出版社代码 char(2),出版社名称 varchar2(32)
图书: 图书编号 char(8),图书名称 varchar2(128),出版社代码 char(2),作者代号
char(4),图书简介 varchar2(128)
作者: 作者代号 char(4),作者名称 varchar2(10),性别 char(1),年龄 number(3),文学
方向 varchar2(64)
获奖名单: 获奖日期 date,获奖人员 char(4)
8.请阐述归档日志模式与非归档日志模式的区别以及对数据库备份恢复能力的影响.
9.ORACLE数据库表METER中存在伪列Rowid,请利用ROWID来编写以下语句:从以下记录中找
到唯一的任一条记录并更新该记录FLAG为"Y".
MONTH
USER_NO ASSST_NO FLAG
2004-7-1
1000009 10A0001 N
2004-7-1
1000009 10A0001 N
2004-7-1
1000009 10A0001 N
10.改写函数为存储过程
create or replace function two_number(v_one number,v_two number)
return number is
begin
return v_one*v_two
end;
请将该函数改写为存储过程,注意传值参数如何设置
11.请说明冷备份的步骤和备份内容。
1、数据库是一组磁盘或文件的集合。实例物理内存中的数据结构和一组后台进程组成。一个数据库可以被多个实例所装载,但一个实例只能装载一个数据库。 表空间是一个逻辑概念,表空间包含段,段包含盘区,区包含数据块。一个段可以来自不同的数据文件,区不能跨越数据文件,一个表空间可以包括多个数据文件,但一个数据文件只能属于一个表空间。
2、同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。优点:首先,应用程序开发可以不管数据库的具体对象名;其次,避免应用程序直接访问数据库对象,提高数据库安全性;最后,简化数据库对象的访问。
3、VARCHAR2是这按字符串的实际长度存储,但CHAR是按定义的长度存储,如果字串长度不够,则在其后使用空格填充。所以同样存储"ABC",VARCHAR2的存储为'ABC',长度为3,CHAR存储'ABC ',字串后有7个空格符,长度为10。
4、v_book_row book%rowtype表示声明了一个变量v_book_row,它是一个能存储BOOK表记录的行记录类型,v_book_code book.bank_code%type表示声明了一个变量v_book_code,与BOOK表的bank_code字段的类型一致,为char(8)类型。
5、tnsnames.ora用于客户端,配置连接服务端的参数文件,主要参数有服务器、服务名、端口等,其中每个配置有一个名称,然后通过该名称连接指定的数据库;Listener.ora是数据库监听配置文件,在数据服务端,配置数据库的监听参数主要包括服务器所在计算机、服务名、监听端口号等。配置好后需要启动服务来监听客户端的连接请求。
6、语句一出错输出“错误1”,”错误2”,语句二出错输出“错误3”。
7、一般来说not exists高效,not in最差
select * from 作者 a where not exists (select 1 from 获奖名单 b where a.作者代号 = b.获奖人员);
select * from 作者 a where a.作者代号 not in (select 获奖人员 from 获奖名单 b);
SELECT *
FROM (SELECT * FROM 作者 a LEFT JOIN 获奖名单 b ON (a.作者代号 = b.获奖人员))
WHERE 获奖人员 IS NULL;
8、归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高.
9、
UPDATE METER a SET a.flag = 'Y' WHERE ROWID = (SELECT MAX(ROWID) FROM METER);
或
UPDATE METER a SET a.flag = 'Y' WHERE ROWID = (SELECT MIN(ROWID) FROM METER);
10、
create or replace procedure two_number(v_one number,v_two number, v_result number) is
begin
v_result := v_one*v_two;
end;
2、同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。优点:首先,应用程序开发可以不管数据库的具体对象名;其次,避免应用程序直接访问数据库对象,提高数据库安全性;最后,简化数据库对象的访问。
3、VARCHAR2是这按字符串的实际长度存储,但CHAR是按定义的长度存储,如果字串长度不够,则在其后使用空格填充。所以同样存储"ABC",VARCHAR2的存储为'ABC',长度为3,CHAR存储'ABC ',字串后有7个空格符,长度为10。
4、v_book_row book%rowtype表示声明了一个变量v_book_row,它是一个能存储BOOK表记录的行记录类型,v_book_code book.bank_code%type表示声明了一个变量v_book_code,与BOOK表的bank_code字段的类型一致,为char(8)类型。
5、tnsnames.ora用于客户端,配置连接服务端的参数文件,主要参数有服务器、服务名、端口等,其中每个配置有一个名称,然后通过该名称连接指定的数据库;Listener.ora是数据库监听配置文件,在数据服务端,配置数据库的监听参数主要包括服务器所在计算机、服务名、监听端口号等。配置好后需要启动服务来监听客户端的连接请求。
6、语句一出错输出“错误1”,”错误2”,语句二出错输出“错误3”。
7、一般来说not exists高效,not in最差
select * from 作者 a where not exists (select 1 from 获奖名单 b where a.作者代号 = b.获奖人员);
select * from 作者 a where a.作者代号 not in (select 获奖人员 from 获奖名单 b);
SELECT *
FROM (SELECT * FROM 作者 a LEFT JOIN 获奖名单 b ON (a.作者代号 = b.获奖人员))
WHERE 获奖人员 IS NULL;
8、归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高.
9、
UPDATE METER a SET a.flag = 'Y' WHERE ROWID = (SELECT MAX(ROWID) FROM METER);
或
UPDATE METER a SET a.flag = 'Y' WHERE ROWID = (SELECT MIN(ROWID) FROM METER);
10、
create or replace procedure two_number(v_one number,v_two number, v_result number) is
begin
v_result := v_one*v_two;
end;
1.创建用户时,需要赋予新用户什么权限才能使它联上数据库。 Connect
2. 如何在tablespace里增加数据文件?
alter tablespace <table_name> add datafile <datafile_name> size <size>
3. 如何变动数据文件的大小?
alter database datafile <datafile_name> resize <new_size>
4. 哪个VIEW用来检查数据文件的大小?
DBA_DATA_FILES
5. 哪个VIEW用来判断tablespace的剩余空间?
DBA_FREE_SPACE
6. 如何判断谁往表里增加了一条纪录?
auditing
7. 如何重构索引?
alter index index-name rebuild ;
8. 解释什么是Partitioning(分区)以及它的优点。
Patition将大表或者索引分割成更小,易与管理。
9. 你刚刚编译了一个PL/SQL Package但是有错误报道,如何显示出错信息?
show errors
10. 如何搜集表的各种状态数据?
ANALYZE
11. 如何启动SESSION级别的TRACE
DBMS_SESSION.SET_SQL_TRACE
ALTER SESSION SET SQL_TRACE=TRUE
12. IMPORT和SQL*LOADER 这2个工具的不同点
IMPORT只能导入由另一个数据库工具EXPORT导出的数据;
SQL*LOADER 可以导入不同的ASCII格式的数据源。
13.用于网络连接的2个文件?
TNSNAMES.ORA SQLNET.ORA Black_snail
14.请说明实例与数据库的关系;表空间和数据文件的关系?
数据库:顾名思义是数据的集合,而Oracle则是管理这些数据集合的软件系统,它是一个对象关系型的数据库管理系统。
数据库实例:数据库启动时,分配SGA并启动后台进程。后台进程和内存缓冲的集合合称为数据库实例。
表空间: 表空间是Oracle对物理数据库上相关数据的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。
数据文件:每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。数据文件的大小之和即为表空间的存储能力。
15.请阐述同议词的作用.你认为情况下要使用同义词.?
创建同义词语句:
CREATE PUBLIC SYNONYM TABLE_NAME FOR USER.TABLE_NAME
其中第一个user_table和第二个user_table可以不一样。 此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:
create synonym table_name for table_name@DB_Link;
当然,你可能需要在user用户中给当前用户(user2)授权:
grant select/delete/update on user2
删除同义词:
drop public synonym table_name;
16.查看所有同义词:
select * from dba_synonyms
好处:节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接
17.解释冷备份和热备份的不同点以及各自的优点:
答:热备份针对归档模式的数据库,在数据库任然处于工作状态时进行备份。而冷备份是在数据库关闭后进行备份,适合所有模式的数据库。
热备份优点:备份期间数据库仍然可用,可以将数据库恢复到任意一个时间点。
冷备份优点:备份和恢复操作简单,可以在非归档模式下备份,数据库性能要比归档模式好,因为不用写相关日志信息到磁盘。
18. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?
自己创建一个控制文件,用带backup control file 子句的recover命令恢复数据库。
19. 如何转换init.ora到spfile?
使用create spfile form pfile 命令。
20. 解释data block , extent 和 segment的区别
data block是数据库中最小的逻辑存储单元。
当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent,一个数据库对象拥有的所有extends被称为该对象的segment.
21. 给出两个检查表结构的方法
DESC
DBMS_METADATA.GET_DDL
22. 怎样查看数据库引擎的报错
alert log.
23. 比较truncate和delete 命令
二者都用来删除表中所有的记录。区别在于:truncate 是DDL操作,不需要rollback segment ,而delete是DML操作,需要rollback segement且花费较长时间。
24. 使用索引的理由
快速访问表中的data block
25. 如何在不影响子表的前提下,重建一个母表
子表的外键强制实效,重建母表,激活外键
26. 给出数据库正常启动所经历的几种状态 ?
STARTUP NOMOUNT 数据库实例启动
STARTUP MOUNT 数据库装载
STARTUP OPEN 数据库打开
27. 哪个column可以用来区别V$视图和GV$视图?
INST_ID 指明集群环境中具体的某个instance .
17. 如何生成explain plan?
28. 如何增加buffer cache的命中率?
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令
28.ORA-01555的应对方法?
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL。
29. 解释$ORACLE_HOME和$ORACLE_BASE的区别?
echo $ORACLE_HOME
要用oracle用户,你看一下/home/oracle目录下的.profile文件里面有没有
ORACLE_HOME=......
export ORACLE_HOME 之类的东西。
还要确保/home/oracle/.dtprofile文件里面最后一行DTSOURCEPROFILE=true没有被注释掉。
需要oracle用户执行
su – oracle
unix区分大小写的:su - oracle和su oracle的效果完全不一样,su - oracle会执行oracle的.profile文件,su oracle不会。
ORACLE_BASE下是admin和product
ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等。
ORACLE_HOME比ORACLE_BASE目录要更深一些。也就是:ORACLE_HOME=$ORACLE_BASE/product/version
ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。
简单说,你如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个
全局数据库名用于区别分布式数据库各个不同机器上的实例。 SID用于区别同一台机器上的不同实例, 即一个用于外部区分;一个用于内部区分。
30如何判断数据库的时区?
解答:select dbtimezone from dual;
本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/725702,如需转载请自行联系原作者