4曾经Oracle课堂笔记.docx

上传人:b****4 文档编号:5472796 上传时间:2023-05-08 格式:DOCX 页数:39 大小:30.56KB
下载 相关 举报
4曾经Oracle课堂笔记.docx_第1页
第1页 / 共39页
4曾经Oracle课堂笔记.docx_第2页
第2页 / 共39页
4曾经Oracle课堂笔记.docx_第3页
第3页 / 共39页
4曾经Oracle课堂笔记.docx_第4页
第4页 / 共39页
4曾经Oracle课堂笔记.docx_第5页
第5页 / 共39页
4曾经Oracle课堂笔记.docx_第6页
第6页 / 共39页
4曾经Oracle课堂笔记.docx_第7页
第7页 / 共39页
4曾经Oracle课堂笔记.docx_第8页
第8页 / 共39页
4曾经Oracle课堂笔记.docx_第9页
第9页 / 共39页
4曾经Oracle课堂笔记.docx_第10页
第10页 / 共39页
4曾经Oracle课堂笔记.docx_第11页
第11页 / 共39页
4曾经Oracle课堂笔记.docx_第12页
第12页 / 共39页
4曾经Oracle课堂笔记.docx_第13页
第13页 / 共39页
4曾经Oracle课堂笔记.docx_第14页
第14页 / 共39页
4曾经Oracle课堂笔记.docx_第15页
第15页 / 共39页
4曾经Oracle课堂笔记.docx_第16页
第16页 / 共39页
4曾经Oracle课堂笔记.docx_第17页
第17页 / 共39页
4曾经Oracle课堂笔记.docx_第18页
第18页 / 共39页
4曾经Oracle课堂笔记.docx_第19页
第19页 / 共39页
4曾经Oracle课堂笔记.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

4曾经Oracle课堂笔记.docx

《4曾经Oracle课堂笔记.docx》由会员分享,可在线阅读,更多相关《4曾经Oracle课堂笔记.docx(39页珍藏版)》请在冰点文库上搜索。

4曾经Oracle课堂笔记.docx

4曾经Oracle课堂笔记

第一章Oracle(甲骨文)

 

数据库分类:

1>DDL:

数据定义语言

2>DML:

数据操作语言

3>DCL:

数据控制语言

4>事务控制

8i/9i:

internet

10g:

grid(网格):

特点:

由表与表组成

C/S:

客户端与服务器端—>胖客户端(程序安装完以后使用)

B/S:

浏览器—>瘦客户端(不用安装可以浏览使用)

x

1,以dba身份登陆(sqlplus"/assysdba"),

2,创建表空间(creattablespace)

3,创建用户(creatuser)

4,给用户授权(grant)

数据库:

Access:

多面数据库(小型)50m

sqlserver:

中型数据库--》微软

mysql:

开源版数据库(10g)(小型)

db2:

(IBM公司)超大型数据库,存储量大,操作安全,面向企业

Oracle:

适于中大型,大型公司

vF:

小型数据库

数据库鼻祖:

拉里.艾利森

Administrator:

用户

assistant:

助手

documentation:

文件

manager:

管理

console:

控制台

application:

应用程序

SQLplus:

编程工具

p-procedrual的缩写

 

系统用户:

1:

sys(sysdba:

包括sysoper的所有权限和创建数据库的权限

sysoper:

不能创建数据库)

2:

system(normal:

普通用户

sysdba:

身份)

3:

scott:

密码:

tiger(普通用户)

 

localhost:

本地

连接:

http:

//localhost/isqlplus

编写代码(4种):

1—命令行

2—sqlplus

3—walletManager

4—IE

登录方式:

输入:

cmd或sqlplus

cd\

sqlplus"sys/密码assysdba"

select*fromscott.dept;

更换用户:

connscott/tiger

指定数据库连接:

sqlplus"sys/密码@数据库assysdba"

用浏览器登录:

http:

//localhost:

7778/isqplus

http:

//localhost/isqlplus

 

第二章

体系结构:

(物理存储、逻辑存储、内存存储、进程存储)

1:

物理存储(看的到的)

包括:

控制文件(ctl)、数据文件(dbf)、日志文件(log)、参数文件(ora);

1>控制文件:

控制和管理数据文件和日志文件的-ctl

2>数据文件:

存储数据的文件-dbf

3>日志文件:

记录对数据文件操作的记录-log

{联机日志(重做日志)

归档日志(备份日志)

}

4>参数文件:

提供控制文件的一个具体路径-ora;

查找参数文件:

cd\

sqlplus"sys/密码assysdba"

descV$controlfile;

selectnamefromv$controlfile;

查找文件:

v$controlfile

v$detafile

v$logfile

文件组:

把次要文件放入文件组,便于管理

