引言:

数据保存问题?

可使用文件保存和数据库保存。

使用文件保存数据存在几个缺点:

1、文本的安全性问题;

2、文件不利于查询和对数据的管理;

3、文件不利于存放海量数据;

4、文件在程序中控制不方便。

为解决数据保存问题,专家们设计出更加利于管理数据的东东--数据库(本质就是一个软件),它能更有效的管理数据。数据库是衡量一个程序员水平的重要指标。

数据库

1、数据库的本质就是一款软件,这个软件专门用于管理和维护数据;

2、数据存放在数据库中。

数据库服务器、数据库和表的关系

所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每个应用创建一个数据库。

为了保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。

服务器访问量大的时候随时准备重启。

oracle的安装

系统要求 ■ 操作系统最好为windows server ■ 内存最好在256M以上 ■ 硬盘空间需要2G以上

iso文件要镜像陈驱动器才能够使用。

Oracle安装会自动的生成sys用户和system用户:

(1) sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install

(2) system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager

(3) 一般讲,对数据库维护,使用system用户登录就可以拉

也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。

oracle管理工具的介绍(1)

sql*plus是oracle自带的工具软件,主要用于执行sql语句,pl\sql块. 如何使用:

1)在开始->程序->oracle oradb_home10g->application development->sql*plus

2)在运行栏中输入: sqlplusw即可

oracle管理工具的介绍(2)

概述: sqlplus 是 dos下操作oracle的工具,其功能和sql*plus相似.

1)在运行栏中输入 sqlplus

2)找到该可执行文件sqlplus.exe, 在oracle主目录\ora10g\bin\sqlplus.exe ,鼠标双击即可

oracle管理工具的介绍(3)

概述: pl/sql developer 属于第三方软件,主要用于开发,测试,优化 oracle pl/sql 的存储过程比如: 触发器,此软件oracle不带,需要单独安装。

oracle管理工具的介绍(4)

■ Enterprise manager console(企业管理器) oracle 10g是通过web管理的 一般默认端口是5500, 也有1158的。 访问url(请一定保证oracle服务启动了): http://ip:1158 (也可能是5500)/em http://机器名:端口/em

sql*plus常用命令

■ 连接命令

(1)conn[ect]

用法: conn 用户名/密码,则链接进去。

conn 用户名/密码@网络服务名 [as sysdba/sysoper]

当用特权用户身份连接时,必须带上 as sysdba 或是 as sysoper

(2)disc[onnect] 说明:该命令用来断开与当前数据库的连接

(3)passw[ord] 说明:该命令用于修改用户的密码.如果要想修改其它用户的密码,需要用sys/system管理员登陆. (4)show user 说明:显示当前用户名

(5)exit 说明:该命令会断开与数据库的连接,同时会退出sql*plus

文件操作命令 
1.start和@ 
说明: 运行sql脚本 
案例: sql>@ d:\a.sql或是sql>start d:\a.sql 
2.edit 
说明: 该命令可以编辑指定的sql脚本 
案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开 
3.spool 
说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。 
案例: sql>spool d:\b.sql 回车,slecet* from table回车,并输入 sql>spool off

显示和设置环境变量

概述:可以用来控制输出的各种格式,set show如果希望永久的保存相关的设置,可以去修改glogin.sql脚本

1.linesize

说明:设置显示行的宽度,默认是80个字符

show linesize

set linesize 90

2.pagesize说明:设置每页显示的行数目,默认是14

用法和linesize一样

至于其它环境参数的使用也是大同小异

创建用户 
概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用创建新的用户。 
create user 用户名 identified by 密码; (oracle有个毛病,密码必须以字母开头,如果以字母开头,它不会创建用户) 
给用户修改密码 
概述:如果给自己修改密码可以直接使用 
password 用户名 
如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限 
SQL> alter user 用户名 identified by 新密码 
 删除用户 
概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user的权限。 
比如 drop user 用户名 【cascade】 
在删除用户时,注意: 
如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade;

自己不能够删除自己。

用户管理的综合案例 
概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。 
为了给讲清楚用户的管理,这里我给大家举一个案例。 
SQL> conn xiaoming/m12; 
ERROR: 
ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied 
警告: 您不再连接到 ORACLE。 
SQL> show user; 
USER 为 "" 
SQL> conn system/p; 
已连接。 
SQL> grant connect to xiaoming; 赋予xiaoming连接的权限
授权成功。 
SQL> conn xiaoming/m12; 
已连接。 
SQL> 
注意:grant connect to xiaoming;在这里,准确的讲,connect不是权限,而是角色。。 看图:

数据库除了表还有存储过程,触发器,视图。

数据对象:函数,过程,包,类型,触发器,工作,库,表,视图,序列,角色,同义词,表空间,簇。

现在说下对象权限,现在要做这么件事情:
* 希望xiaoming用户可以去查询emp表
* 希望xiaoming用户可以去查询scott的emp表 ,管理员和表的拥有者有这个权限,
  grant select on emp to xiaoming
select * from scoot.emp
* 希望xiaoming用户可以去修改scott的emp表
  grant update on emp to xiaoming
* 希望xiaoming用户可以去修改/删除,查询,添加scott的emp表
  grant all on emp to xiaoming
* scott希望收回xiaoming对emp表的查询权限
  revoke select on emp from xiaoming //对权限的维护。
* 希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限(select 权限)继续给别人。
--如果是对象权限,就加入 with grant option
  grant select on emp to xiaoming with grant option
