您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 韩顺平oracle笔记(个人总结版)
Oracle10g个人笔记1一、oracle常用sqlplus命令(1)conn[ect]用户名/密码@网络[assysdba/sysoper](2)一般情况下使用普通用户登录,除非需要更高权限时,在切换高级用户;(3)disc[onnect]断开连接,又不退出当前窗口;(4)quit/exit完全退出;(5)showuser显示当前用户;(6)管理员修改用户密码:alteruserxxxxidentifiedbyyyyy;(7)Passw[ord]pass用户名;给自己修改密码,不需要带用户名;给别的用户修改,需要带用户名;创建临时表空间createtemporarytablespaceuser_temptempfile'd:\user_temp.dbf'size50mautoextendonnext50mmaxsize1024mextentmanagementlocal;创建表空间createtablespaceuser_tsdatafile'd:\user_ts.dbf'size50mautoextendonnext50mmaxsize1024mextentmanagementlocal;创建用户createusertest38identifiedbytest38defaulttablespaceuser_tstemporarytablespaceuser_tempquota5monuser_ts;给用户赋予权力grantdbatotest38;给scott用户解锁alteruserscottaccountunlock;用system用户给scott修改密码Alteruserscottidentifiedbytiger;Oracle10g个人笔记2不常用的命令:linesize一行能显示多少个字符就换行了默认就只有80字符,所以会出现一个记录一行没有显示完全就换行了。Setlinesize120pagesize显示多少个记录就从新开始如图:前后差别Setpagesize100Oracle10g个人笔记3二、oracle用户管理1.创建用户(必须是具有DBA权限的才行)createuser名字identifiedby密码(密码不能以数字开始)defaulttablespacexxxx;temporarytablespacexxx2;quotaxmonxxxx;如果出现这样的情况,直接百度或者google一下。2.给用户分配权限grantcreatesessionto用户名;3.管理的用户的机制Oracle10g个人笔记44.综合案例方案(schema)(当创建一个用户的时候,只要这个用户创建了任何的数据对象(如表,索引,触发器等),那么DBMS就会创建一个与该用户名一样的一个方案。)赋权grantselect/update/insert/allonempto用户名;ps:如果想看一个用户有哪些数据对象,可以通过pl/sqldevelopment查看。例子:小红查询scott的emp表select*fromscott.emp;表空间参考:表空间之基本概念ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。Oracle10g个人笔记5一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACLE数据库采用多个表空间会对数据库的使用带来更大的方便。一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系个人阶段总结数据库实例、表空间(逻辑结构)、用户、方案、数据对象(表,过程,包等)的关系一个实例下可以有多个表空间。默认是有一个system表空间。一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系。数据库建立一个用户,就建立了有且只有一个与该用户名字一样的方案来管理该用户建立的各种数据对象。如有两个表空间,一个是默认的system表空间,一个是新建的user_tasp表空间。用户(wang)在system建立一个表t1,在user_tasp建立一个表t2,但是只有一个方案(wang)来管理这两个表,虽然表分布在不同的表空间上。也说明方案和表空间没有隶属关系,就像用户和表空间没有隶属关系一样。数据对象的操作一般是通过方案来实现操作的。如:Select*fromscott.emp这是完整的写法。scott是方案名--个人实验--建立临时表空间createtemporarytablespaceuser_temptempfile'f:\data\user_temp.dbf'size50mautoextendonnext10mmaxsize100mextentmanagementlocal--建立表空间createtablespaceuser_taspdatafile'f:\data\user_tasp.dbf'size50mautoextendonnext10mmaxsize100mextentmanagementlocal--创建用户createuserwangidentifiedbywangdefaulttablespacesystem;grantconnect,resourcetowang;alteruserwangquota10monuser_tasp;//在表空间上给用户分配空间就能让用户在该表空间建立数据对象。注意不要指定分配空间在临时表空间上,不然会报错。--在默认表空间上建表createtablet_test1(idnumber,namevarchar2(20))【tablespacesystem】;--在user_tasp建表createtablet_test2(idnumber,namevarchar2(20))tablespaceuser_tasp;Oracle10g个人笔记6Schema(方案)当一个用户被创建之后,只要它创建任何一个数据对象,那DBMS就会创建一个和它名字一样的方案与该用户对应。Ps:如果想看某个用户有什么数据对象,用pl/sqldevelopment软件。Schema的实际应用:xioanghong访问scott的emp表1.连接scottconnsoctt/tiger2.给xiaohong赋权限grantselect/update/delete/allonemptoxiaohong3.select*fromscott.emp;参考:、withadminoption用于系统权限授权,withgrantoption用于对象授权。2、给一个用户授予系统权限带上withadminoption时,此用户可把此系统权限授予其他用户或角色,但收回这个用户的系统权限时,这个用户已经授予其他用户或角色的此系统权限不会因传播无效,如授予A系统权限createsessionwithadminoption,然后A又把createsession权限授予B,但管理员收回A的createsession权限时,B依然拥有createsession的权限,但管理员可以显式收回Bcreatesession的权限,即直接revokecreatesessionfromB.而withgrantoption用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用withgrantoption授权的用户对象权限时,权限会因传播而失效,如:grantselecton表名toAwithgrantoption;,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECTONTABLE权限。相同点:-两个都可以既可以赋予user权限时使用,也可以在赋予role时用Oracle10g个人笔记7不同点:-withadminoption只能在赋予systemprivilege的时使用-withgrantoption只能在赋予objectprivilege的时使用-撤消带有withadminoption的systemprivileges时,连带的权限将保留撤消带有withgrantoption的objectprivileges时,连带的权限将不被保留用户口令管理使用profile进行用户口令管理一个用户连续3次密码输入错误,那该账户锁定1.创建profile文件createprofile文件名limitfailed_login_attempts次数password_lock_time天数;2.把该文件(规则)分配给某个用户alteruser用户名profileprofile文件名;3.终止口令一个账号的密码最多能用几天的问题。Pl:一个密码的使用时间为10天,宽限时间是2天createprofile文件名limitpassword_life_time10password_grace_time2;4.删除profiledropprofile文件名;Oracle10g个人笔记8windows下lsnrctlstartoradim–startup–sidorcl;unix/linux环境下(略)Oracle的登陆认证Oracle10g个人笔记9Compmgmt.msc进入计算机管理找回管理员的密码1.搜索PWD数据库实例名.ora2.删除该文件,最好备份一份。3.生成新的密码文件,在dos下输入命令。orapwdfile=PWD数据库实例名.ora的具体路径password=新密码entries=允许多少个人进入。Ps:orapwdfile=D:\oracle\product\10.2.0\db_1\database\PWDorcl.orapassword=welcomeentries10file文件路径password新密码entries登陆sys最多的用户。4.重新启动数据库实例。Oracle数据类型Char存放字符串,最大2000字符,定长Pl:namechar(32),只能存放32字符,多了,报错;少了,空格填满。ps:dump()显示一个字段具体的情况Oracle10g个人笔记10varchar2变长字符,最大可存放4000字符。namevarchar(16)name‘abc’实际上只占3字符,其余的13个就回收第九课nchar定长,编码方式unicode,最大2000字符Ps:char类型的,一种中文字符站两个字符,而nchar类型,一个中文字符只占一个字符number1.可以存放小数,也可以是小数。2.number(p,s)p为有效位,s为小数位。范围:P[1,38],s[-84,127]。整数部分的个数为:p-sPS:如果单单就是number,后面没有任何数字,该数是多少就是多少。Pl:123.456number结果就是:123.456Oracle10g个人笔记11原则:实际开发过程,如果number指定了小数位,那明确指定,如果没有指定,就直接用number。date日期类型默认的是dd-mm-yyyy第十课Ps:数据类型是number插入的是字符串型的‘12345’,oracle会自动把这样的字符类型转化为数字类型。但是如果是
本文标题:韩顺平oracle笔记(个人总结版)
链接地址:https://www.777doc.com/doc-5398020 .html