韩顺平玩转oracle视频教程笔记
- 格式:doc
- 大小:998.00 KB
- 文档页数:124
顺平j2ee系列教程--玩转oracle10g学习笔记引言:数据保存问题?可使用文件保存和数据库保存。
使用文件保存数据存在几个缺点:1、文本的安全性问题;2、文件不利于查询和对数据的管理;3、文件不利于存放海量数据;4、文件在程序中控制不方便。
为解决数据保存问题,专家们设计出更加利于管理数据的东东--数据库(本质就是一个软件),它能更有效的管理数据。
数据库是衡量一个程序员水平的重要指标。
数据库1、数据库的本质就是一款软件,这个软件专门用于管理和维护数据;2、数据存放在数据库中。
数据库服务器、数据库和表的关系所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每个应用创建一个数据库。
为了保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如图所示:为什么选择oracle--性能优越概述:目前主流数据库包括微软: sql server和access瑞典MySql: AB公司mysqlibm公司: db2(处理海量)美国Sybase公司: Sybaseibm公司: informix美国oracle公司: oracle做项目时应当如何选择数据库?1、标的(项目预算);2、功能的要求;3、并发数(多少人用);4、安全、稳定性。
5、操作系统(unix[solaris,freeBSD,aix,hp unix]/linux/window)oracle数据库的认证oca(oracle certified associate)初级认证ocp(oracle certified professional)中级认证ocm(oracle certified master)高级认证oracle10g安装步骤:1、安装文件2、把10201_database_win32.zip文件copy到没有中文的路径下3、检查服务选项,确定本机没有安装过oracle数据库,如果有则卸载4、将压缩包解压后,双击setup.exe文件进行安装。
韩顺平—玩转oracle视频教程笔记时间:2021.02.05 创作:欧阳科一:Oracle认证,与其它数据库比较,安装Or acle安装会自动的生成sys用户和system用户:(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install(2)system用户是管理操作员,权限也很大。
具有sysoper角色,没有create database的权限,默认的密码是manager(3)一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
二: Oracle的基本使用--基本命令sql*plus的常用命令连接命令1.conn[ect]用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper2.disc[onnect]说明: 该命令用来断开与当前数据库的连接3.psssw[ord]说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。
4.show user说明: 显示当前用户名5.exit说明: 该命令会断开与数据库的连接,同时会退出sql*plus 文件操作命令1.start和@说明: 运行sql脚本案例: sql>@ d:\a.sql或是sql>startd:\a.sql 2.edit说明: 该命令可以编辑指定的sql脚本案例: sql>editd:\a.sql,这样会把d:\a.sql这个文件打开3.spool说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
案例: sql>spool d:\b.sql 并输入 sql>spool off 交互式命令1.&说明:可以替代变量,而该变量在执行时,需要用户输入。
最近在看韩顺平老师讲解的“玩转oracle”视频,在学习的过程中觉得还是有必要将一些知识点整理出来以期后期记忆跟不上时光变迁时回头做一个简单地回顾。
所以在记笔记的过程中可能会显得有一些杂乱,还请各位看官如果无意间闯入本文,能够多多包含。
(温馨提示:个人认为韩顺平老师的授课视频适合每一位IT人员去观看和琢磨,风趣幽默、浅显易懂,擅长化繁为简,对提升自我还是大有裨益的)1)数据库一般分为小型数据库(access,foxbase)、中型数据库(mysql,sql server,informix)和大型数据库(oracle,db2,sybase)。
我们在考虑选用哪种数据库时,通常需要综合考虑以下三个方面的因素:①负载量大小,即用户使用数量的多少;②成本,即企业或者是个人愿意投入的成本;③安全性。
一般的,如果负载在100人内,成本在千元以内,对安全性要求不高时可以选用小型数据库。
而当需要处理海量(千万级)数据成本在万元以上对安全性要求较苛刻时,则考虑使用大型数据库,且目前大型数据库的综合评分排名顺序为:SYBASE 2)oracle认证分三层,OCA->oracle初级认证;OCP->oracel专家级认证;OCM->oracle大师认证。
通常,我们如果能让自己通过OCP认证就不错了哦。
3)Daemon Tools是一款虚拟光驱的工具,安装oracle镜像文件的时候可能会使用到它。
如果不会使用又需要使用,请自己度娘。
4)oracle安装会自动生成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关键字,会将与这个用户相关联的表一并删除。
培训第二天(上午)学习视频《韩顺平oracle视频》学习中遇到的想法:1.sql server 数据——》oracle(编程是实现java,先读在插入)一,oracle的安装1.oracle数据库自带用户 sys(默认密码:manager)(最好权限,可以create database),system(默认密码:change_on_install)。
二,oracle的启动1.启动一个oracle实例,即启动一个单个数据库。
2.管理——服务 oracleservice实例名(一个实例代表一个数据库)+oracle……listener三,oracle的卸载1.卸载需要动注册表(可观看视频)四,sql plus常用命令1.显示用户show user2.链接命令conn 用户名/密码disc3.修改密码passw4.运行一个脚本start和@ 如:start d:\aa.sql || @ d:\aa.sql5.编辑一个脚本edit D:\aa.sql6.spool 该命令可以将sqlplus屏幕上的内容输出到指定的文件中1. spool d:\b.sql2. select * from3. spool off7.交互 &8 set linesize, set pagesize(分页显示)9.desc 表名(查看表结构)五,oracle常用工具1.sqlplus,sqlplusw,pl/sql developer(第三方独立开发),oracle enterprise manager(图像化界面)六,用户管理1.create user 名 identified by 密(密码不能以数字开头)(新创建的用户是没有任何权限的,甚至是没有登录权限 grant, revoke)2.password 名3.drop user 名(如果用户有表,则加参数cascade)培训第二天(下午)(自己动手遇到无法登陆oracle)(gaotuan:gaotuan、system:G6*******cxz)一,用户授权(对象权限(select insert update delete all create index),系统权限)1.grant connect to 名(登录)2.grant resource to 名(创建数据库对象)3.sqlplus "/as sysdba"(sys登陆)4.alter user scott account unlock;(解锁)二,角色connect ,dba对象权限:with grant option系统权限:with admin option收回父权限时下边的用户也没有相应得权限三,表空间一,表空间作用: 1.控制数据库占用的磁盘空间。
韩顺平oracle学习笔记第0讲:如何学习oracle一、如何学习oracleOracle目前最流行的数据库之一,功能强大,性能卓越。
学习oracle需要具备一定基础:1.学习过一门编程语言(如:java ,c)2.最好学习过一门别的数据库(sql server,mysql , access)教程推荐:oracle使用教程,深入浅出oracle记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程;索引,约束和事物。
期望目标:1 学会安装、启动、卸载oracle2 使用sql *plus工具3 掌握oracle用户管理4 学会在oracle中编写简单的select语句第1讲:基础语法内容介绍:1.为什么学习oracle2.介绍oracle及其公司的背景3.学会安装、启动、卸载oracle4.oracle开发工具5.Sql*plus的常用命令6.oracle用户管理一、主流数据库包括:●微软:sql server 和 access●瑞典:mysql AB公司●IBM公司:DB2●美国sybase公司:sybase●IBM公司:infromix●美国oracle公司:oracle(目前最流行的之一)二、oracle安装,启动及卸载1.系统要求:操作系统最好为windows2000内存最好在256M以上硬盘空间需要2G以上2.oracle安装会自动的生成sys和system两个用户说明:○1Sys用户是超级用户,具有最高权限,具有sysdba角色,create database 的权限,默认密码是manager○2System 用户是管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是 change_on_install○3一般讲,对数据库维护,使用system用户登录就可以了3.启动oracle右键单击我的电脑->服务和应用程序:服务->启动OracleServiceMYORA1(MYORA1是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener4.卸载oracle1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭2、开始->程序->Oracle - oracle的版本号,我的是10ghome->Oracle Installation Products->Universal Installer 卸载oracle3、进注册表,regedit,删除选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。
java平台1、J2SE java开发平台标准版2、J2EE java开发平台企业版java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。
不同系统上要安装对应的虚拟机才可以运行java程序开发步骤1、编写源文件 (.java)2、编译源文件为类文件(.class)可用J2SE或J2EE编译3、在虚拟机上运行注释//单行注释/* */多行注释java内容介绍java编程可以分成三个方向:1、java se (j2se)桌面开发 java中的基础中的基础2、java ee (j2ee)web开发3、java me (j2me)手机开发java se课程介绍java面向对象编程(基础)java图开界面开发java数据库编程java文件io流编程java网络编程java多线程编程java ee基础1java面向对象编程--数据库编程-->java sejava 基础2html--css--javascript-->div+cssjava ee中级部分Servlet--Jsp-->mvc模式java ee高级部分Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架java之父gosling1990 sun启动绿色计划1 | 4451992 创建oak语言-->java1994 gosling参加硅谷大会演示java功能,震惊世界1995 sun正式发布java第一个版本,目前最新是jdk7.0java开发工具记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse如何选择开发工具先选择记事本,对java有一定了解后再使用eclipse高级开发工具为什么呢?1、更深刻的理解java技术,培养代码感2、有利于公司面试java语言的特点1、java语言是简单的2、java语言是面向对象的3、java语言是跨平台(操作系统)的[即一次编译,到处运行]4、java是高性能的java第一个程序hello.java运行java程序要安装和配置jdkjdk是什么?1、jdk全称java dvevlopment kit中文java开发工具包2、jdk是sun公司开发的3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右)4、可以在下载**开发安装jdk,用户执行需要安装jre配置JDK添加环境变量即可windows下配置jdk在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。
韩顺平—玩转oracle视频教程笔记时间:2021.02.04 创作:欧阳育一:Oracle认证,与其它数据库比较,安装Oracle安装会自动的生成sys用户和system用户:(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install(2)system用户是管理操作员,权限也很大。
具有sysoper角色,没有create database的权限,默认的密码是manager(3)一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
二: Oracle的基本使用--基本命令sql*plus的常用命令连接命令1.conn[ect]用法:conn 用户名/密码@网络服务名[assysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba 或是as sysoper 2.disc[onnect]说明: 该命令用来断开与当前数据库的连接3.psssw[ord]说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。
4.show user说明: 显示当前用户名5.exit说明: 该命令会断开与数据库的连接,同时会退出sql*plus 文件操作命令1.start和@说明: 运行sql脚本案例: sql>@ d:\a.sql或是sql>start d:\a.sql 2.edit说明: 该命令可以编辑指定的sql脚本案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开3.spool说明: 该命令可以将sql*plus 屏幕上的内容输出到指定文件中去。
案例: sql>spool d:\b.sql 并输入 sql>spool off 交互式命令1.&说明:可以替代变量,而该变量在执行时,需要用户输入。
韩顺平老师 oracle教程笔记1.Oracle认证,与其它数据库比较,安装Oracle安装会自动的生成sys用户和system用户:(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。
具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
2.Oracle的基本使用--基本命令sql*plus的常用命令连接命令1.conn[ect]用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper 2.disc[onnect]说明: 该命令用来断开与当前数据库的连接3.psssw[ord]说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。
4.show user说明: 显示当前用户名5.exit说明: 该命令会断开与数据库的连接,同时会退出sql*plus文件操作命令1.start和@说明: 运行sql脚本案例: sql>@ d:\a.sql或是sql>start d:\a.sql2.edit说明: 该命令可以编辑指定的sql脚本案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开3.spool说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
案例: sql>spool d:\b.sql 并输入 sql>spool off交互式命令1.&说明:可以替代变量,而该变量在执行时,需要用户输入。
第四天主要任务:A、网络信息查询:B、远程登录服务器sshd(linux自带的服务)——多用户一、任务调度的使用crontab1、设置任务Crontab -e 即进入任务分配界面2、希望,每隔一定时间去执行date > /home/mydata1 【覆盖写时间】注:Date 【显示当前时间】3、希望,每天凌晨2:00去执行date >> /home/mydate2a.Crontab -eb.输入:0 2 * * date >> /home/mydate2分时月年4、希望,每隔一分钟去执行a.Crontab -eb.输入* * * * * date >> .home/mydate2c.查看调度情况注:查看文件内容使用的是cat ……5、怎样调度多个任务1)第一种:在crontab中直接写a.Crontab -eb.(第二个任务是把mydate2拷贝到root)c.查看调度情况2)第二种:可以把所有的任务,写入到可执行文件中(shell编程)a.编写一个文件Vi mytask.shb.输入:(注:此处并没有设置时间限制)c.退出后,查看发现mytask 文件不可执行d.修改执行权限Chmod 744 mytask.she.把mytask.sh交给crontab去执行●Crontab -e●删除原内容,输入:●退出后,查询root文件夹,发现出现了mydate3f.若要修改任务,进入root修改mytask.sh 里面的内容即可。
6、如何终止任务二、进程的介绍和管理1、概念进程:就是正在执行的程序。
线程:a,线程是轻量级的进程b,进程有独立的地址空间,线程没有c,线程不能独立存在,它是有由进程创建。
(linux里面用fork)d,相对讲,线程耗费的CPU和内存小于进程。
2、查看linux中的进程3、结束进程kill 进程号kill all 可以把此进程及其子进程统统杀掉4、查询动态进程Top按q 退出。
第二天(第八讲)一、安装环境1、jdk的安装步骤(linux上的java 开发环境)1)把mypackage.iso 挂载到linux操作系统上要在虚拟机上使用windows上的一个文件,就可用iso文件来挂载光驱挂载:cd / 【在根目录下装】mnt /cdrom/ 【光驱的挂载路径是cdrom】解挂:umount /mnt/cdrom/共享windows下的文件夹2)把安装文件拷贝到/homecp 文件/home3)切换目录到home4)安装./ ????????.bin [上面的安装文件]5)看看一个文件/etc/profile 【环境配置文件】注释:#把上面的配置文件注释掉,则重新登录后,就不能再用这个环境了6)配置刚才自己安装的jdkvi etc /profileJA V A_HOME=/home/j2sdk1.4.z_07PATH=$PATH:/home/j2sdk1.4.2_07/binCLASSPATH=.:/home/j2sdk1.4.2_07/jre/lib/rt.jarExport JA V A_HOME PATH CLASSPATH7)退出登录。
重新登录时就可以用自己安装的JDK了2、如果要在集成开发工具下开发,可以安装eclipse软件1)刚才如果做过就不用做了!2)打开光驱文件cd /mnt /cdrom/3)拷贝到homecd /home/4)安装Tar -zxvf ???.tar.gz5)启动eclipse【先进入图形化界面】startx6)3、myeclipse 安装(必须在图形界面上安装)4、安装tomcat第九讲1、打开:cd jakarta-tomcat-5.0.30lscd..lscd eclipsels./eclipse & 【&表示以后台方式运行,必须加&】2、自主安装:linux mysql 安装3、安装realplayA,cd / mnt/cdrom/B,lsC,cp realplayer10gold.bin /home/D,cd /home/E,ls 发现home文件夹中有了 (i)F,./realplayer10gold.binG,一路enter然后检查home文件夹下多了realplay文件夹,打开realplay文件夹,发现内含一个绿色可执行文件realplay。
一、oracle 常用sql plus 命令(1)conn[ect] 用户名/密码@网络[as sysdba /sysoper](2)一般情况下使用普通用户登录,除非需要更高权限时,在切换高级用户;(3)disc[onnect] 断开连接,又不退出当前窗口;(4)quit/exit 完全退出;(5)show user 显示当前用户;(6)管理员修改用户密码:alter user xxxx identified by yyyy;(7)Passw[ord]pass 用户名;给自己修改密码,不需要带用户名;给别的用户修改,需要带用户名;创建临时表空间create temporary tablespaceuser_temptempfile 'd:\user_temp.dbf'size 50mautoextend onnext 50m maxsize 1024mextent management local;创建表空间createtablespaceuser_tsdatafile 'd:\user_ts.dbf'size 50mautoextend onnext 50m maxsize 1024mextent management local;创建用户create user test38 identified by test38default tablespaceuser_tstemporary tablespaceuser_tempquota 5m on user_ts;给用户赋予权力grantdba to test38;给scott用户解锁alter user scott account unlock;用system 用户给scott修改密码Alter user scott identified by tiger;不常用的命令:linesize一行能显示多少个字符就换行了默认就只有80字符,所以会出现一个记录一行没有显示完全就换行了。
韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装Oracle安装会自动的生成sys用户和system用户:(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install(2)system用户是管理操作员,权限也很大。
具有sysoper角色,没有create database 的权限,默认的密码是manager(3)一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
二: Oracle的基本使用--基本命令sql*plus的常用命令连接命令[ect]用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper[onnect]说明: 该命令用来断开与当前数据库的连接[ord]说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。
user说明: 显示当前用户名说明: 该命令会断开与数据库的连接,同时会退出sql*plus文件操作命令和@说明: 运行sql脚本案例: sql>@ d:\或是sql>start d:\说明: 该命令可以编辑指定的sql脚本案例: sql>edit d:\,这样会把d:\这个文件打开说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
案例: sql>spool d:\ 并输入 sql>spool off交互式命令1.&说明:可以替代变量,而该变量在执行时,需要用户输入。
select * from emp where job='&job';说明:该命令可以编辑指定的sql脚本案例:SQL>edit d:\说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装Oracle安装会自动的生成sys用户和system用户:(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install(2)system用户是管理操作员,权限也很大。
具有sysoper角色,没有create database的权限,默认的密码是manager(3)一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
二:Oracle的基本使用--基本命令sql*plus的常用命令连接命令1.conn[ect]用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper2.disc[onnect]说明: 该命令用来断开与当前数据库的连接3.psssw[ord]说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。
4.show user说明: 显示当前用户名5.exit说明: 该命令会断开与数据库的连接,同时会退出sql*plus文件操作命令1.start和@说明: 运行sql脚本案例: sql>@ d:\a.sql或是sql>start d:\a.sql2.edit说明: 该命令可以编辑指定的sql脚本案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开3.spool说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
案例: sql>spool d:\b.sql 并输入 sql>spool off交互式命令1.&说明:可以替代变量,而该变量在执行时,需要用户输入。
select * from emp where job='&job';2.edit说明:该命令可以编辑指定的sql脚本案例:SQL>edit d:\a.sql3.spool说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
spool d:\b.sql 并输入 spool off显示和设置环境变量概述:可以用来控制输出的各种格式,set show如果希望永久的保存相关的设置,可以去修改glogin.sql脚本1.linesize说明:设置显示行的宽度,默认是80个字符show linesizeset linesize 902.pagesize说明:设置每页显示的行数目,默认是14用法和linesize一样至于其它环境参数的使用也是大同小异三:oracle用户管理oracle用户的管理创建用户概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
create user 用户名identified by 密码; (oracle有个毛病,密码必须以字母开头,如果以字母开头,它不会创建用户)给用户修改密码概述:如果给自己修改密码可以直接使用password 用户名如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限SQL> alter user 用户名identified by 新密码删除用户概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user 的权限。
比如drop user 用户名【cascade】在删除用户时,注意:如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade;用户管理的综合案例概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。
给一个用户赋权限使用命令grant,回收权限使用命令revoke。
为了给讲清楚用户的管理,这里我给大家举一个案例。
SQL> conn xiaoming/m12;ERROR:ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied警告: 您不再连接到ORACLE。
SQL> show user;USER 为""SQL> conn system/p;已连接。
SQL> grant connect to xiaoming;授权成功。
SQL> conn xiaoming/m12;已连接。
SQL>注意:grant connect to xiaoming;在这里,准确的讲,connect不是权限,而是角色。
看图:现在说下对象权限,现在要做这么件事情:* 希望xiaoming用户可以去查询emp表* 希望xiaoming用户可以去查询scott的emp表grant select on emp to xiaoming* 希望xiaoming用户可以去修改scott的emp表grant update on emp to xiaoming* 希望xiaoming用户可以去修改/删除,查询,添加scott的emp表grant all on emp to xiaoming* scott希望收回xiaoming对emp表的查询权限revoke select on emp from xiaoming//对权限的维护。
* 希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限继续给别人。
--如果是对象权限,就加入with grant optiongrant select on emp to xiaoming with grant option我的操作过程:SQL> conn scott/tiger;已连接。
SQL> grant select on scott.emp to xiaoming with grant option;授权成功。
SQL> conn system/p;已连接。
SQL> create user xiaohong identified by m123;用户已创建。
SQL> grant connect to xiaohong;授权成功。
SQL> conn xiaoming/m12;已连接。
SQL> grant select on scott.emp to xiaohong; 授权成功。
--如果是系统权限。
system给xiaoming权限时:grant connect to xiaoming with admin option问题:如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样?答案:被回收。
下面是我的操作过程:SQL> conn scott/tiger;已连接。
SQL> revoke select on emp from xiaoming;撤销成功。
SQL> conn xiaohong/m123;已连接。
SQL> select * from scott.emp;select * from scott.emp第1 行出现错误:ORA-00942: 表或视图不存在结果显示:小红受到诛连了。
使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库的,oracle会自动建立名称为default的profile。
当建立用户没有指定profile选项,那么oracle就会将default分配给用户。
1.账户锁定概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令。
例子:指定scott这个用户最多只能尝试3次登陆,锁定时间为2天,让我们看看怎么实现。
创建profile文件SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;SQL> alter user scott profile lock_account;2.给账户(用户)解锁SQL> alter user tea account unlock;3.终止口令为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba的身份来操作。
例子:给前面创建的用户tea创建一个profile文件,要求该用户每隔10天要修改自己的登陆密码,宽限期为2天。
看看怎么做。
SQL> create profile myprofile limit password_life_time 10 password_grace_time 2;SQL> alter user tea profile myprofile;口令历史概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。
例子:1)建立profileSQL>create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10password_reuse_time //指定口令可重用时间即10天后就可以重用2)分配给某个用户删除profile概述:当不需要某个profile文件时,可以删除该文件。
SQL> drop profile password_history 【casade】注意:文件删除后,用这个文件去约束的那些用户通通也都被释放了。
加了casade,就会把级联的相关东西也给删除掉四:oracle表的管理(数据类型,表创建删除,数据CRUD操作oracle的表的管理表名和列的命名规则•必须以字母开头•长度不能超过30个字符•不能使用oracle的保留字•只能使用如下字符 A-Z,a-z,0-9,$,#等oracle支持的数据类型字符类char定长最大2000个字符。
例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全如‘小韩’varchar2(20)变长最大4000个字符。
例子:varchar2(10)‘小韩’ oracle分配四个字符。