我的操作过程:
SQL> conn scott/tiger;
已连接。
SQL> grant select on scott.emp to xiaoming with grant option; //不是系统用户(sys,system)要用scott.emp
授权成功。
SQL> conn system/p;
已连接。
SQL> create user xiaohong identified by m123;
用户已创建。
SQL> grant connect to xiaohong;
授权成功。
SQL> conn xiaoming/m12;
已连接。
SQL> grant select on scott.emp to xiaohong; //不是系统用户(sys,system)授权时要用scott.emp 授权成功。 --如果是系统权限。
system给xiaoming权限时:
grant connect to xiaoming with admin option //xiaoming可以把admin这个系统权限继续向下传递 问题:scoot把权限给了xiaoming,xiaoming把权限给了xiaohong,如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样?
答案:被回收。
下面是我的操作过程:
SQL> conn scott/tiger;
已连接。
SQL> revoke select on emp from xiaoming;
撤销成功。
SQL> conn xiaohong/m123;
已连接。
SQL> select * from scott.emp;
select * from scott.emp
第 行出现错误:
ORA-: 表或视图不存在 结果显示:小红受到诛连了。

数据库服务器、数据库和表的关系如图所示:

oracle1的更多相关文章

  1. 【学习笔记】Oracle-1.安装及配置

    Win7旗舰版安装Oracle_11gR1_database:  http://my.oschina.net/laiwanshan/blog/89951 Oracle用户登陆 sqlplus sys/ ...

  2. oracle-1

    使用sqlplus 进入oracle (1)服务的启动终止 oracle 服务的关闭: SQL> shutdown immediate; oracle服务的启动: SQL> startup ...

  3. Oracle-1 - :超级适合初学者的入门级笔记,CRUD,事务,约束 ......

    Oracle 更改时间: 2017-10-25  -  21:33:49 2017-10-26  -  11:43:19 2017-10-27  -  19:06:57 2017-10-28  -  ...

  4. ORACLE-1:虚拟列影响alter修改表字段操作!

    一.问题: 昨天想要修改Oracle数据库中某张表的某个字段,发现怎么都修改不成功!!!并给出了如下提示: ORA-54031:要删除或修改的列由某个虚拟列表达式使用 二.啥是“虚拟列” [不可见的列 ...

  5. Oracle报错,ORA-28001: 口令已经失效[转]

    Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录. Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个 ...

  6. Oracle 图形化以及命令行安装

    @(Oracle)[Install] Oracle 安装 相关版本说明 不同版本的Oracle需要安装在特定的系统版本之上. 如Oracle 11gR2的11.2.0.1.0需要安装在CentOS 5 ...

  7. Hibernate学习笔记4

    一.关于联合主键的映射测试实例 实体类: package com.***.comBineKey;public class Person { private Person_pk pk; private ...

  8. kvm

    硬件,os,内核模块,用户空间工具,命令行具体参数,日志 [root@localhost ~]# yum install pciutils [root@localhost ~]# lscpu;lspc ...

  9. Android_SQLite版本升级,降级 管理

    今天我们主要学习了数据库版本升级对软件的管理操作. 我们手机经常会收到xxx软件升级什么的提醒,你的软件版本更新,同时你的数据库对应的版本也要相应的更新. 数据库版本更新需要主要的问题: 软件的1.0 ...

随机推荐

  1. Word中表格内容被遮挡

    RT,输入内容后下面的主任签字会被遮挡,解决办法:选中整个表格右键,表格属性,行高值设置为最小值,然后设置允许跨页断行:有人说右键按内容调整表格也行,没试过............

  2. 今天,安装了一个GANGLIA玩玩,以后再测试NAGIOS吧。

    说不定以后派得上用场呢.. 还有,NGINX也要学,不能老是凭站IIS,APACHE混饭吃吧,现在它都这么流行了..新浪,网易,腾讯.

  3. nc 命令汇总

    转自: http://blog.chinaunix.net/uid-20068039-id-359170.html 1.远程拷贝文件从server1拷贝文件到server2上.需要先在server2上 ...

  4. NAND Flash的基本操作——读、写、擦除

    基本操作 这里将会简要介绍一下NAND Flash的基本操作在NAND Flash内部是如何进行的,基本操作包括:读.写和擦除.   读:     当我们读取一个存储单元中的数据时(如图2.4),是使 ...

  5. Highcharts实例

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  6. POJ_3111_K_Best_(二分,最大化平均值)

    描述 http://poj.org/problem?id=3111 n个珠宝,第i个有价值v[i]和重量w[i],要从总选k个,使得这k个的(价值之和)/(重量之和)即平均价值最大,输出选中的珠宝编号 ...

  7. VM Depot 助您使用本地开源软件架设开发 Web 站点

     发布于 2014-04-25 作者 云 浪生 使用 VM Depot 中的镜像在 Azure 上创建.开发.部署网站与应用不仅方便快捷而且省时省力!感谢开源社区的大力支持,我们的VM Depot ...

  8. Java如何将Exception.printStackTrace()转换为String输出

    package com.test1; import java.io.PrintWriter; import java.io.StringWriter; public class T010 { /** ...

  9. Linux NTP校时

    1.安装客户端(root权限运行) apt-get install ntpdate 2.修改配置文件:“/etc/default/ntpdate”,     NTPSERVERS="ntp. ...

  10. uva 3523 Knights of the Round Table

    题意:给你n,m n为有多少人,m为有多少组关系,每组关系代表两人相互憎恨,问有多少个骑士不能参加任何一个会议. 白书算法指南 对于每个双联通分量,若不是二分图,就把里面的节点标记 #include ...