0.在linux下安装oracle及Linux的基本用户、文件、文件夹管理
1) 安装Linux,选择安装全部“开发工具”组件,再安装“libxp.rpm”,参见网络视频。

2) 验证已安装的程序包:

# rpm -q make gcc compat-db
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9

3)添加组和用户

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle

4)修改密码

passwd oracle

5)创建目录

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

6)root用户执行,修改内核参数

cat >> /etc/sysctl.conf <

7)root用户执行,修改系统配置:

cat >> /etc/security/limits.conf <> /etc/pam.d/login <> /etc/profile <> /etc/csh.login <

8)oracle用户执行,修改profile文件:

cat >> /home/oracle/.bash_profile <

1. 查询出employee表中id小于110的员工的各部门工资总和的110%

select department_id, sum(salary) * 1.1
  from hr.employees
 where employee_id < 110
 group by department_id;

2. 查询出employee表加入公司第6早的员工全名

select first_name || ' ' || last_name full_name
  from (select *
          from (select * from hr.employees order by hire_date)
         where rownum <= 6
         order by hire_date desc)
 where rownum <= 1;

3. 查询出员工名字中第3个字符后含有a的名字

select first_name, last_name
  from hr.employees
 where instr(substr(first_name, 3), 'a') <> 0;

4. 查询出department_id大于20的员工的工资平均额

select avg(salary) from hr.employees where department_id > 20;

5. 能够分辨一串DML组成的事务结果
DML事务的结果
主要是搞清楚
DML(update,delete,insert)不会自动提交
DDL(create,alter,drop,truncate,)语句会自动提交
DDL(grant,revoke)语句会自动提交

6. 能够分辨多个session的锁定情况

Select * from v$lock 查看已锁定的情况
select * from v$session_wait; 查看需求资源的等待

7. 知道delete、drop、truncate的区别
1) truncate和 delete只删除数据不删除表的结构(定义) ,drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);
2) delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;. truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚.
3) delete语句不影响表所占用的extent, 高水线保持原位置不动 显然drop语句将表所占用的空间全部释放 truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).
4) 速度,一般来说: drop>truncate >delete

8. 能说出主键,外键的概念和用处
主键:唯一能够确定一条记录,比如你的身份证号,学号
主键的约束目的是首先确保表中的数据在主键划定的字段范围内是唯一的,另外因为主键约束都是在数据库中会自动创建唯一索引,所以你用主键进行检索的时候会有很高的效率
外键:和其他表的数据建立关联,外键的约束目的是确保B表中的数据存在是依存与A表中数据的,若A表中的数据不存在则B表中数据不能存在

9. 会创建和使用视图、索引、序列
View
Index
Sequence

10. 懂得角色和用户的权限赋予,收回

grant dba to hr;
revoke dba from hr;
grant select any dictionary to hr;
revoke select any dictionary from hr;
grant select any dictionary to hr with admin;
grant select any dictionary to hr with admin option;

11. 会使用to_char/to_date/substr/concate/instr/length

select to_char(123456) from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_date('2011-10-01 10:10:10','yyyy-mm-dd hh24:mi:ss') from dual;
select substr('dianjing', 2) from dual;
select substr('dianjing', 2, 3) from dual;
select concat('dian','jing') from dual;
select instr('dianjingabc', 'a') from dual;
select instr('dianjingabc', 'a', 4) from dual;
select instr('dianjingabc', 'a', 1, 2) from dual;
select length('dianjing') from dual;

12. 将每个雇员的工资改成自己部门最高工资的数额

update hr.employees a
   set a.salary =
       (select max(b.salary)
          from hr.employees b
         where a.department_id = b.department_id)
 where a.department_id is not null;
Trackback

no comment untill now

Add your comment now

切换到手机版