OCM学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最近在看韩顺平老师讲解的“玩转oracle”视频在学习的过程中觉得还是有必要将一些知
识点整理出来以期后期记忆跟不上时光变迁时回头做一个简单地回顾。所以在记笔记的过程
中可能会显得有一些杂乱还请各位看官如果无意间闯入本文能够多多包含。温馨提示
个人认为韩顺平老师的授课视频适合每一位IT人员去观看和琢磨风趣幽默、浅显易懂
擅长化繁为简对提升自我还是大有裨益的
1数据库一般分为小型数据库access,foxbase、中型数据库mysql,sql server,informix
和大型数据库oracle,db2,sybase。我们在考虑选用哪种数据库时通常需要综合考虑以
下三个方面的因素①负载量大小即用户使用数量的多少②成本即企业或者是个人愿
意投入的成本③安全性。一般的如果负载在100人内成本在千元以内对安全性要求
不高时可以选用小型数据库。而当需要处理海量千万级数据成本在万元以上对安全性要
求较苛刻时则考虑使用大型数据库且目前大型数据库的综合评分排名顺序为SYBASE
2oracle认证分三层OCA->oracle初级认证OCP->oracel专家级认证OCM->oracle大师
认证。通常我们如果能让自己通过OCP认证就不错了哦。
3Daemon Tools是一款虚拟光驱的工具安装oracle镜像文件的时候可能会使用到它。如
果不会使用又需要使用请自己度娘。
4oracle安装会自动生成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关键字会将与这个用户相关联的表一并删除。
7oracle数据库权限一般分为系统权限用户对数据库的相
关权限和对象权限用户对
其他用户的数据对象操作的权限。oracle的角色主要分为自定义角色和预定义系统已经
定义好的角色。
9授权的关键字是grant收回权限的关键字是revoke
with grant option-->A授权权限B给C之后如果带上with grant option的关键字则C就有
权限将B授权给别人这是针对对象权限。如果是系统权限则关键字应为with admin option.
10使用profile管理用户口令。
账户锁定的语法如下
①创建一个profilecreate profile profilename limit failed_login_attempts 尝试数量
password_lock_time 锁定天数
②将这个profile应用到某个用户alter user 用户名 profile profilename; 当然当某个用户
账户被锁之后也可以使用如下语句进行解锁
alter user 用户名 account unlock;
强制用户定期修改密码的口令如下
①创建一个profilecreate profile profilename limit password_life_time 密码有效天数
password_grace_time 可宽限的天数
②将这个profile应用到某个用户alter user 用户名 profile profilename;
12oracle表名必须以字母开头长度不能超过30个字符不能使用oracle保留字。
13oracle支持的数据类型如下所示
①字符型char定长最大可存储2000个字符查询速度极快。
②字符型varchar2,变长最大可存储4000个字符节约空间但查询效率较差温馨提示
编程世界里时间和空间永远是一对矛盾体要么以时间换空间
要么以空间换时间。
③clob字符型的大对象。
④数字型number范围-10的38次方到10的38次方。
⑤date日期类型包含年月日和时分秒
⑥timestamp日期类型精确到毫秒级。
⑦blob二进制数据可以存放图片、视频、声音等。
14表空间指的是存放表的那一块空间。
15在表中添加一个字段的语句:alter table 表名 add;
判断一个字段是否是空值的语句is null;
16删除表中数据通常有以下三种方法
①delete-->可以删除表中所有记录表结构仍然存在写日志可以恢复因此删除速度较
慢
②drop-->删除表的结构以及数据不可恢复
③truncate-->删除表中的所有记录保留表结构不写日志无法找回被删除的数据因此
删除速度极快
16NVL(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数据库配置助手】