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:在任何地方,右键-- ...
随机推荐
- zedboard VmodCAM 图像采集 HDMI输出显示
本文叙述zedboard VmodCAM 图像采集 HDMI输出显示 参考: 1.color space详解资料 http://download.csdn.net/detail/xiabodan/ ...
- c++11:function的用法
function是函数.函数对象.函数指针.和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针 普通函数 #include <functional> voi ...
- 常用JS加密编码算法
//#region UTF8编码函数 function URLEncode(Str) { if (Str == null || Str == "") return "&q ...
- Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html 介绍到了在MongoDB的控制台完成MongoDB的数据操作,通 ...
- 一路走过的2013,welcome to 2014
驻入博客园,还是在大学时,至今没写过一篇博客,一直都是在看人家写的博客.2014 年第一天,就从这一天,开启博客之旅,与大家分享好书,分享技术,结交好朋友. 简单,介绍下自己,大三实习,因为热衷于互联 ...
- mysql在windows下支持表名大小写,lower_case_table_names
windows下mysql默认是不支表名大小写的,也就是表名大小写不敏感.用phpmyadmin创建的驼峰式表名,全部被强制成小写.mysql表名大小写敏感的参数: lower_case_table_ ...
- 跟着PHP100第一季学写一个CMS(11-20)
PS.刚发现IE并不兼容,有点悲剧 cms1.1密码处理 1.小知识:sha1($_answer) //加密为40位,不知道能不能破解 2.小知识:mysql_real_escape_string( ...
- iphone document 图片存储和读取
转载自:http://longquan.iteye.com/blog/1669990 存: //此处首先指定了图片存取路径(默认写到应用程序沙盒 中) NSArray *paths = NSSearc ...
- JNI 学习笔记
JNI是Java Native Interface的缩写,JNI是一种机制,有了它就可以在java程序中调用其他native代码,或者使native代码调用java层的代码.也 就是说,有了JNI我们 ...
- Java 网络编程(转)
一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...