describe:

描述

2:

逻辑存储

包括:

表空间、段、盘区、块

表空间:

相当于SQL中的文件组,方便管理,可以分为多个段,段里可以划分盘区,盘区下可以划分块;

块:

标题、表目录、行目录、自由空间、行数据

3:

内存存储:

1:

实例:

oracle启动时,在内存当中开辟一个空间,并把所有进程启动

2:

内存结构:

1】系统全局区(SystemGlobalArea--SGA)

包括:

共享池、数据缓冲区、日志缓冲区、大共享池、Java池

1>数据缓冲区:

1.保持缓冲区:

当打开oracle实例直到关闭期间不能释放的信息或数据

2.再生缓冲区:

当需要的情况下,放入内存,不需要是,则释放掉

3.默认缓冲区:

支持oracle一些默认数据(时间、日期)

2>共享池:

『1.库缓存{sql区:

sql执行版本和各种语法规则

/PL/SQL区:

PL/SQL执行版本、语法规则和存储过程、函数、包和触发器的代码法规则}

2.字典缓存:

数据字典(dictionary)

数据字典:

描述数据的信息,存放表和视图(所有用户、所有数据、所有对象的信息)』

(Mback:

回滚、commit:

提交)

3>日志缓冲区:

存放对数据缓冲区操作数据的记录(必须提交:

commit)

『DBWR:

数据写进程

LGWR:

日志写进程

CKPT:

监测点(检测状态是否一致)

ARCH:

归档进程』

脏数据:

没有写入数据文件之前存放在数据缓冲区和日志缓冲区的文件(在内存缓冲区的数据)

2】程序全局区(ProgramGlobalArea-PGA)

4:

进程存储:

1:

用户进程:

当用户运行一个应用程序时,就建立一个用户进程

2:

服务器进程:

处理用户进程的请求

处理过程:

分析SQL命令并生成执行方案,从数据缓冲区存储区中读取数据,将执行结果返回给用户

3:

后台进程:

为所有数据库用户异步完成各种任务

『主要的后台进程有:

DBWR:

数据库写进程;

LGWR:

日志写进程;

CKPT:

检查点写进程,

SMON:

系统监控进程;

PMON:

进程监控进程;

ARCH:

归档进程;

RECO:

回复进程;

LCKN:

封锁进程』

第三章基本命令

 

一、支持命令:

helpindex(查看您命令)

?

帮助

set

*没有打开

无*打开

sqlblankline:

空行

setsqlblanklineon

list:

罗列、清单(list)

del:

删除(del)

append:

追加(afromdept;)

/或run:

运行

save:

保存

edit:

编辑

例如:

保存文件:

save+路径;(savec:

123.txt)

查看保存的代码:

get+路径

运行:

@+路径

编辑:

edit+路径

select*fromdeptwheredeptno=&a;

入a的值:

20:

节省内存和执行速度(用变量代替数值)

 

列:

column(col)-标签

?

col:

查看col的所有内容

col列号heading"部门号":

将部门号改写为中文

『ttitle:

页眉

Btitle:

页脚』

关闭页眉/页脚:

ttitleoff;

例如:

ttitlecenter"员工表"skip(换行)1left"测试"right"页"format(格式99占2位)sql.pno(生成页号)skip2;

存放文件:

spool(所写内容,开辟的文件里)

例如:

spoolC:

\emp.txt

保存内容;

spooloff;(结束)

例如:

setpagesize1000

select*fromemp;

?

set

pagesize:

页的大小

setpagesize100;

select*fromemp;

setlinesize:

行大小(设置)

 

break:

去掉重复列

compute:

在break的基础之上执行

例如:

selectdistinct*fromemporderbyjob;

breakonjob;

selectdistinct*fromemporderbyjob;

compcountlabel"计数"ofenameonjob;

select*fromemporderbyjob;

每个工作有多少人:

selectjob,count(*)fromempgroupbyjob;

distinct——去掉重复行的行

break---去掉重复项

selectdistinctjobfromemp;

排序:

orderby(desc:

降序,arc:

升序)

selectlinesize100

select*fromemporderbyjob;

分组:

groupby

selectjob.count(*)fromempgroupbyjob;

 

二、开启和关闭Oracle数据库

开启:

1:

开启:

startup『

1:

打开数据库实例

2:

打开控制文件

3:

打开数据文件和日志文件

2:

装载打开:

startupmount『

1:

开辟一个实例

2:

打开控制文件(没有打开数据文件和日志文件)』

装载过程:

1:

关闭数据:

shutdownimmediate;首先关闭数据库

2:

用装载模式开启:

startupmount;用装载模式打开数据库

3:

更改:

alterdatabasearchivelog;-将归档模式更改未存档模式

