韩顺平oracle笔记

所需积分/C币:34 2018-11-18 16:34:41 12.19MB PDF

韩老师的学习笔记,配合韩顺平的书看,效果相当好,学习oracle利器
说明 dSys用户是超级用户,具有最高权限,具有 sysdba角色, create database 的权限,默认密码是 llldrldger ② System用户是管理操作员,权限也很大,具有 sysoper角色,没有 create database权限,默认密码是 change on install 一般讲,对数据库维护,使用 sys Leni用户登录就可以了 3.启动 oracle 右键单击我的电脑→>服务和应用程序:服务>启动0 racleserviceMyoral( MYORA1 是安装 oracle时起的名字各有不同)和 Oracleoraclehome9 OTNSLIistener 4.卸载 oracle 1、先关掉 oralce, net stop Oracle ServiceORCL(ORCL是我的实例名字,换成 你的),或者去我的电脑服务中关闭 2、开始一>程序一> Oracle- oracle的版本号,我的是10 gome-> Oracle Installation Products-> Universal Installer i]* oracle 3、进注册表, regedit,删除选择 HKEY LOCAL MACHINE SOF TWAREORACLE下所有的key HKEY LOCAL MACHINE SYSTEM\ CurrentControlSet\ Services HKEY_LOCAL_MACHINEISYSTEM CurrentControlSet Services(Eventlog\App lication这个里面所有有 oracle这个字眼的,删除 4、删除c盘 Program Filestoracle目录的东西以及 oracle安装目录下所有的文 件以及文件夹 5、环境变量中删除有关 oracle的 classpath和path 三、 oracle开发工具 Sqlplus是 Oracle自带的工具软件,主要用于执行sq语句,pl/sq块。 如何使用: 1)在开始程序◇ oracle orachome90 , application developmentosql'pus(这个是在cos下操作) )在运行栏中输入: sqlplusw或者 sqlplus即可 3)在开始◇程序◇ oracle orahome90◇ Application develapmentosql plus worksheet 4) pl/sql developer属于第三方软件,主要用于开发,测试,优化 oracle pla/sq的 存储过程如:触发器,此软件 oracle不带,需要单独安装。 5) oracle的企业管理器( oem oracle enterprise manager) 位置在开始◇程序◇ oraclevoracle oraclehome90 Denterprise manager console 即可启动 oracle的企业管理器,是一个图形界面坏境 四、Sq1*1us的常用命令 1.连接命令 (1)connEct] 用法:comn用户名/密码@网络服务名[ as sysdba/ sysoper](角色登陆)当 用特用户身份连接时,必须带上 as sysdba或是 as sysoper 例: conn scott/ tiger; show user;显示当前用户 2.断开连接命令 (2) disc lotneclI 说明:该命令用来断开与当前数据库的连接 (3) passw[ord]说明:该命令用于修改用户名的密码。如果要想修改其他用户的 密码,需要用sys/ system登陆。 (4) show user 说明:显示当前用户名 (5) exit 说明:该命令会断开与数据库的连接,同时会退出sq1*plus 3.文件操作命令 (1) start和 说明:运行sq1脚本 案例:sq1》d:a.sq1或者sq1> start d:a.sq1 (2)edit 说明:该命令可以编辑指定的sq1胭本。 案例:sql> edit d:\a.sq1 (3)spool 说明:该命令可以将sq1*plus屏幕上的内容输出到指定文件中去。 案例:sql> spool d:\b.sq1并输入sq1> spool off 4.父互式命令 (1)& 说明:可以替代变量,而该变量在执行吋,需要用户输入。如:sqL> select * from emp where job=‘&job’输入job是注意大小写 (2) edit 说明:该命令可以编辑指定的sq1脚本 案例:sq1>ditd:\a.sq 5.显示和设置环境变量 概述:可以用来控制输出的各种格式, set show如果希望永久的俫存相关的设置, 可以去修改 login.sq脚本 (linesize 说明:设置显示行的宽度,默认是80个字符 sqI>show linesize sqI>set linesize 90 pagesize 说明:设置每页显示的行数目,默认是14用法和 linesize样,至于其 他环境参数的使用也是大同小异 sql> set pagesize8实际得到的不是14/8=2页而是:14/(8-3)=5页 五0 racle用户的管理 1.创建用户 概述:在 oracle中要创建一个新的用户使用 create user语句,一股是具有dba (数据库管理员)的权限才能使用 create user用户名 identified by密码 2.给用户修改密码 概述:如果给自己修改密码可以直接使用sql> password用户名 如果给别人修改密码则需要具有dba的杈限,或是拥有 alter user的系统 权限 sq]>alter user用户名 identified by新密码 3.删除用户 概述:一般以dha的身份去删除某个用户,如果用其他用户去删除用户则需要具 有 drop user的权限 比如 drop user用户名【 cascade】 注意:在删除用户时,如果要删除的用户已经创建了表,就需要在删除的时候带 一个参数 cascade 1用户管理的综合案例 概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需 要为其指定相应的权限。给一个用户赋权限( connect登陆,dba管理员, resource 建表)使用命令 grant,回收权限使用命令revoκe. 为了给讲清楚用户管理,给大家举一个案例。 案例: 新建一个用户lady并给该用户赋可登陆可创建表 Sa1>create user lady identified by lady 123(E 1l) 受登陆权限:◇ grant connect to lady 受可创建表: grant resource to lady 可以多个同时授权: grant connect, resource to lady; 注意授权月户级别应该为(dha以上sys/ system) 还可以使用PL/SL工具创建:文件->新建→>用户 现在我要把 scott用户里面的emp表的权限赋给lady用户但lady以能有对emp 查询权限: grant select on emp to lady,(授权用广级别应该:授权本身,或者sys/ system) 1ady查询emp的方式: select* from scott.emp; 案例:同上我想把 update的权限也赋给leng◇ grant update on emp to leng 2)我想把emp所有的(增,删,改,查/ insert, delete, update, select这四个 起可以用a1l代替) 操作权限赋给1eng grant all on emp to leng;(此时登陆用户为 scott) 案例2:这时我想把权限收回来怎么办呢? 这吋用关键字 revoke(撤回)◇ revoke select on emp from lady;收回lady的查权限 案例: 现在 scatt希望吧查询emp表权限通过1ady用户继续给别的用户 Scott grant select on emp to lady with grant option Leng> grant select onl scott. emp Lo新建用户 案例 scott想把emp表的权限从leng用户赋权给新用户yoyo Scott> grant select on ep to leng with grant option Leng> grant select on scott. emp to voyo; Yoyo> select *k from scott. emp 如果是对象权限,就加入 with grant option Bs grant select on emp to xiaoming with grant option 如果是系统管理权限, system给 Xiaoning权限时: Bi grant connect to xiaoming with admin option 如果 scott把 XiaomIng刈emp表的查询权限回收,那么 xiaohong会怎么样 Scott-〉 X aoming〉 xiaohong,结果就是 XIaomIng, xiaohong,都不能査询emp表 5. oracle用户的管理 使用 profile管理用户口令 概述: profile是凵令限制,资源限制的命令集合,当建立数据库时, oracle会 自动建立名称为 default的 profile.当建立用户没有指定 prefile选项,那 oracle就会将 default分配给用户。 (1)账户锁定 概述:指定该用户锁定登陆时最多多可以输入密码的次数,也可以指定用户锁定 的吋间·般用dba的身份去执行该命令 例子:指定 scott这个用户最多只能尝试3次登陆 使用 profile管理用户口令 (1)账户锁定 概述:指定该用户锁定登陆时对多可以输入密码的次数,也可以指定用户锁定的 时问一般用dba的身份去执行该命令 例子:指定 scott这个用户最多只能尝试3次登陆,锁定时间为2大,计我们看 看怎么实现。 创建 profile文件(相当于创建规则) sql>create profile aaal limit (aa1创建规则的名称) failed login attempts 3 password lock time 2 (设置登陆的次数为3次及锁定时间为:2天) AHR: create profile aaal limit failed login attempts 3 password lock time 2; Sql>alter user leng profile aaal 2)给账广(用广)解锁 sql> alter user leng account un lock (3)终止口令 为了让用户定期修改密码可以使用终止口令的指令来完成同样这个命令也需要 dba身份来操作。 例了:给前面创建的用户lady创建个 profile文件,要求该用户每隔10天要 修改自家的登陆密钨,宽限期为2天。看看怎么做。 sql> create profile myprofile limit password life time 10 password grace time 2 sql> alter user leng profile myprofile sql> alter user leng account unlock; 6.口令历史 概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历 史,这样 oralce就会将口令修改的信息存放到数据字典中,这样当用户修改密码 时, oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新 输入密码。 例子: 1)建立 profile sql>create profile password history limit password life time 10 paaword grace time 2 password reuse time 10 create profile//创建的文件名。 Password life time//使用期为10天 passwrod grace time//宽限期为两天 password reuse time//指定山令可重用时间即10天后就可以重用 修改密码在10天内不能与旧密码一样,10天就可以重用 2)分配给某个用户。 删除 profile 概述:当不需要某个 profile文件时,可以删除该文件。 sql> drop profile password history【 cascade】 第2讲:表 内容介绍: 1、 oracle的表的管理(创建和维护) 2、基本查询 3、复杂查询 4、 Oracle数据库的创建 表名和列的命名规则: 表名必须以字母开头 长度不能超过30字符 不能使用 oracle的保留字 只能使用如下字符A-Z,a-z,0-9,$,#等 oracle支持的数据类型 1.字符型 char 定长最人2000宁符 例子:char(10)‘小韩’前四个字符放’小韩’,后添6个空格补全。‘小 韩 char型查询速度极快 varchar2(20)变长最大4000字符。 例子: varchar2(20)“小寒’ oracle分配四个字符。 这样可以节省空间 varchar2会自动去匹配 clob字符型大对象最大4G 2.数字型 number范围负(10的38次方)到10的38次方可以表示 整数,也可以表示小数。 number(5,2):括号里面的数据可改变 表示一个小数有5位有效数,2位小数范围:-999.99999.9 范围负999.9到999.99 number(5) 表示一个五位整数 范围负9999到99999 3.日期类型 date 包括年月日和时分秒(一般项目足够用) timestamp这是 oracle9i对date数据类型的扩展(精度吏高) 4、二进制(可存放图片,声音,视频文件) blob 二进制数据可以存放图片声音4G 般来讲不会把图片,声音,视频文件网数据库里面存放,一般存放他们的 路径; 如果这些数据保密性高,可以考虑存在数据库里面。 8 表的管理 1.建表 班级表 sq1> create table class(表名 classed number(2),—-班级编号 cname varchar2(40),—班级名称 IR&: sql> create table class(classId number(2), cname varchar2(40)) 一学生表 sql> create table student 表名 xh number(4),-学号 xm varchar2(20),-姓名 sex char(2),一性别 birthday date,一出生日期 sal number (7,2)—奖金 方法2:利用p1/sq1 developer工具建 在左边的工具栏的对象栏一〉选中 Tables文件火右键->新建→填写内容单击应 用 分析存储栏:表示你要把所建的表存放在哪里,默认放在 system这个表空间。 表空间:表存放在一个文件里,存放在一个磁盘里,不会在内存了,最终会放在 数据库某一空间里。所以表空间就是存放表的一个空间 列 索引:主要用于提高速度 2.修改表 添加个字段 sql> alter table student add(classid number(2)) 查看表结构 desc student 修改字段的长度 sql> alter table student modify (xm varchar2 (30)) 修改字段的类型(不能有数据) sql> alter table student modify (xm char(30)) 删除一个字段 sql> alter table student drop column sal 修改表的名字 sql> rename student to stu; 删除表 sql> drop table student 3.添加数据 所有字段都插入 insert into student values(‘A001’,’刘权’,’男’,’07-5月-89,10); ORACLE中默认的日期格式’DD-MON-YYd日子(天) mon月份yy2位的年?1996年6月9号 改口期的默认格式 alter session set nls date format = yyyy-mm-dd 修改后,可以用我们熟悉的格式添加日期类型 insert into student values(‘A002’,’李四’,’男’,’1990-05-28’,10) 插入部分字段 Insert into student(xh,xm,sex) values(“A002’,’john’,’女’); 插入空值 Insert into student (xh, xm, sex, birthday) values(‘A003’,’ MARTIN’,’男’,nul1); 查出没有生日的人 Select x from student where birthday is null 查看有生日的人 Select s from student where birthday is not null 4.修改数据 改一个字段 update student set sex=‘女’ Where xh=‘A001 修改多个字段 update student set sex=‘男’, birthday=21996-11-12 where xh=“A001’ 修改含有nul1值的数据 注意: select时查询mu1l时,要用 is null 5.删除数据 删除数据 delete from student;(只删数据不删除表,表结构还存在) 数据回滚 rollback;(恢复数据) 在ro1back之前要先设置 savepoint才能恢复数据 t]: delete from student Savepoint aa Rollback to aa. 有经验的dha工作之前一般会做一个 savepoint 删除所有记录,表结构还在,写日志,可以恢复的,速度慢 drop tahle student;删除表的结构和数据 delete from student where xh=‘A001’;删除·条记录 truncate table student 删除表中的所有记录,表结构还在,不写日志,无法我回删除的记录,速度快

...展开详情
试读 82P 韩顺平oracle笔记
img
hu4327563

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    韩顺平oracle笔记 34积分/C币 立即下载
    1/82
    韩顺平oracle笔记第1页
    韩顺平oracle笔记第2页
    韩顺平oracle笔记第3页
    韩顺平oracle笔记第4页
    韩顺平oracle笔记第5页
    韩顺平oracle笔记第6页
    韩顺平oracle笔记第7页
    韩顺平oracle笔记第8页
    韩顺平oracle笔记第9页
    韩顺平oracle笔记第10页
    韩顺平oracle笔记第11页
    韩顺平oracle笔记第12页
    韩顺平oracle笔记第13页
    韩顺平oracle笔记第14页
    韩顺平oracle笔记第15页
    韩顺平oracle笔记第16页
    韩顺平oracle笔记第17页
    韩顺平oracle笔记第18页
    韩顺平oracle笔记第19页
    韩顺平oracle笔记第20页

    试读已结束,剩余62页未读...

    34积分/C币 立即下载 >