zoukankan      html  css  js  c++  java
  • 一、Oracle介绍

    Oracle学习笔记

    一、 Oracle介绍

    1. 选择数据库的标准
    2. 项目的规模
    3. 负载量多大,用户量多少
    4. 成本
    5. 安全性

    Oracle 认证

    初级:OCA:Oracle Certificated Associate 

    中级:OCP:Oracle Certificated Professional

    高级:OCM:Oracle Certificated Master

    1. Oracle的安装、启动与卸载

    Oracle安装完毕会自动生成 sys 用户和 system 用户,

    1. sys用户是超级用户,具有最高权限,具有sysdba角色,有create database权限,该用户的默认密码是change_on_install
    2. system用户是 管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是manager
    3. 一般对于数据库维护,使用system用户登录就可以
    1. 手动启动2个服务

    我的电脑---管理----服务---OracleOraHome90MYORA1----右键启动

    ---OracleOraHome90TNSListener----右键启动

    登录sql-plus

    用户名:scott

    密码:tiger

    字符串:默认实例 myOra1

    sql-plus常用命令:

    show user; -- 显示当前用户

    exit; -- 退出sqlPlus

    set linesize 120; --设置行字符数

    set pagesize 8; --设置分页

    spool --向指定文件中输入内容

    切换用户:conn system/manager

    修改密码:passw 回车—给自己修改密码

    给别人修改密码: passw xiaoming(用户名)

    --如果给别人修改密码需要有dba的权限或者拥有alter user的权限

    编辑文件:edit

    创建用户:需要有sys或者system用户权限,否则提示权限不足

    create user xiaoming identified by m123;

    说明:创建的用户是没有权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限。给一个用户赋予权限的命令是:grant,回收权限使用命令revoke

    删除用户:一般以dba的身份删除某个用户,如果用其他用户删除用户需要具有drop user权限;

    在删除用户时如果该用户已经有表了,需要带cascade参数,用来指定该用户创建的表级联删除。

    命令:drop user 用户名 [cascade]

    权限

    在Oracle中,权限分为数据库权限和对象权限。

    系统权限包括登录数据库,建库,建表,建存储过程,建索引等;(大概有140多个)

    对象权限:用户对其他用户的数据对象访问/操作的权限;(大概有25个)

    例如用户访问其他用户的表、视图等操作的权限;

    数据对象:表、存储过程、触发器、视图、序列、同义词等。

    角色

    在Oracle中,权限太多一一分配会很累,所以提出一种内置多种基本权限的集合,称为角色;

    比如:connect是一种角色,里面包含7中权限;

    角色分为:自定义角色预定义角色

    预定义角色:系统内置的

    自定义角色:用户自己定义的角色

    授权举例:grant connect to xiaoming;--授权成功

    常见角色介绍:

    connect:连接数据库的权限

    dba:权限很高,不可轻易授予

    resource:可以在任何的 表空间 建表

    如果想要给xiaoming授予创建表的权限,需要切换到system用户:

    conn system/manager;

    grant resourec to xiaoming;

    --授权成功

    create table user( userId varchar(30), userName varchar2(30) )

    --创建成功

    select * from test; -- 空的

    使用desc命令查看表结构:

    desc test;

    列出表结构,字段名称,是否为空,类型

    如何让xiaoming有可以查询scoot的emp表的权限?

    grant select on emp to xiaoming;

    --授权成功

    conn xiaoming/m1234;

    select * from scoot.emp;

    其中,scott.emp称为方案

    方案:每个用户都有一个对应的逻辑空间,称为方案。

    如何让xiaoming有可以修改scoot的emp表的权限?

    grant update on emp to xiaoming;

    --授权成功;

    说明:select, update, insert, delete,这些权限统称为all

    为了方便,可以直接授予:grant all an emp to xiaoming;

    也就是对emp这张表的所有操作权限都授予给了xiaoming

    如何收回权限?

    scott希望收回xiaoming对emp表的查询权限;

    revoke select on emp from xiaoming;

    权限

    如果出了授予权限之外,还希望xiaoming具有把这个对象权限授予给其他用户的权限,就要在grant命令后面加上:with grant option

    grant select on emp to xiaoming with grant option

    如果希望把系统权限授予给其他用户,就要在grant命令后面加上:with admin option

    grant select on emp to xiaohong with grant admin option;

    问题:scott用户把权限授给了xiaoming,小明又把select权限授予给了xiaohong,如果scott把xiaoming的权限给回收了,那么xiaohong怎么样?

    conn scott/m123;

    create user xiaoming identified by m123;

    grant connect to xiaoming;

    grant all on emp to xiaoming;

    conn xiaoming/m123;

    create user xiaohong identified by m123;

    grant connect to xiaohong;

    grant selecet on emp to xiaohong;

    conn scott/m123;

    revoke select on emp from xiaoming;

    conn xiaohong/m123;

    select * from scott.emp;

    ----出错,无法执行,证明:权限级联回收了。

    级联回收管理权限。诛连九族

  • 相关阅读:
    51单片机 第五节 模块化编程与LCD调试工具
    51单片机 第七节 定时器
    第四届蓝桥杯试题
    洛谷题单 【算法17】搜索
    HttpPostedFile 和 HttpPostedFileBase 你真的了解嘛?
    Juqery让世界更美好超级简单实用的(上、下)自动翻的最佳效果,有图为证!
    图片防盗链实现
    gravity与layout_gravity的区别
    color.xml
    SOAPAction Header!
  • 原文地址:https://www.cnblogs.com/fanyong/p/2888219.html
Copyright © 2011-2022 走看看