Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理
1.为什么学习oracle?
- 性能优越:
|
小型数据库 |
中型数据库 |
大型数据库 |
|
acess、foxbase |
mysql、sql server、informix |
sybase、oracle、db2 |
|
复杂量小(100人内)、成本千元内、对安全性要求不高 |
日访问量5000--15000、成本在万元内,比如商务网站 |
负载可以处理、海量数据库 、安全性很高sybase<oracle<db2 |
- 数据库的选择标准:
项目的规模:a.负载量有多大;b.成本; c.安全性
- 需求量大:
2.Oracle认证:
DBA认证(OCA认证-->OCP认证--->OCM认证)、Java开发认证、Oracle网络开发认证。
3.Oracle的安装:
- Oracle安装会自动生成sys用户和system用户:
a. sys用户是超级用户 具有最高权限,具有sysDBA角色,有create database的权限,默认密码是change_on_install。
b. system用户是 管理操作员,权限也很大,具有sysOPER角色,没有create database的权限,默认密码是manager。
c. 一般来讲,对数据库维护,使用system用户登录就可以了。
4、SQL Server 与Oracle 启动的区别:
Sql server----Sql Server启动后,用户sa登录后会看见很多数据库。
Oracle-----Oracle启动后(启动监听一个数据库实例),用户sys、system、scott会看见一个数据库的实例(表、视图、存储函数等数据对象)。Oracle启动服务,最少启动Oracle的一个实例和监听TNListener。
5、Oracle的卸载
- 运行regedit,进入注册表;
- 进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE, 删除ORACLE;
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下以Oracle开头的键值;
- 重启计算机,然后删除硬盘上的Oracle目录,如果该目录不让删除,那么把这个目录改成一个别的名字,然后重启机器,再删除它。
6、Oracle管理工具的介绍:
- 1.Oracle自带的工具软件,主要用于执行SQL语句和PL/SQL块;
使用方法:开始菜单中的sql*plus;或运行栏中sqlplusw;或开始菜单中sql*plus worksheet;
- 2.sqlplus dos下操作oracle的工具,其功能和sql*plus相似;
使用方法:运行栏中输入sqlplus;或运行可执行文件sqlplus.exe;
- 3.oracle的企业管理器(oracle enterprise manager);
使用方法: 开始菜单中oem,独立登陆;
- 4.pl/sql developer 属于第三方软件,主要用于开发、测试、优化oracle pl/sql的存储过程;
7.sql*plus常用命令
- 帮助命令
- help 命令 或 ? 命令 ;
eg:显示所有命令 help index;
- Desc[ribe]命令
- 命令格式:Describe 数据对象;
返回数据库中所存储的对象的描述。
tips:在SQL语句的输入过程中,可以在下一行输入#:作用是可以临时先运行一个SQL命令,执行完后,继续输入刚才的SQL语句。
- 连接命令
- conn[ect]
用法:conn 用户名/密码@网络服务名 [as sysdba/sysoper],当用特权用户身份连接时,必须带上as sysdba 或者 as sysoper。
- disc[onnect]
说明:该命令用于断开与当前数据库的连接
- passw[ord]
说明: 该命令用于修改用户的密码,如果想要修改其他用户的密码,需要用sys/system登陆
- show user
说明:显示当前用户名
- exit/quit
说明:该命令会断开与数据库的连接,同时会推出
- 文件操作命令
- sav[e] 文件保存路径:
将缓冲区的SQL语句保存到文件;
- get 文件读取路径
将文件中的SQL语句读取到缓冲区,并用/来运行;
- start和@ 文件 [参数1,...]
说明:运行sql脚本--start只能在sqlplus中运行,@可在sqlplus和操作系统命令提示符中运行
案例:无参:sql>@ d:\a.sql 或者 sql>START d:\a.sql
有参:a.sql中的语句 -- select * from emp where deptno=&1 and sal>&2;
运行: @/start d:\a.sql 20 1500;
- edit
说明:编辑指定的sql脚本
案例:sql>edit d:\a.sql
- spool
说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
案例:sql>spool d:\b.sql 并输入 sql>spool off
- 交互式命令
- 使用替换变量 -- &
说明:可以替代变量,而该变量在执行时,需要用户的输入。
案例: sql>select * from emp where job='&job';
- 定义替换变量:
说明:def[ine] 变量名=变量值
- 查看替换变量:
说明:define --查看所有变量; define 变量名 -- 查看该变量的值
- 清除替换变量
undef[ine] 变量名,... --清除一个或多个替换变量值
- 显示和设置环境变量
概述:可以用来控制输出的的各种格式,set、show如果希望永久的保存相关的设置,可以去修改glogin.sql脚本。
- linesize:
说明:设置显示行的宽度,默认是80个字符。
案例:sql>show linesize; sql>set linesize 90;
- pagesize
说明:设置每页显示的行数目,默认为14,用法和linesize一样。
8.Oracle用户管理
- 创建用户
概述:在oracle中要创建一个新的用户,使用create user语句,一般是具有dba的角色才能使用。
eg:create user 用户名 identified by 密码;
- 给用户修改密码
- 如果给自己修改密码,
eg:可以直接使用: sql>password 用户名;
- 如果给别人修改密码,则需要具有DBA的权限,或者拥有alter user的系统权限:
eg:sql>alter user 用户名 identified by 新密码;
- 删除用户
概述:一般以DBA的身份去删除某个用户,如果用其它用户去删除用户,则需要具有drop user的权限。
eg:drop user 用户名 [cascade]----当删除的用户时,如果有该用户创建的表,那么将删除用户和用户创建的表,即级联删除。
- 权限的授予与回收
- Oracle中权限、角色、用户名等基础知识与关联

