数据库试题1

[b]1.创建用户时,需要赋予新用户什么权限才能使它联上数据库。[/b] Connect

[b]2. 如何在tablespace里增加数据文件?[/b]
alter tablespace <table_name> add datafile <datafile_name> size <size>

[b]3. 如何变动数据文件的大小?[/b]
alter database datafile <datafile_name> resize <new_size>

[b]4. 哪个VIEW用来检查数据文件的大小?[/b]
DBA_DATA_FILES

[b]5. 哪个VIEW用来判断tablespace的剩余空间?[/b]
DBA_FREE_SPACE

[b]6. 如何判断谁往表里增加了一条纪录?[/b]
auditing

[b]7. 如何重构索引?[/b]
alter index index-name rebuild ;
[b]
8. 解释什么是Partitioning(分区)以及它的优点。[/b]
Patition将大表或者索引分割成更小,易与管理。

[b]9. 你刚刚编译了一个PL/SQL Package但是有错误报道,如何显示出错信息?[/b]
show errors

[b]10. 如何搜集表的各种状态数据?[/b]
ANALYZE

[b]11. 如何启动SESSION级别的TRACE[/b]
DBMS_SESSION.SET_SQL_TRACE
ALTER SESSION SET SQL_TRACE=TRUE

[b]12. IMPORT和SQL*LOADER 这2个工具的不同点[/b]
IMPORT只能导入由另一个数据库工具EXPORT导出的数据;
SQL*LOADER 可以导入不同的ASCII格式的数据源。

[b]13.用于网络连接的2个文件?[/b]
TNSNAMES.ORA SQLNET.ORA Black_snail

[b]14.请说明实例与数据库的关系;表空间和数据文件的关系?[/b]
数据库:顾名思义是数据的集合,而Oracle则是管理这些数据集合的软件系统,它是一个对象关系型的数据库管理系统。
数据库实例:数据库启动时,分配SGA并启动后台进程。后台进程和内存缓冲的集合合称为数据库实例。
表空间: 表空间是Oracle对物理数据库上相关数据的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。
数据文件:每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。数据文件的大小之和即为表空间的存储能力。

[b]15.请阐述同议词的作用.你认为情况下要使用同义词.?[/b]
创建同义词语句:
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;

[b]16.查看所有同义词: [/b]
select * from dba_synonyms
好处:节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接

[b]17.解释冷备份和热备份的不同点以及各自的优点:[/b]
答:热备份针对归档模式的数据库,在数据库任然处于工作状态时进行备份。而冷备份是在数据库关闭后进行备份,适合所有模式的数据库。
热备份优点:备份期间数据库仍然可用,可以将数据库恢复到任意一个时间点。
冷备份优点:备份和恢复操作简单,可以在非归档模式下备份,数据库性能要比归档模式好,因为不用写相关日志信息到磁盘。

[b]18. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?[/b]
自己创建一个控制文件,用带backup control file 子句的recover命令恢复数据库。

[b]19. 如何转换init.ora到spfile?[/b]
使用create spfile form pfile 命令。

[b]20. 解释data block , extent 和 segment的区别[/b]
data block是数据库中最小的逻辑存储单元。
当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent,一个数据库对象拥有的所有extends被称为该对象的segment.

[b]21. 给出两个检查表结构的方法 [/b]
DESC
DBMS_METADATA.GET_DDL

[b]22. 怎样查看数据库引擎的报错[/b]
alert log.

[b]23. 比较truncate和delete 命令[/b]
二者都用来删除表中所有的记录。区别在于:truncate 是DDL操作,不需要rollback segment ,而delete是DML操作,需要rollback segement且花费较长时间。

[b]24. 使用索引的理由[/b]
快速访问表中的data block

[b]25. 如何在不影响子表的前提下,重建一个母表[/b]
子表的外键强制实效,重建母表,激活外键

[b]26. 给出数据库正常启动所经历的几种状态 ?[/b]
STARTUP NOMOUNT 数据库实例启动
STARTUP MOUNT 数据库装载
STARTUP OPEN 数据库打开

[b]27. 哪个column可以用来区别V$视图和GV$视图?[/b]
INST_ID 指明集群环境中具体的某个instance .
17. 如何生成explain plan?

[b]28. 如何增加buffer cache的命中率?[/b]
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令

[b]28.ORA-01555的应对方法?[/b]
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL。

[b]29. 解释$ORACLE_HOME和$ORACLE_BASE的区别?[/b]
echo $ORACLE_HOME
要用oracle用户,你看一下/home/oracle目录下的.profile文件里面有没有
ORACLE_HOME=......
export ORACLE_HOME 之类的东西。
还要确保/home/oracle/.dtprofile文件里面最后一行DTSOURCEPROFILE=true没有被注释掉。
需要oracle用户执行
[b]su – oracle[/b]
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用于区别同一台机器上的不同实例, 即一个用于外部区分;一个用于内部区分。

[b]30如何判断数据库的时区?[/b]
解答:select dbtimezone from dual;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值