4:

打开更改:

alterdatabaseopen;打开更改后的数据库

5:

查看:

archiveloglist;查看数据库模式

3:

不装载打开:

startupnomount

『实例-启动』

4:

强迫打开:

startupforce(强迫)

1:

打开数据库实例

2:

打开控制文件

3:

打开数据文件和日志文件

查看数据库模式:

archiveloglist;

 

关闭:

1:

正常关闭:

shutdownnormal;-等待当前连接的所有用户断开与数据库的连接

2:

事务处理:

shutdowntransactional;-在完成事务处理后断开所有用户连接

3:

立即关闭:

shutdownimmediate;-回退活动的事务处理并断开所有用户连接

4:

中止:

shutdownabort;-立即关闭,中断数据库例程

第四章用户管理—安全

SQL操作系统的安全性:

用户、组

Oracle操作系统的安全性:

用户、角色

 

查看当前用户:

selectuserfromdual(当前用户);

connscott/tigerassysdba

selectuserfromdual;

创建用户:

2种『企业管理器、代码』

temp:

临时

profile:

概要

grant:

授权(grant+权限+to+用户)

创建用户:

createuser用户名identifiedby密码;

 

所有权限:

all

grantallonscott.deptto用户名;

conn用户名/密码;

select*fromscott.dept;

delectfromscott.deptwheredeptno=50;

commit;

授权首先连接sys

1:

grantconnectto用户;

2:

grantselectonscott.deptto用户;

insert

update

delete

3:

grantallonscott.deptto用户;

quota:

额度+单位

 

程序步骤:

1:

cd\

2:

sqlplus"sys/limengassysdba"

3:

创建用户:

createuser用户名identifiedby密码;

4:

grantconnectto用户名;授权

5:

connsys/zsyassysdba

6:

grantinsertonscott.deptto用户名;

7:

conn用户名/密码;

8:

insertintoscott.deptvalues(50,'shoulshi','ORCcle');

9:

commit;(提交)

10:

select*fromscott.dept;(查看)

 

修改表字段:

1.connsys/limengassysdba

2.grantallonscott.depttoxiaomeng;

3.connxiaomeng/xiaomeng

4.updatescott.deptsetdname='haha'wheredeptno=20;

mit;

6.select*fromscott.dept;

 

赋予用户创建用户的权限:

1.connsys/liemgassysdba

2.grantcreateuserto用户;

3.conn用户/密码;

4.createuser新用户identifiedby用户;

 

赋予用户创建表的权限:

connsys/limengassysdba;

alteruserxiaomengquota10monusres;

用户已创建

connxiaomeng/l123

createtablemm(idnumber,usernamevarchar2(20),pwdnumber)

表已创建

 

所有权限:

connsys/limengassysdba;

grantallonscott.depttogril;

conngril/l123;

 

二、逐一授权:

1:

对象授权:

(对表的操作—增、删、改、查)-可以对该用户下的用户授予权限

grantallonscott.deptto用户withgrantoption

例如:

1.connsys/limengassysdba

2.revokeallonscott.deptfrom用户;

撤销成功

3.grantallonscott.deptto用户withgrantoption;

授权成功

4.conn用户/密码;

5.select*fromscott.dept;

6.grantallonscott.deptto用户2;

7.connsys/limengassysdba;

8.grantconnectto用户2;

9.conn用户2/密码;

10.select*fromscott.dept;

 

2:

系统授权:

grantcreate...to...withadminoption;

1.connsys/limengassysdba;

2.grantcreateuserto用户withadminoption;

3.conn用户/密码;

4.grantcreateuserto用户2;

授权成功(即mm具有创建用户的权限)

撤销授权:

revoke;

revokeallonscott.deptfrom用户;

 

修改、删除用户:

1:

修改用户:

数据字典

descdba(管理员)-users(用户)

descdba_users;-查看所有用户信息

2:

selectusername,passwordfromdba_users;

alteruser用户identifiedby新密码accountlock;

 

例如:

用户在不知道密码的情况下登录

cd\

(1)sqlplus"sys/随便写assysdba"

(2)sqlplus"sysassysdba"---口令随便写

 

descdba_users;-查看所有用户信息

alteruser用户identifiedby新密码;

conn用户/密码;

connsys/limengassysdba;

锁定用户:

alteruser用户名mmaccountlock;

conn用户/密码;

撤销锁定:

connsys/limengassysdba

alteruser用户名accountunlock;

conn用户/密码;

 

3:

删除用户、表(drop)

『dropuser用户名

droptable表名

 

角色(Role):

1>createrolemy_role;

角色已创建

2>grantallonscott.depttomy_role;

授权

3>grantmy_roletoj1(用户);

 

概要文件:

