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 ...
随机推荐
-
Hiho 1232 北京网络赛 F Couple Trees
给两颗标号从1...n的树,保证标号小的点一定在上面.每次询问A树上的x点,和B树上的y点同时向上走,最近的相遇点和x,y到这个点的距离. 比赛的时候想用倍增LCA做,但写渣了....后来看到题解是主 ...
-
没有Iphone也能装逼:让Android版QQ显示成Iphone6
在智能手机市场上苹果的iPhone一直都有着很高的关注度,不过其高昂的价格却让人望而却步.有些年轻人为了拥有一部iPhone 不惜出租胸部来做广告位,更有甚者还卖身卖肾.其实这又何苦呢.其实只要小小地 ...
-
UIcollectionView的使用(首页的搭建1)
今天做一个首页的效果: 首页是用UICollectionView做的.下面我来结合首页的效果介绍一下: 一.创建基类继承自UIViewController 01 创建基类继承自UIViewContr ...
-
C++ Primer第18章Vector的再实现及bug修正
C++Primer第18.1.2节在介绍allocator类的时候,给了一个仿照标准库中vector的例子.感觉示例代码非常好,但是本人发现了一个bug,与大家共享. 按照作者的示例程序,编译程序时总 ...
-
MidpointRounding 枚举值简要说明
1. MidpointRounding.AwayFromZero 当小数点后取舍时5 时会取绝对值大的如 4.5 会取5 及正常的4舍5入. -- 官方解释翻译解释取绝对值小值感觉反译错了. 2.Mi ...
-
objc[20556]:Class JavaLaunchHelper is implemented in both xxx 警告处理
今天在Mac上对IntelliJ Idea 进行了升级 升级到2017.01后,运行程序时,出现以下红色警告: objc[20556]: Class JavaLaunchHelper is imple ...
-
java swing 下拉框与文本框
import java.awt.*; import javax.swing.*; import javax.swing.border.*; import java.awt.event.*; publi ...
-
rpm安装时出现循环依赖
在安装git包时提示要安装perl-git,当安装perl-git时又提示要安装git包.报错如下: [root@racdb1 Packages]# rpm -ivh perl-Git-1.7.1-4 ...
-
算法基础:删除字符串中出现次数最少的字符(Golang实现)
描写叙述: 实现删除字符串中出现次数最少的字符.若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串. 字符串中其他字符保持原来的顺序. 输入: 字符串仅仅包括小写英文字母, 不考虑非法输入, ...
-
Android学习笔记之 ActionBar
http://developer.android.com/guide/topics/ui/actionbar.html 1,ActionBar的几种形式 2,使用ActionBar需要Activity ...