1、数据库的使用:
- 项目的规模:负载量(用户)有多大?
- 成本:
- 安全性:
(小型数据库)access、forbase
负载小 ;100人以内,比如留言板,信息管理系统。
成本:千元以内。
安全性要求不高。
(中型数据库)mysQL; SQL server;informix;
负载,日访问量在5000-15000,成本在万元以内;比如:商务网站。
(大型数据库)sybase;oracle;db2
安全性高,成本高。
负载海量数据库。
sybase<oracle<db2
Oracle认证
dba认证; oca初级认证、ocp专家级认证、ocm大师认证。
java认证;
oracle网络开发认证:
安装oracle
oracle安装会自动生成sys用户和sysdba用户
(1)、sys用户是超级用户,具有最高权限,具有sysdba角色,具有create database 的权限,该用户默认的密码是manager;
(2)、system用户是管理员操作员,权限很大,具有sysoper角色,没有create database的权限,默认密码是 change_on_install
(3)、一般情况下,数据库的维护,使用system用户。
(4)、cott-普通用户-登录---权限有限,只能操作一部分数据表
事务基于连接
(commit 手动提交)
四个特性:原子性、一致性、隔离性、持久性
常见doc命令:
conn:连接命令;
disc: 断开连接;
passw: 修改密码(如果修改其他用户的密码,需要用sys/system用户登录)
cmd管理员登录: 请输入用户名: (空格) /(空格)as sysdba
show user:显示当前用户名;
exit:退出连接;
文件操作命令:
start和@:运行sql脚本:(sql>@c:aa\aa.sql || sql> start c:aa\aa.sql)
edit: 编辑命令:sql>edit c:aa\aa.sql;
spool: 将sqlplus屏幕上的内容输出到指定文件中去
创建新用户:create user xiaoming identified by tiger;
修改用户密码:create user xiaoming identified by tiger;
删除用户:drop user xiaoming;
注意:在删除用户时,如果要删除的用户,已经创建了表,那么需要再删除时,带一个参数 cascade.
新创建的用户没有任何权限(包括登录)。
赋用户权限:grant connect to xiaoming;---------赋予xiaoming登陆的权限。
权限:
系统权限:用户对数据库的相关权限;create session
对象权限:用户对其他用户的数据对象操作的权限;
select/insert/delete/update/all/create index...
数据对象:用户的创造的表,触发器,视图等数据。
角色:
自定义角色:
预定义角色:
赋用户权限:
grant connect to xiaoming;---------赋予xiaoming登陆的权限。
grant resource to xiaoming; -------赋予xiaoming创建表的权限
grant select on emp to xiaoming-------将查询的权限赋予xiamoing
select * from scott.emp;------查询来自scott的emp表。
grant all on emp to xiaoming-----将对这张表的所有权限赋予给xiaoming;
revoke:收回权限。
revoke select on emp from xiaoming ---------收回xiaoming对emp表的查询权限;
对权限的维护:
xiaoming用户可以查询scott的emp表,并可以将权限转发。
grant select on emp to xiaoming with grant option.-----------如果是对象权限,则在其后加with grant option;
grant connect to xiaoming with admin option---------如果是系统权限(system给xiaoming赋予权限)
!!!如果scott把xiaoming对emp表的查询权限收回。则被xiaoming转发的权限失效。
使用profile 管理用户口令。
概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那oracle就会将default范培给用户。
(1)账户锁定:
概述:指定账户(用户)登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令。
例如:指定scott这个用户最多只能尝试3次登录,锁定事件为2天
sql>create profile aaa limit failed_login_attempts 3 password_lock_time 2;------创建profile文件
sql>alter user scott profile aaa;--------指定用户。
(2)账户解锁:
sql>alter user scott account unlock;
(3)终止口令:
为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个指令也需要dba身份来操作。
例如:给前面创建的用户xiaoming创建一个profile文件,要求该用户每隔10天要修改自家的登录密码,宽限期2天。
sql>create profile myprofile limit password_lifi_time 10 password_grace_time 2;
sql>alter user xiaoming profile myprifile;
(4)口令历史:
建立profile
sql>create profile password_history limit password_life_time 10 password_grace_time 2 passpword_reuser_time 10;
password_reuse_time //指定口令可重用时间10天,后即可以重复使用。
(5)删除profile
概述:当不需要某个profile文件时,可以删除。
sql>drop password_history
oracle安装后默认的三种用户:
sys:超级用户权限,可以进行任何操作,创建表,视图等基本操作以及数据库的备份和恢复
system:权限也比较高,但是不能进行备份和恢复及数据库的升级。
scott:普通用户。connect/resource
例如smith用户
1、特性
----------------------概念
用户、角色、权限
查看所有角色:select * from dba_roles;
查看SCOTT用户有哪些角色:select * from dba_role_privs where grantee='SCOTT';
查看所有对象权限:select distinct privilege from dba_tab_privs;
查看所有系统权限:select distinct privilege from dba_sys_privs;
查看connect角色的权限:select * from dba_sys_privs where grantee='CONNECT';
查看resource角色的权限:select * from dba_sys_privs where grantee='RESOURCE';
----------------------------------
权限:
a.系统权限:登录、修改密码、建库、建表等
b.对象权限:用户对其他用户的数据对象操作的权限
select,insert,update,all,create index
----由dba授权用户user1可以查询Scott用户的emp表
grant select on scott.emp to user1 with admin option
注意:加后缀 with admin option 允许其可以把该权限授给其他用户
由scott用户把scott(对象权限)的emp表授权给user1查询:
grant select on emp to user1;
授权所有: grant all on emp to user1;
授权user1只能修改sal字段:
grant update on emp(sal) to user1;
回收权限:
revoke select on emp from user1;
角色:connect/resource(包含了一组权限)
-------------------------------------------
表空间:t 2个数据文件.dbf
安全性,授权,性能,表空间(一个项目创建一个表空间)
表空间:逻辑结构,由多个数据文件组成,从物理上讲,表是存在于数据文件里
从逻辑上讲,表是存在于表空间
数据库---表空间---段---区---块 提高管理效率
1:oracle数据库逻辑结构上包括表空间、段、区和块,物理上由数据文件组成,一个表空间包含一个或多个数据文件。
2: 表空间用于从逻辑上组织数据库的数据,通过表空间可以控制数据库占用的磁盘空间,同时dba可以将不同的数据类型部署到不同的位置,这样有利于提高I/O性能,同时利于备份和恢复等操作。
创建表空间一般由特权用户或dba角色来执行,需要有权限
create tablespace ts001 datafile 'd:\A\ts001.dbf' size 20m uniform size 128k;
建立表空间
建立表空间是使用crate tablespace命令完成的,需要注意的是,一般情况下,建立表空间是特权用户或是dba来执行的,如果用其它用户来创建表空间,则用户必须要具有create tablespace的系统权限。
建立数据表空间
在建立数据库后,为便于管理表,最好建立自己的表空间
create tablespace data01 datafile 'd:\test\dada01.dbf' size 20m uniform size 128k;
说明:执行完上述命令后,会建立名称为data01的表空间,并为该表空间建立名称为data01.dbf的数据文件,区的大小为128k
使用数据表空间
create table mypart(deptno number(4), dname varchar2(14), loc varchar2(13)) tablespace data01;
表空间状态:online,offline,read write,read only
read write(读写):实际上为online状态,只用表空间的状态为read only时才能转换到此状态,默认情况下所有的表空间都是读写状态。任何具有表空间配额并且具有适当权限的用户都可以读写表空间中的数据。
read only(只读):如果将表空间设置为只读状态,则任何用户(包括DBA)都无法向该表空间中写入数据,也无法修改表空间中已有的数据。这种限制与用户的权限无关。
offline(脱机):在有多个应用表空间的数据库中,DBA可以通过将某个应用表空间设置为脱机状态,使该表空间暂时不让用户访问。用户仍然可以访问数据库的其它表空间。
修改表空间状态:alter tablespace dcsopen_tbs online/offline/..;
2、pl/sql
概念:procedural language/sql 过程化语言,扩展了sql语言,可以定义常量变量,
使用条件和循环。
有点:安全,性能高、简化java代码,存储过程、函数、触发器
缺点:移植性不好
提高性能:优化java代码中的sql语言;使用存储过程
数据库除了sql优化还有哪些优化方法
- Oracle DB 执行用户管理的备份和恢复
• 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...
- oracle 学习笔记--用户管理
oracle 用户管理 创建用户(需要具有dba权限的用户) create user 用户名 identified by 密码 defaule tablespace users //默认表空间 ...
- oracle工具 sqlplus 用户管理
可以通过system用户对普通用户解锁.alter user scott account unlock; 工具:1/ sqlplusw sqlplus 自带.调用oracle安装目录下bin目录下的e ...
- oracle数据库之用户管理
转载 Oracle创建用户.角色.授权.建表 一.oracle数据库的权限系统分为系统权限与对象权限: 系统权限( database system privilege )可以让用户执行特定的命令集 ...
- MongoDB基础之七 用户管理
MongoDB的用户管理 注意:A)在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据.即 use admin , -->相当于进入超级用户管理 ...
- Oracle 数据库基本操作——用户管理与文件管理
目录: 1.初始状态 2.登录数据库 3.创建表空间 1)概念 2) 基本表空间 3)表空间管理 4.创建新用户 5.删除用户 6.用户的授权 1)定义 2)授予权限的方法 3)权限分类 4)授权注意 ...
- Oracle笔记之用户管理
1. 创建用户 创建用户使用create user语句,需要DBA权限: CREATE USER tom IDENTIFIED BY mot; 2. 更改用户密码 修改别人的密码需要DBA权限,或者a ...
- oracle系列(二)用户管理
SQL> conn /as sysdbaConnected to Oracle Database 11g Express Edition Release 11.2.0.2.0 Connected ...
- oracle数据库一些用户管理语句
查询所有数据库用户 select * from dba_users 查看数据库名称 select name from v$database 查看权限 select * from user_sys_pr ...
随机推荐
- maven -- 学习笔记(一)之maven环境搭建
首先先感谢博主的分享http://www.cnblogs.com/yjmyzz/p/3495762.html 基本概念: Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建 ...
- 修改NLS_DATE_FORMAT的四种方式
一. 在用户环境变量中指定(LINUX) 在用户的.bash_profile中增加两句: export NLS_LANG=AMERICAN ---这一句必须指定,否则下一句不生效.export NLS ...
- php基础教程-必备基础知识
PHP 脚本在服务器上执行. 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML CSS JavaScript 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程 ...
- 微信内置浏览器WebApp开发,踩坑 · Issue #31 · maxzhang/maxzhang.github.com · GitHub
最近花6天时间完成了一个七夕的小活动,是一个简单的WebApp.由于我前期对面向微信的Web开发评估不足,导致开发过程十分艰难.写这篇文章总结下,惊醒自己未来不要再犯这样的错误. 问题: 1. 有些比 ...
- Oracle数据库常见的误操作恢复方法(上)
实验环境:Linux6.4 + Oracle 11g 面向读者:Oracle开发维护人员 概要: 1.误操作drop了emp表 2.误操作delete了emp表 3.误操作delete了emp表的部分 ...
- 在Elasticsearch中查询Term Vectors词条向量信息
这篇文章有点深度,可能需要一些Lucene或者全文检索的背景.由于我也很久没有看过Lucene了,有些地方理解的不对还请多多指正. 更多内容还请参考整理的ELK教程 关于Term Vectors 额, ...
- 多iframe使用tab标签方式添加、删除、切换的处理实例
紧接着上一篇随笔iframe的内容增高或缩减时设置其iframe的高度的处理方案 如果采用iframe来切换显示内容的方式来展现办公Web.那么需要解决几个问题 1.tab标签需要和显示的iframe ...
- linux专题三之如何悄悄破解root密码(以redhat7.2x64为例)
root用户在linux系统中拥有至高无上的权限.掌握了root密码,差不对可以对linux系统随心所欲了,当然了,root用户也不是权限最高的用户. 但是掌握了root密码,基本上够我们用了.本文将 ...
- [爬虫资源]各大爬虫资源大汇总,做我们自己的awesome系列
大数据的流行一定程序导致的爬虫的流行,有些企业和公司本身不生产数据,那就只能从网上爬取数据,笔者关注相关的内容有一定的时间,也写过很多关于爬虫的系列,现在收集好的框架希望能为对爬虫有兴趣的人,或者 ...
- 最小生成树---Kruskal/Prime算法
1.Kruskal算法 图的存贮采用边集数组或邻接矩阵,权值相等的边在数组中排列次序可任意,边较多的不很实用,浪费时间,适合稀疏图. 方法:将图中边按其权值由小到大的次序顺序选取,若选边后不 ...