概要文件用于限制由用户使用的系统和数据库资源,如果数据库中没有

创建概要文件,将使用默认概要文件。

概要文件一般信息的内容:

CPU/会话:

一个会话占用CPU的时间总量(以s/100为单位);

CPU/调用:

一个调用占用CPU的时间总量(以s/100为单位);

连接时间:

一个会话持续的时间最大值(以min为单位);

空闲时间:

一个会话处于空闲状态的时间最大值(以min为单位);

并行会话数:

一个用户进行并行会话的最大数量;

读取数/会话:

一个会话读取的数据块总量;

读取数/调用:

一个调用在处理一个PL/SQL语句时读取数据块的最大数;

专用sga:

在系统全局区(SGA)的共享池中,一个会话可分配的专用空间

最大值(以KB为单位);

组合限制:

一个会话耗费的资源总量。

它包括会话占用CPU的时间、连接

时间、会话中的读取数和分配的专用SGA空间量。

 

·口令选项界面的内容:

有效期:

多少天后口令失效;

最大锁定天数:

口令失效后多少天内可以更改此口令;

保留口令历史记录:

保留:

口令能被重新使用前必须被更改的次数;

保留时间:

口令失效后经过多少天才可以重新使用;

启用口令复杂性函数:

登录失败后锁定账户:

用户在登录失败几次后,该帐户将被锁定,并可

指定锁定天数。

 

第五章客户端与服务器端的连接

机制

Oracle:

默认端口(1521)

SQLServer:

默认端口(1433)

mysql:

默认端口(3306)

 

本地监听器:

1:

添加端口

2:

重启监听器(在根录下启动:

lsnrctlstatr监听器名)

例如:

cd\

lsnrctlstartlistener1;

3:

设net服务名

 

第六章SQL基础

 

数据库中的对象:

视图:

(虚表)不占内存空间

表与索引:

占内存空间

序列、同义词:

不占内存空间

 

数据类型:

char:

静态开辟空间

varchar2(20):

动态开辟空间』—字符型

number(p—整个数字的长度(99位),s—小数部分)

Date:

日期类型

Long:

长整型(动态开辟空间—2G)

clob

blob—>二进制或字符,每个单元格可存放4G

Rawandlongraw:

纯二进制存放(4000字符)

 

 

Sqlserver修改属性:

altertable表名

altercolumn列名

 

建表、修改属性:

1:

createtabletext(anumber,bvarchar2(20),cdate);

2:

desctext;

3:

altertable表名

add列名类型;(添加)

4:

desctext;

5:

altertable表名

dropcolumn列名;(删除)

6:

altertable表名

modify列名varchar2(50)(修改内容);(修改属性)

 

更改表名:

1:

rename旧名to新名;

2:

altertable表名renameto新表名;

更改列名

altertable表名renamecolumn旧列名to新列名;

删除表:

droptable表名;

 

表的命名规则:

必须以字母开头

1-30个字符

可以包含字母,数字,下划线,#,$

不能使用保留字

不能同名

 

查询数据字典:

Selecttable_namefromuser_tables;

Selectdistinctobject_typefromuser_objects;

Select*fromuser_catalog;

 

数据类型:

Varchar2(size);0~4000

Char(size);0~2000

Number(p,s);

Date(日期)

Long(4G)

Clob

Rawandlongraw(二进制)

blob

 

截断表:

truncatetabletest2;

 

第七章约束

 

『1:

表depart:

字段:

dept_id,dept_name

2:

表employ:

字段:

emp_id,emp_name,dept_id,title,mgr_id,hire_date

3:

表emp_details

字段:

ed_idnumber,emp_id外键,sex默认、检查,phonevarchar2(20),email检查约束,addr

4:

表emp_salary

字段:

es_id,emp_id,salarynumber(10,2)

5:

表sal_details

字段:

sd_id,emp_id,salary,sal_date』

 

外键:

当输入某一列时,必须参照某一表的列;

『1:

做外键的列与参数表中列类型一致

2:

当验证这一列是否存在,另一表中一列为主键』

 

1:

主键约束:

『1:

这一列能决定其他列的输入

2:

表中找不出这样的一列,在id上创建主键』

constraint:

约束

创建约束:

constraintpk_dept(逻辑名字,适用于一列或两列充当主键)primarykey();

主键创建方法:

(默认创建一个非空约束和唯一索引)

1>在列名后+primarykey

2>在下面创建constraint约束+逻辑名+primarykey();

3>修改表,添加约束;

altertabledepartaddconstraintpk_deptprimarykey(dept_id);

4>删除主键:

altertable表名dropconstraint逻辑名;

2:

空约束:

(notnull)

1>列名+notnull

2>altertable表名modify列名notnull;

3>删除空约束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2