OCM学习笔记

最近在看韩顺平老师讲解的“玩转oracle”视频在学习的过程中觉得还是有必要将一些知
识点整理出来以期后期记忆跟不上时光变迁时回头做一个简单地回顾。所以在记笔记的过程
中可能会显得有一些杂乱还请各位看官如果无意间闯入本文能够多多包含。温馨提示
个人认为韩顺平老师的授课视频适合每一位IT人员去观看和琢磨风趣幽默、浅显易懂
擅长化繁为简对提升自我还是大有裨益的

1数据库一般分为小型数据库access,foxbase、中型数据库mysql,sql server,informix
和大型数据库oracle,db2,sybase。我们在考虑选用哪种数据库时通常需要综合考虑以
下三个方面的因素①负载量大小即用户使用数量的多少②成本即企业或者是个人愿
意投入的成本③安全性。一般的如果负载在100人内成本在千元以内对安全性要求
不高时可以选用小型数据库。而当需要处理海量千万级数据成本在万元以上对安全性要
求较苛刻时则考虑使用大型数据库且目前大型数据库的综合评分排名顺序为SYBASE

2oracle认证分三层OCA->oracle初级认证OCP->oracel专家级认证OCM->oracle大师
认证。通常我们如果能让自己通过OCP认证就不错了哦。

3Daemon Tools是一款虚拟光驱的工具安装oracle镜像文件的时候可能会使用到它。如
果不会使用又需要使用请自己度娘。

4oracle安装会自动生成sys用户和system用户其中sys用户是超级用户具有最高权限
拥有sysdba的角色拥有创建新的数据库create database的权限。system用户是管理操作
员权限也是很大的具有sysoper系统操作员的角色没有创建新的数据库的权限,其他基
本等同于sys用户。一般来讲对数据库进行维护使用system用户登录即可。

5在sql/plus中切换登录用户的口令conn username/password@全局数据库名 as
sysdba/sysoper;

断开连接的口令disc;

修改密码的口令passw;

运行脚本的口令start 脚本所在的目录+文件名

保存sql plus中的内容到一个文件中去的口令spool 文件地址spool off; 设置每行显示多
少个字符的口令set linesize 100设置每行显示100个字符

设置每页显示多少条数据的口令set pagesize 10,设置每页显示10条数据 查看表结构的
口令desc +表名

清屏命令clear

6当需要删除一个用户而这个用户又拥有属于自己的表时则删除用户DROP USER时
如果使用cascade关键字会将与这个用户相关联的表一并删除。
7oracle数据库权限一般分为系统权限用户对数据库的相

关权限和对象权限用户对
其他用户的数据对象操作的权限。oracle的角色主要分为自定义角色和预定义系统已经
定义好的角色。

9授权的关键字是grant收回权限的关键字是revoke

with grant option-->A授权权限B给C之后如果带上with grant option的关键字则C就有
权限将B授权给别人这是针对对象权限。如果是系统权限则关键字应为with admin option.

10使用profile管理用户口令。

账户锁定的语法如下

①创建一个profilecreate profile profilename limit failed_login_attempts 尝试数量
password_lock_time 锁定天数

②将这个profile应用到某个用户alter user 用户名 profile profilename; 当然当某个用户
账户被锁之后也可以使用如下语句进行解锁

alter user 用户名 account unlock;

强制用户定期修改密码的口令如下

①创建一个profilecreate profile profilename limit password_life_time 密码有效天数
password_grace_time 可宽限的天数

②将这个profile应用到某个用户alter user 用户名 profile profilename;

12oracle表名必须以字母开头长度不能超过30个字符不能使用oracle保留字。

13oracle支持的数据类型如下所示

①字符型char定长最大可存储2000个字符查询速度极快。

②字符型varchar2,变长最大可存储4000个字符节约空间但查询效率较差温馨提示
编程世界里时间和空间永远是一对矛盾体要么以时间换空间

要么以空间换时间。

③clob字符型的大对象。

④数字型number范围-10的38次方到10的38次方。

⑤date日期类型包含年月日和时分秒
⑥timestamp日期类型精确到毫秒级。

⑦blob二进制数据可以存放图片、视频、声音等。

14表空间指的是存放表的那一块空间。

15在表中添加一个字段的语句:alter table 表名 add;

判断一个字段是否是空值的语句is null;

16删除表中数据通常有以下三种方法

①delete-->可以删除表中所有记录表结构仍然存在写日志可以恢复因此删除速度较
慢

②drop-->删除表的结构以及数据不可恢复

③truncate-->删除表中的所有记录保留表结构不写日志无法找回被删除的数据因此
删除速度极快

16NVL(sal,0)函数,如果sal不为空则取sal的值如果为空则置为0 --模糊匹配

select * from dpcrm.t_cust_custbasedata cust where cust.fcustname like '___宝%';

查询出客户名称第四个字符为“宝”的所有客户的信息。

--需要对分组显示的结果进行再筛选的时候

用到having子句。分组函数只能出现在选择列表、
having、order by子句中。group by、having、order by 出现的顺序是先group by、然后having、
最后order by。

N个表联合查询时where后的条件个数必须满足>=(N-1)。

子查询是指嵌入在其他sql语句中的select语句。

17子查询结果为多列

select d.fdeptcode,d.fdeptname

from t_org_department d

where (d.fdeptcode, d.fdeptname) in

(select de.fdeptcode, de.fdeptname
from t_org_department de

where de.fdeptcode like 'J%'

and de.fdeptname like '上海%');

--分页查询通用脚本

select *

from (select a1.*, rownum rn

from (select dept.fdeptcode, dept.fdeptname from t_org_department dept order by dept.fid) a1

where rownum <= 15)

where rn > 10

--创建一张表并从另外一张表中迅速复制到数据的语句如下

create table 表名(列1列2列3。。。。) as select ....from....

--union-->该操作符用于去的两个结果集的并集当使用该操作符时会自动去掉结果集中
的重复行。

--intersect-->使用该操作符用于取得两个结果集的交集

--minus-->使用该操作符取得两个结果集的差集用集合操作往往比用and or速度快得多。

18)可以使用工具来创建新的数据库-->【dbca数据库配置助手】

相关文档
最新文档