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 ...
随机推荐
- php易混淆知识点
一.define(“constant”, “hello world”);和const constant = “hello world”;的区别? (0).使用const使得代码简单易读,const本 ...
- AngularJS的学习--ng-show/ng-hide/ng-if和ng-switch
在Angular的原生指令中有这几个指令用来控制元素的展示与否,ng-show/ng-hide/ng-if和ng-switch. 在angular性能优化中,我们也常常会用到它. 我们看下他们的区别. ...
- 牛顿法与拟牛顿法学习笔记(五)L-BFGS 算法
机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题.在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BF ...
- node.js + mongodb 做项目的详解(一)
想写博客很长时间了,因为一直身患懒癌,所以一直拖到了现在.markdown的语法也是刚刚学,试验一下效果好了不说了,直接上干货了.----------------------------------- ...
- 【知识积累】BufferedImage类实现图片的切分
一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...
- 【原创】Django-ORM进阶
基础部分已经写完:[原创]Django-ORM基础 以下部分将对表与表之间的关联操作做以介绍 models.py #_*_coding:utf-8_*_ from django.db import m ...
- Visual Studio 2013 和 ASP.NET 预览
VS 2013预览版在2013的TechEd大会由Brain Harry正式发布.这次发布包括了一系列的新特性:工程模板.Scaffolding 升级和Web工具.当你在VS 2013创建一个新工程的 ...
- Html5离线缓存详细讲解
离线缓存是Html5新特性之一,简单理解就是第一次加载后将数据缓存,在没有清除缓存前提下,下一次没有网络也可以加载,用在静态数据的网页或游戏比较好用.当然,Html5新的特性都不是所有浏览器都能支持的 ...
- Fiddler 抓取手机APP数据包
Fiddler是一个调试代理,下载地址http://www.telerik.com/download/fiddler 下载安装运行后,查出运行机器的IP,手机连接同一网域内的WIFI,手机WIFI连接 ...
- Dapper学习 - Dapper的基本用法(二) - 存储过程/函数
上一篇貌似少介绍了自定义函数和存储过程, 因为这两个也可以使用查询的方式来实现功能, 这一篇就补上 一.自定义函数的创建和调用 (mysql的) Delimiter $$ drop function ...