- 详细解释:
1. Oracle数据库中每一个表都在一个用户空间(即方案)中,各方案中的表名可以相同;另外:每个表都存储在一个表空间(相当于磁盘分区)中。
2. 新创建的用户没有任何权限(不能连接数据库,更不能查询等操作);只有赋予权限/角色才能数据库操作;
3. 只有DBA、OPER或有授予系统权限的用户才能授权系统权限:
授予连接数据库权限:grant connect to 新用户;
授予自己空间中表操作的权限: grant resource to 新用户;
DBA还可以授予DBA权限: grant dba to 新用户;
4. 用户操作其它用户的表时,其它用户应授权对象权限(select/insert/update/all...)给用户。
scott授予emp表的select权限给xiaoming: grant select on emp to xiaoming;
5. 用户查询其它用户的表时:
select * from scott.emp;
- 收回权限:
revoke select on emp from xiaoming;
- 数据库维护:
1. scott用户赋予其他用户查询scott的emp表的权限,并且可以把这个权限继续赋给别人。
---如果是对象权限,就加入 with grant option
eg: grant select on emp to xiaoming with grant option;
---如果是系统权限,system给xiaoming权限时,加入 with admin option:
eg: grant connect to xiaoming with admin option;
2. 回收权限时,若scott把xiaoming对emp表的查询权限回收,那么xiaoming的权限也被回收
- 使用profile管理用户口号
概述:profile是口号限制/资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那oracle就会将default分配给用户。
- 账户锁定:
概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天),一般用DBA的身份去执行该命令。
eg:指定xiaoming这个用户最多尝试3次登陆,锁定时间为2天:
sql>create profile lock_account limit failed_login_attempts 3password_lock_time 2;
sql>alter user xiaoming profile lock_account;
- 给账户(用户)解锁:
sql>alter user xiaoming account unlock;
- 终止口令:
概述:为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份来操作; 解锁也是一样的。
eg:给用户xiaoming创建一个profile文件,要求该用户每隔10天要修改自己的登录密码,宽限期为两天。
sql>create profile myprofile limit password_lige_time 10password_grace_time 2;
sql>alter user xiaoming profile myprofile;
- 口令历史
概述:如果希望用户在修改密码时,不能使用以前使用过的密码,已使用口令历史,这样oracle就会将口令历史的性能系存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。eg:
- 建立profile
sql>create profile password_history limit password_life_time 10password_grace_time 2 password_reuse_time 10;
- 分配给某个用户(和前面一样):
- 删除profile
概述:当不需要某个profile文件时,可以删除给文件。
sql>drop profile password_history [cascade(级联删除)];
Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理的更多相关文章
- Oracle数据库——常用命令(用户管理、数据库导入导出)
--==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...
- 二、oracle sql*plus常用命令
一.sys用户和system用户Oracle安装会自动的生成sys用户和system用户(1).sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户 ...
- oracle sql*plus常用命令
一.sys用户和system用户Oracle安装会自动的生成sys用户和system用户(1).sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户 ...
- Oracle-01-数据库分类/oracle sql*plus常用命令
一.数据库分类 一.数据库分类1.小型数据库:access.foxbase2.中型数据库:informix.sql server.mysql3.大型数据库:sybase.db2.oracle 二.项目 ...
- 4.oracle sql*plus常用命令
一.sys用户和system用户Oracle安装会自动的生成sys用户和system用户(1).sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户 ...
- 二、 sql*plus常用命令
一.sys用户和system用户Oracle安装会自动的生成sys用户和system用户(1).sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户 ...
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
- SQL注入常用命令
1. 数据库查询版本 Mssql select @@version Mysql select vresion()/select @@version oracle select banner from ...
- linux学习:【第2篇】常用命令
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第2篇]常用命令 基本命令 //打开终端: CentOS:在任何地方,右键-- ...
随机推荐
- Android开发面试题(一)
1.String和StringBuffer有什么本质区别? 本质区别:String字符串不可变,每次修改字符串必须要重新赋值(生成新的对象)才能修改:StringBuffer字符串可变,可以直接对字符 ...
- 【Qt】Qt环境搭建(Qt Creator)【转】
简述 上一节中介绍了如何进行Qt和Visual Studio的下载安装,随后演示了如何将Qt集成到Visual Studio中,并完成了我们第一个Qt小程序-Hello World.下面主要讲解如何利 ...
- Delphi XE5教程2:程序组织
内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误! 也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者 ...
- linux下查看进程内存使用情况
1. top命令--动态查看一个进程的内存使用top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s 如果想根据内存使用量进行排序,可以shift ...
- 【转】Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
这篇文章可能比较适合那些在经常在Mac下进行Java编程开发,或者经常使用Java工具的朋友.不关心Java或者不了解Java的朋友可以绕过本文哈~ 1. Mac下当你在[终端]输入java -ver ...
- Winform将网页生成图片
今天无意见看到浏览器有将网页生成图片的功能,顿时赶脚很好奇,于是就找了找资料自己做了一个类似的功能. 工具截图:生成后的图片 手动填写网站地址,可选择图片类型和保持图片地址,来生成页面的图片,当图片路 ...
- 【Jetlang】一个高性能的Java线程库
actor Jetlang 提供了一个高性能的Java线程库,该库是 JDK 1.5 中的 java.util.concurrent 包的补充,可用于基于并发消息机制的应用. .net的MS CCR ...
- 【开发记录】iOS中使用 Reachability 检测网络
如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测. 写本文的目的 了解Re ...
- input 标签的监听事件总结
最近在写一个手机端提交表单的项目,里面用了不少input标签,因为项目不太忙,所以,想做的完美点,但是遇到了一些问题,比如:页面中的必填项如果有至少一项为空,提交按钮就是不能提交的状态,所以需要对所有 ...
- mysql left( right ) join使用on 与where 筛选的差异
有这样的一个问题mysql查询使用mysql中left(right)join筛选条件在on与where查询出的数据是否有差异. 可能只看着两个关键字看不出任何的问题.那我们使用实际的例子来说到底有没有 ...