Oracle 从入门到精通 续
上一篇 / 下一篇 2014-05-29 10:53:54 / 个人分类:甲骨文
dS ?K.hd~R}P!b2m0
0fl5_2{%q o/mL9f ~A024、管理用户51Testing软件测试网]p2Al}t
1. 用户:
4g }d_mcD0操作系统权限
D$f@4Mc!ztx0用户口令
u8ZQ3s)r,Uv n H\0用户状态:锁定、未锁定51Testing软件测试网l*M2f-XWX!?9]!t
默认表空间(创建时设置)可选位置,不一定能放东西。51Testing软件测试网D t~(a6D(O7{)W
临时表空间51Testing软件测试网A9] rsytt&C
表空间配额(永久类型表空间才有)
b,WF"v-ey*Qs0如果用户创建对象的时候只是指定了默认表空间而不指定表空间配额的话,对象是不能51Testing软件测试网V w*]JT:N iox6g
被创建的。51Testing软件测试网k^Ns rZ!A
2.数据库的方案:51Testing软件测试网8swdq6ueqi
是命名的对象集合;
0m}_0w,H,E0资源来自网络,仅供学习! Oracle 从入门到精通
5yoT8q6O q2h a0第 74 页,共 106 页
^ou6_GJpu.Z0一个用户被创建,方案也同时被创建;
p*@*y4]MBE0一个用户只能用于一个方案关联;51Testing软件测试网1`y,zQ!IY
用户名经常和方案交替使用;
q^-z a,~ x|'@}p*qBc03.创建用户的步骤:51Testing软件测试网3]_5I4iKB{z|V@ N
确定用户用于存放对象的表空间;51Testing软件测试网SM,V n kJ q~,\|
确定每个表空间的配额;
i,K2]x[ o4h0指定默认表空间和临时表空间;51Testing软件测试网_b ]0GPL6k7~}aH
创建用户;51Testing软件测试网!_9W1mM7X6|
为用户分配权限和角色;51Testing软件测试网#kkZ w'M)PV`
4.创建一个新的用户:数据库认证
.Df)XQPp0create user user_name identified by password
)k6R [ kz0DEFAULT tablespace space_name
h3j#IhZ U `/p/f0temporary tablespace temp_table_name51Testing软件测试网yM,W.O r MCy
quota nM on data
{?`l0N2hxs0quota nM on users51Testing软件测试网6B)w8m5iH9P4N'u
quota nM on index
h(s?F1gp6|8J0.....
n*jb9q2]1i$Gh0password expire;
5rh#k } X05.改变用户的表空间配额:
V"Xx-N,Qo9P0在下列情况下需要修改:
0~;G:h;~8R.m%U0用户的表异常增长;
,\2Tl-^^eg0应用被增强并需要更多的表和索引;51Testing软件测试网$W Fo!\/u
对象被重组并被放在不同的表空间上;51Testing软件测试网H]7DYS#\9L
ALTER USER user_name quota nM on user_name;
!kO C IX;G)fZn0ALTER USER user_name quota 0 on user_name;
;_S%bs$q7S'lA0为0:51Testing软件测试网 gZ+As0M
不能再使用空间了;
5G1h)t;WrR5]Pe0原有空间可以使用;51Testing软件测试网_%]4Cp ke_
6.删除用户:
#y+To$B8H6EXW^1d$B0drop user user_name cascade;
w2atiC#i@.nW3FD0删除方案中包含的所有对象;51Testing软件测试网Uu,S#\j^ f
正在连接服务器的用户不能删除;51Testing软件测试网BrEoc5{5_
7.查看:
j4Z WniWR-d[8V0dba_users dba_ts_quotas
f!I |1E$MF025、管理权限51Testing软件测试网!Y ]@9[t&F:H8t&I
start restrict(启动到限制模式)
;QM/@%YQ4u:m0unlimited tablespace 无限空间配额
a2l}Bg9e6L_0资源来自网络,仅供学习! Oracle 从入门到精通51Testing软件测试网o)I)toK
第 75 页,共 106 页51Testing软件测试网fo7?+G"cA
只能直接授予,不能传递授予
n"Qk#BN*} Q+VK01. 两种用户权限:
?:w4s|~)P3]0系统:使用户可以在数据库中执行特定的任务;
%c:qn3Ac,P [4C0对象:使用户可以操作访问特定的对象;
X z9F4e K(\_ r02.系统权限:
;Nw+R"RlbZ0在权限中的ANY 关键字表示用户在所有方案中都有权限51Testing软件测试网0\NI7i1}8]P
GRANT 将权限授予一个用户或一组用户
8l3`L+ad Y4Y0REVOKE 将权限从用户身上移走51Testing软件测试网E5y6D@)Us {\
3.授予系统权限:
.zc I_'rQsm!M9o0grant priv_list to users with admin option;不及联删除51Testing软件测试网1P"|6Z2A:f&hr
4.授予对象权限:51Testing软件测试网Io-]8IX9V[
grant priv_list to users with grant option;及联删除51Testing软件测试网&Fd7pARy
sysoper51Testing软件测试网^EhF,FU
startup51Testing软件测试网J J^c{+MSA/Np
shutdown51Testing软件测试网iC;ust0{1R D*\
alter database open | mount 备份控制文件
Jp0f4F:Xf0alter datadase backup controlfile to recover database 恢复数据库51Testing软件测试网[vK'aY[
alter database archivelog51Testing软件测试网qgbp;e#F
restricted session51Testing软件测试网O+v[oO4z{
sysdba
}A4u-eSG4M+R0sysoper privileges with admin option
1dee6F/a%~Z0create datadase51Testing软件测试网~5X#}Hs
alter tablespace begin/end backup51Testing软件测试网5PvXOM J
restricted session51Testing软件测试网 Xu'o2B4Q-_ F
recover database until
jC7xu?6rZI0O7_dictionary_accessibility 参数:
_9C{,]NNY0控制SYSTEM 权限的限制;51Testing软件测试网^EQMi-w9j
如果设置为TRUE,可以访问SYS 方案中的对象;51Testing软件测试网n~3k4ASZw}&]5p,~C
默认问FALSE:确保能访问其他方案的用户不能访问SYS 方案中的对象;51Testing软件测试网:lM7SdV2A`y$t*z
5.移除系统权限:
I#c^2u"n&u0使用 REVOKE 命令从用户上去除系统权限;
&~.X%x^v+s0具有 ADMIN OPTION 选项的用户可以移除系统权限;51Testing软件测试网Ull%U_+B)Uu%C]
只有用 GRANT 命令授予的权限可以被移除;
],x&Sbq.v0revoke create table from emi;51Testing软件测试网x%vC9@[k
6.对象权限:
be8g7Wvx0VIEW 没有 ALTER 权限;51Testing软件测试网(aR1o BkDp,}S
资源来自网络,仅供学习! Oracle 从入门到精通51Testing软件测试网"g$^7WvI(q-qz V%[
第 76 页,共 106 页
[&yBq@6GJC2_i07.移除对象权限:51Testing软件测试网uw'P(QX Fo'D ?$IT7_
移除对象权限的用户必须是要移除对象权限的对象的拥有者;51Testing软件测试网:]?ET9? qv5w{$F7l d
revoke select on owner.object from user_name;
5`8@Y~#O08.查看:51Testing软件测试网&}(V+`)?&NmL
SESSION_PRIVS 当前会话拥有的通过角色授予的权限信息;51Testing软件测试网 aQeA7A
DBA_SYS_PRIVS 关于被授予用户或角色的系统权限信息;
-rKL5E:NK8|:n4Znc0dba_tab_privs
#t H&?.I,v(^0dba_col_privs51Testing软件测试网&KTK*w$I+J$k Q S3u
26、管理角色51Testing软件测试网2n$DK[#~Ai"P;a
角色的好处:51Testing软件测试网]ZvPSL;e&P8a
简化了权限的管理51Testing软件测试网@ VOsL*Pg
实现了动态权限管理
RK Q{4@0可以选择可用的权限51Testing软件测试网u*E(RWAt zv@gD
管理过程:51Testing软件测试网Lx [b'}
1.创建角色:51Testing软件测试网7p3tv Dz1XH
CREATE ROLE role_name;
l4p4z(y|j7AE$G0CREATE ROLE role_name IDENTIFIED BY password;51Testing软件测试网rf AkR[_|@
创建的角色不属于任何一个用户;
v%QNS,eB9I02.赋予角色权限:51Testing软件测试网N_;U|/Ro @R
GRANT priv_list TO role_name;
&f`!_2X4aJJS C03.将角色赋予用户;51Testing软件测试网OW*ta hH$oO
grant role to user with admin option;51Testing软件测试网)e)~J/{ `9clB k(I
grant role_name1 to role_name2; 将角色赋予角色
2Q:D[y#U&o1y}04.设置用户的默认角色在需要的时候启用或禁用角色;51Testing软件测试网)h$tCy:o?@N#A7^
一个用户可以被分配许多角色
%m-es%w,J;B(H0一个用户可以被指定默认角色51Testing软件测试网.TH.z a$dDf
可以限制用户的默认角色51Testing软件测试网 Z^n,C&zA
ALTER USER user_name DEFAULT ROLE role_name1,role_name2;51Testing软件测试网y3IDJ Dad?9`7^
ALTER USER user_name DEFAULT ROLE all;51Testing软件测试网*ME3j f#EY?3h*H3J
ALTER USER user_name DEFAULT ROLE all except role_name;除了这个角色其他的都授
9q$v1cAcW)E5zv5J0予
[t)? W7d0ALTER USER user_name DEFAULT ROLE none;51Testing软件测试网EU9TR dn$S
启用和禁用:
f\O'd)k Q?sT0禁用角色将从一个用户身上暂时移走角色;51Testing软件测试网5]/N\f[9PG,@f
资源来自网络,仅供学习! Oracle 从入门到精通51Testing软件测试网4p)N1Z`b~
第 77 页,共 106 页51Testing软件测试网l!w}sDh
默认角色自动启用;51Testing软件测试网j*L9_E]qF4V g
启用角色的时候可能需要口令;
m~4{ eman/u0启用角色暂时将角色授予用户;51Testing软件测试网fm!U(B4h{pjXMN
set role role_name;51Testing软件测试网'Lr$eq.h
set role all except role_name;51Testing软件测试网!H T0_pc
set role all;
A-T.P#q7@.GP0set role role_name1 identified by password,role_name2,role_name3;51Testing软件测试网P.Y#]'zk T-J|!c\)y
5.移除角色;
TVNXK+hz%u#M8N0从用户上移除角色需要 ADMIN OPTION 或者 GRANT ANY ROLE 权限;
7q a0HV1h'Q0revoke role_name from user_name;51Testing软件测试网}(p:Zy~f8y
6.删除角色;51Testing软件测试网 B5ec0g2Q4to[3?,N/\rc
从所有被授予的用户和角色上移除角色
#YDs(d6S0从数据库中移除;51Testing软件测试网T O)DK1l
需要 ADMIN 或者 DROP ANY ROLE 权限;51Testing软件测试网@l D+[Cp7P c
DROP role role_name;51Testing软件测试网\1A3z3@w!n J
7.预定义角色:
;L${P6ctx0connect,resource,dba 为了满足向后兼容性而保留51Testing软件测试网7V$p8K!n0q nkm/b
连接 资源 管理员51Testing软件测试网+wEc+k se Vz-o ^
当授予resource 角色给用户的时候,数据库自动把unlimited tablespace 这个系统权限授
E9h'A$ni-P0予用户;
)uwY Po)A5R!Z]Xo0exp_full_database 导出数据库权限
/A&U5xbpz$_0imp_full_database 导入数据库权限51Testing软件测试网Ew0ihEG3t.B\\
delete_catalog_role 在数据字典上的删除权限51Testing软件测试网G ?H HOP
execute_catalog_role 在数据字典包上的execute 权限 ?
[gCy8Lh x0y0select_catalog_role 在数据字典上的查询权限
'fIfF w m*ZF08.查看:
;YM/Sm*YM@0session_roles 查看当先会话可用的角色;51Testing软件测试网2](MG)A1v%}jw+i
dba_roles 所有存在于数据库的角色51Testing软件测试网g#q_h1`v m
dba_role_privs 授予用户或角色的角色
%?BYX@ n^b8ek;l0role_rol_privs 授予角色的角色51Testing软件测试网){{O5gB
dba_sys_privs 授予用户和角色的系统权限51Testing软件测试网 ah4`!_8cvm@U
role_sys_privs 授予角色的系统权限
(D5[ z0f.M5b4k-i0role_tab_privs 授予角色的对象权限51Testing软件测试网$Az*G7bhE
高权限身份用户的权限跟角色无关,它是靠身份得到权限的;
V4}(_0kor:q-S(D0带口令的角色51Testing软件测试网EiU+\2^ _@
27、使用全球化支持
]7m1o"Wk,v$EKS1Q;~ wX0 全球化支持特性:
}#G { S3_CX'e0资源来自网络,仅供学习! Oracle 从入门到精通51Testing软件测试网%sTx p0dz
第 78 页,共 106 页51Testing软件测试网FO!hxro_
语言支持51Testing软件测试网#E0` p2^t`rp
区域支持:地区支持,对不同地区的特定规则的支持
%P-Z5W.R;^0D8e-n0字符集支持51Testing软件测试网kS)ij6PI
语言排序
&R6Q:L-FN8J8iVA0信息支持51Testing软件测试网OC~i SW[8a
日期和时间格式
{eb&B8?#l/n0数字格式
&l%p;tVj6@-N }0货币格式
cY5_~!F0 不同类型的编码方案:
QM.PV5G`0单字节字符集:
0v~ h#ymQ07-bit 8-bit
KK Sg K4Z;q0变长多字节字符集51Testing软件测试网!r?7LY6qIp
定长多字节字符集51Testing软件测试网KlV+j4sh Wx
Unicode(AL32UTF8,AL16UTF16,UTF8)51Testing软件测试网nfI;L9F.c9j:W:p^\Ai
全球统一字符集:国际标准组织,能兼容大多数国家的字符集。51Testing软件测试网/\T2^b2C6Q(S _h
数据库字符集:VARCHAR VARCHAR2 CHAR
*o-b"i,yU`.m0 国家字符集: NVARCHAR、NVARCHAR2、NCHAR
(J%y e|%e0 设置服务器基于语言的行为:51Testing软件测试网$qCRh z{L
基于数据库服务器设置
*kRC0jQ1RBAJ0NLS_LANGUAGE SPECIFIES51Testing软件测试网,X9N:QFvY4j Mlp'k
信息的显示语言51Testing软件测试网`b3P*QMn/Oj
天和月份的名称
J;dCdxC/g1^^'V"K0A.D,B.C,A.M,P.M的符号
q6I6|2T!UDm7q p r~2O`0默认的排序方式(二进制)51Testing软件测试网UJjg4nL!KX
NLS_TERRITORY SPECIFIES
Nd0ej ]jE028、基本的ORA 网络服务器端配置
.wo7e Z@1r O/Gjm0 连接字符串:HOST:1521:SID
[S:yrxQR(~a0 监听器:conn hr/hr@服务命名
"H,l9rk"tlV!A0 服务命名:连接字符串的命名51Testing软件测试网v/~`5XM,xv_
服务端: 配置监听器 listener.ora51Testing软件测试网L*k\d2o FZ)u}
客户端: 1.tnsnames.ora 命名方法选择的配置文件(用什么方法来解析连接字符串)51Testing软件测试网#jU yTJ` a2`
2.sqlnet.ora51Testing软件测试网yso/nXA
监听进程:51Testing软件测试网'i)dH&L3ef tM
特点:监听多种网络协议;
3\-hfe~D2j0单个监听器可以监听多个数据库的连接;
:N,mK W \9i0多个监听器可以监听单个数据库;51Testing软件测试网c2`,o Q$f%?9MJ
监听器是有名称的,在同一台主机上的监听器不能重名;
ijwq n/F0不管有几个监听器,都只有一个监听文件存储它们的内容。51Testing软件测试网sx,z/iz2@
配置监听器:51Testing软件测试网b8i1O#j5u!{-~n;b
1.静态配置:
!S;w'~ O*G6~5K0由于8I 以前的版本;51Testing软件测试网E2[vm;{4tN|
需要配置listener.ora;51Testing软件测试网c Fc$Mv N
资源来自网络,仅供学习! Oracle 从入门到精通51Testing软件测试网9f2QX&sP'Gz.rANS
第 79 页,共 106 页51Testing软件测试网%RZsnvx~%q$|
使用OEM 连接数据库必须使用静态配置;51Testing软件测试网#J5J_ JQayA
listener.ora 的默认设置:
d]"u/i s/aw0listener name listener51Testing软件测试网j6D2P,[] T)y
port 152151Testing软件测试网2N5jx3A$qL3d
pro*—*51Testing软件测试网o^} ^s)A:Ee
2.动态的服务注册:
dkR*`W7B}8i0不需要配置listener.ora 文件
B7N!w+X'oxr(}0Z U$fa0监听器依赖于PMON 进程
?6y)c(jQ}0 监听器处理连接的方法:
:@+[![~8x|-y{h q ^?01.传递会话:(专用会话)
4EbX1E;z6C$J%~0会话请求到监听器51Testing软件测试网&Yt/BF(sf%y&ur
监听器判断如果没有问题,监听器通知数据库51Testing软件测试网&WfT {2C Z0\$`
2.重定位会话:(多线程服务器:共享服务器)51Testing软件测试网t*K7u5p5j | YPoG
预先生成调度器进程和服务进程放到监听器中
?)XM0C,_+SJ3s C`Sy\0连接建立的时候服务进程才启用
F"po QP+p!x9K0 服务名:是数据库对外的名称。
d&[M9Et0 主机名称和 IP 地址会影响监听器。51Testing软件测试网i)tXOW"P4r1R6`1{
共享服务器:共享连接/专用连接51Testing软件测试网rY5_g.y"o
专用服务器:专用连接
~NEwK0 故障解决方法:
E"E9sn:S X01. 检查物理连接 PING51Testing软件测试网He({:[^-}9{T
2. 服务器端做本地连接51Testing软件测试网K4Z)XD:m5g D
3. lsnrctl status 检测监听器配置运行是否正常
zHr|&f~2L04. 客户端执行 TNSPING (命令:TNSPING +主机字符串)服务器名,检测服务器命名是51Testing软件测试网-~@'?3s g5|L.Q
否能连通
*?c*x3ZeF*p05. 检测 TNSNAMES.ORA 配置是否正常。
.x"X!X9e0J\:cT8Jj0三、PL/SQL
,BE EE"SW&]#}0pl/sql program language 是能够进行一定程度控制的程序语句。将SQL 语句嵌入到ORA 程序
.t8if?/?6U;}4D0语句中。
E h&E8wT8v0pl/sql developer4.1 pl/sql 开发工具51Testing软件测试网GdzR+wCS5Ro'T\
PRO*C ORA 提供的C 语言的编辑器51Testing软件测试网k3kn'B8~;Kb
SQLJ ORA 提供的JAVA 的编辑器51Testing软件测试网2B:Y&`A q`
Declaring Variables
r'h2Aw%\0 pl/sql 的存储程序单元:命名的pl/sql 块,作为数据对象存储在数据字典中。
nh,r5jx fA0 匿名的存储程序单元:临时的 pl/sql 语句,只对当前有效。
,N-B:q]ay B/H0 存储过程:一定执行某个操作,意味着数据或数据对象的改变。
VSLj6G)XW'H0 函数:做计算,不能包含任何的数据操作,只能出现 SELECT 语句。51Testing软件测试网+_%f'Fuq/P
资源来自网络,仅供学习! Oracle 从入门到精通51Testing软件测试网#G }(We&L9k
第 80 页,共 106 页
-VuF!V_I;A ^0 包:逻辑上相关的一组存储过程和函数的集合体。
4~4T){ m`0 触发器:当事件发生,就会触发,仍然是用 pl/sql 语句。51Testing软件测试网Rd!K.?8j7{6_F
结构:51Testing软件测试网qR1r;d"KXr
1.DECLARE(可选)
q5V5S O Nlob0定义标识符,标识符:变量,常量,游标
q y%D+N%~%e.s02.BEGIN:开始执行主体(必须)51Testing软件测试网 n6O4YmZ~z0m k
SQL 语句
KVu)lw`0PL/SQL 语句
x(Er%v5d8Cu9G03.EXCEPTION(可选)
r8}] [ b/^e(W0异常处理51Testing软件测试网I M/va9Dob8T:\/b
4.END:结束执行主体(必须)51Testing软件测试网(SF!yspby1D4S?
程序头定义:51Testing软件测试网$r+yD+Q!M
1. 匿名块:
0`R:[r6|b0[declare]
1F'_df(wnI0begin51Testing软件测试网5A1?AI*Wf:t.l
statements
H*Y aa/Co0....51Testing软件测试网+q5dg2[qe6_'YR
[exception]
EDjH!G^0fT;fU0end;
7[6`L;Zv _k02. 存储过程:51Testing软件测试网!g.I Qe G1]Q
PROCEDURE name
,Gn:oj9p0ad*| S7p-`P0IS
qSr/e7U3xu5ID A0begin
i vo Z4W5xSK0statements51Testing软件测试网&mj Mz1_6Wl}a
....
h:Ur"f cf0w0[exception]
p$UV#v9i p0end;51Testing软件测试网}+@Y,GY
3. 函数:
N!|K jzH0FUNCTION name51Testing软件测试网!~7mnz A8w
RETURN data_type
1XQO9D Si Q3Y0IS51Testing软件测试网!?B#pUqv%p
begin
1w(F#S P4eH%b{0statements51Testing软件测试网7qW(FT.j-z"W2wK
RETURN value
&x&p&x~ X'w0....
b)RGe*Pv0[exception]
T2Xt$u@o!V#I x0end;
8K!q$xF\v5F @\9l01、创建PL/SQL 语句的过程:51Testing软件测试网 s#lM@2X2B
选择开发环境51Testing软件测试网o#\.k6^5S\
写程序51Testing软件测试网VWm*j$az~o!m
编辑(语句)
6JX3] |M0编辑(逻辑)51Testing软件测试网c$aq_$V`"pYr
资源来自网络,仅供学习! Oracle 从入门到精通51Testing软件测试网A-{}7E(hr`+M2}
第 81 页,共 106 页
EH.D(Jk6Dl0执行
b w F'c9?7F2u0 变量类型:
3]W"w%cT'Ew5s,U3s5T0单值变量(Scalar)51Testing软件测试网7XuZ!G rvWfW j
BOOLEAN :true, false, null.
2p[:@k(BI m0组合变量
"M wh?-WC0大对象
7`0E'r\f0参照变量51Testing软件测试网Q1JKS_%pkB+]f
输出变量值:51Testing软件测试网TA7vI ]p*@ l,F1sF
1.建表输出;2.使用包输出;51Testing软件测试网N!q2Mx|0X+G6g p4m
可以使用替换变量或绑定变量。