Oracle数据库基础阶段测试题答案

1.Oracle系统结构中,Oracle服务分为(OracleDatabase)和(OracleInstance)。

2.Oracle Database必需的三种文件为( 数据文件(datafile))、(控制文件(controlfile))、(日志文件(logfile))。

3.Oracle的内存结构包括两类,分别(系统全局区(SGA))、(程序全局区(PGA))。

4.SQL的中文含义为(结构化查询语言)。

5.写出SQL语言的分类,及每一类下的常用命令

数据查询语言(DQL)select …from …where

数据操纵语言(DML)inert update delete

数据定义语言(DDL)create alter drop

数据控制语言(DCL)grant revoke commit rollback savepoint

6.请写出启动Oracle服务及监听器的DOS命令。

Net start oracleserviceYC101

Lsnrctl start

7.请写出在SQL*PLUS中保存当前缓存中语句的命令为。(保存到C盘,文件名为hr.sql)

Save c:\hr.sql (‘\’ 可以不加)

8.描述Departments表结构命令。

Desc departments

9.请写出6种以上Oracle常用数据类型。

Char, varchar, nchar, varchar2, number, long, date -------常用的类型

10.创建一个新帐号MOON,赋予CREATE SESSION与RESOURCE权限,登录到MOON模式,创建部门表(编号,名称)。

首先切换到sys账号,然后创建用户

Conn sys/password as sysdba

Create user MOON identified by MOON;

Grant create session,resource to MOON;

Conn MOON/MOON

Cerate table department

(

Depertment_id char(10) primary key,

Department_name varchar(20) not null

)

11.使用SELECT语句显示当前系统时间,显示格式为如:2009-03-25 20:13:43

Select to_char(sysdate,’ yyyy-mm-dd hh24:mi:ss’) from dual;

12.查询2005年1月1日到今天相隔的月数及天数,要求显示整数。

MONTHS DAYS

---------- - ---------

50 1544

select trunc(months_between(

sysdate,to_date('2005-1-1','YYYY-MM-DD'))) MONTHS,

trunc(sysdate-to_date(‘2005-1-1’,’YYYY-MM-DD’)) DAYS

from dual

13.查询下一个星期一的日期。

select sysdate,next_day(sysdate,'星期一') from dual

14.查询hr.employees表,将first_name与last_name连接在一起显示,查询结果必须是小写字母。

如:

renske ladwig

james landry

select lower(concat(first_name||' '||last_namr)) FULLNAME,

from employees;

15.在HR.Emplloyees表中,找出所有First_name中含义’S’字母的员工。

select * from employees where first_name like '%S%'

16.查询HR.Employees表中月薪大于5000元的员工信息,要求薪水显示货币符号,并用逗号分隔。如$100,000.00

select to_char(salary,'$999,999.00') from employees

where salary >5000

17.显示当前会话参数,并将当前会话地区修改为AMERICA。

Select * from V$nls_parameters;

Alter session set nls_territory=’ AMERICA’

18.年终时,对于所有销售有关人员发放奖金,其中销售管理人员额度为薪水*佣金*0.15,销售代表额度为薪水*佣金*0.1,最后求所有员工的实发工资,并按降序排列。提示:销售相关人员的实发工资为月薪+佣金+奖金。

select last_name,

salary,

job_id,

CASE job_id WHEN 'SA_REP' THEN salary*COMMISSION_PCT *0.1*12+salary*12+salary*COMMISSION_PCT*12

WHEN 'SA_MAN' THEN salary*COMMISSION_PCT*12 *0.15+salary*12+salary*COMMISSION_PCT*12

ELSE salary*12

END "total_salary"

FROM employees

ORDER By salary desc

19.在当前时间上加2小时。

select to_char(sysdate+(1/24)*2,'yyyy-mm-dd hh24:mi:ss') from dual

20.求HR.Employees表中所有员工分配的部门数。提示:可以使用DISTINCT

1>select count(distinct(department_id))

from employees

2>select count(distinct department_id)

from employees

21.求HR.Employees中各个部门的平均工资。

select department_id, avg(salary) from employees group by(department_id)

22.查询HR.Employees表,使用CASE…WHEN…THEN…END语句,把SALAY分为高工资(>8000)、中等工资[5000,8000]及低工资(<5000)。

select salary,

case when salary>8000 then '高工资'

when salary between 5000 and 8000 then '中等工资'

when salary<5000 then '低工资'

end salary

from employees

23.查询最高工资人员基本信息。提示:可使用子查询

select * from employees

where salary=

(select max(salary) from employees)

24.下面是BI帐号及其状态,请对BI解锁,设置新密码,并切换到BI帐号,查询所有用户表。(BI EXPIRED & LOCKED)

首先切换到sys账号,然后创建用户

Conn sys/password as sysdba

Alter user BI account unlock;

Password BI:BI

Conn BI/BI

Select * from dba_tables;

25.如果SYS帐号密码丢失怎么办?

分步

ORAPWD file=pwdaccp.ora password=m123 entries=1
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值