Oracle 创建用户及数据表的方法

更新时间:2009年09月25日 23:13:29   作者:

刚开始学习oracle的朋友可以看下,这个是基础了。

一、概念

1. 数据库 (Database)

什么是数据库?

数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

什么是数据库系统?

数据库系统是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任

打个比喻吧:库据库就是存放数据的仓库. 当然仓库得组织得有序,这需要一套管理方法及管理组织,管理方法及管理组织结合就成了一个管理仓库的有机体 -- 系统.

2. 数据表空间 (Tablespace)

存放数据总是需要空间, Oracle把一个数据库按功能划分若干空间来保存数据。当然数据存放在磁盘最终是以文件形式,所以一盘一个数据表空间包含一个以上的物理文件

3. Oracle用户

一个数据库多个用户来创建和管理自己的数据, 每个用户有自己的权限,也可与其他用户共享数据

4. 数据表

在仓库,我们可能有多间房子,每个房子又有多个货架,每架又有多层。 我们在数据库中存放数据,最终是数据表的单元来存储与管理的。

5. 数据文件

以上几个概念都是逻辑上的, 而数据文件则是物理上的。就是说,数据文件是真正“看得着的东西”,它在磁盘上以一个真实的文件体现.

二、创建

(*凡oracle命令在 sqlplus中执行, 即运行 sqlplusw system/manager@test -这是以前安装时讲到的)

1. 数据库 当我们安装好oracle8i后,一个数据库系统就安装好了,其中有一个缺省的数据库,当然,我们还可以创建新的数据库.

2. 现在我们应该建数据表空间, 就如要存放货物,起码首先得把房子建好吧。就是存放东西的空间。表空间就存放数据的空间.

格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;

example:

create tablespace data_test datafile 'e:\oracle\oradata\test\data_1.dbf' size 2000M;

create tablespace idx_test datafile 'e:\oracle\oradata\test\idx_1.dbf' size 2000M;

(*数据文件名 包含全路径, 表空间大小 2000M 表是 2000兆)

3. 建好 tablespace, 就可以建用户了

格式: create user 用户名 identified by 密码 default tablespace 表空间表;

example:

create user study identified by study default tablespace data_test;

(*我们创建一个用户名为 study,密码为 study, 缺少表空间为 data_test -这是在第二步建好的.)

(*抽省表空间表示 用户study今后的数据如果没有专门指出,其数据就保存在 data_test中, 也就是保存在对应的物理文件 e:\oracle\oradata\test\data_1.dbf中)

4. 授权给新用户

grant connect,resource to study;

--表示把 connect,resource权限授予study用户

grant dba to study;

--表示把 dba权限授予给 study

5. 创建数据表

在上面,我们已建好了用户 study 我们现在进入该用户

sqlplusw study/study@test

然后就可以在用户study中创建数据表了

格式: create table 数据表名 , 后面的详细参数,请你在网上搜索 "oracle" "create table" "语法". 太多了,我就不附在这里了。

下面给一个例子,自己体会.

create table test_user (

no number(5) not null , --pk

username varchar2(30) not null , --用户名

passpord varchar2(30) not null , --密码

constraint pk_connectdb primary key(no)

)storage (initial 10k next 10k pctincrease 0);

*下面讲解上面命令的各方面的含义

create table test_user --创建数据表

no number(5) not null , --pk

(列名或字段名) 数据类型(数据长度) 该数据列不能为空 ,是列之间的分隔符 --后的内容是注释

constraint pk_connectdb primary key(no)

(约束) 约束名 (主键) (列名) 意思就是 在数据表 test_user中所有行数据 no的值不能相同(这就是主键的含义)

storage (initial 10k next 10k pctincrease 0); 这个说起来比较复杂, 反正如果某个数据表要存放大量数据,就把initial和next后的值设置大一点, 否则设置小一点.

既然上面在创建数据表中没有特别指定 表空间,当然该表就存放在study缺省表空间data_test了.

create tablespace data_phonepos datefile 'd:\install\OracleXpdb\datafilephonepos.dbf' size 8000M;

create user phonepos identified by phonepos default tablespace data_phonepos;

grant connect, resource to phonepos;

grant dba to phonepos;

权限的查询

5。1 查询某个用户授予其他用户在当前用户模式下的对象权限

select * from user_tab_privs_made --假如当前用户为WENZI,那么查询结果就是由WENZI授权,在WENZI模式下的权限记录

5。2 查询某个用户授予其他用户在该用户模式对象及其他模式对象上的对象权限

select * from all_tab_privs_made -- 假如当前登录用户为WENZI,那么查询结果就是所有由WENZI授予的权限的记录

修改用户

ALTER USER avyrros

IDENTIFIED EXTERNALLY

DEFAULT TABLESPACE data_ts

TEMPORARY TABLESPACE temp_ts

QUOTA 100M ON data_ts

QUOTA 0 ON test_ts

PROFILE clerk;

删除用户

DROP USER username [CASCADE] --CASECADE 选项会删除该用户模式下的所有对象,建议在删除前,先确认是否有其他的依赖关系存在。

查询属于用户的对象

select owner,object_name,object_type,status from dba_objects where owner='WENZI'

5.3 查询为某个用户授予的,在其他模式对象上的权限

select * from user_tab_privs_recd --假如当前登录用户为WENZI,那么查询结果就是WENZI在其他模式对象上的权限

5.4 查询为某个用户授予的,在该用户模式对象与其他模式对象上的权限

select * from all_tab_privs_recd --假如当前用户为wenzi,则查询结果为wenzi在整个数据库中拥有权限的对象

角色管理

创建口令文件

orapwd file='..........\pwd{SID}.ora' password='***(sys的密码)' tntries=10(口令文件最大的用户数量)

要使某个用户可以使用口令文件,必须为其授予SYSDBA权限,系统会自动将其加入到口令文件中。

grant sysdba to wenzi

当收回SYSDBA权限时,系统将对应的用户从口令文件中删除。

revoke sysdba from wenzi

查看口令文件管理的用户

select * from v$pwfile_users

相关文章

这篇文章主要介绍了 Oracle11g数据库win8.1系统安装配置图文教程的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-07-07

本篇文章是对Oracle的left join中on和where的区别进行了详细的分析介绍,需要的朋友参考下2013-06-06

这篇文章主要给大家介绍了关于sql脚本导入Oracle时重复生成check约束的问题解决方法,文中给出了详细的检查步骤,对大家理解和解决这个问题具有很好的帮助,需要的朋友们下面来一起看看吧。2017-05-05

这篇文章主要介绍了Oracle中字符串截取常用方法总结,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2018-11-11

关于ASM的讨论很多,但是到底什么是ASM?ASM是一个有效的抽象层,使你的Oracle数据库可以与叫做diskgroups的抽象空间一起使用,而不是直接使用datafiles。2009-05-05

这篇文章主要介绍了Oracle中scott表结构与简单查询,实例分析Oracle查询的相关技巧,需要的朋友可以参考下2015-04-04

可以将查询的结果放入到一张自定义表中,同时可以再从这个自定义的表中查询数据,详细的sql如下,感兴趣的朋友不要错过2014-08-08

这篇文章主要介绍了使用sqlplus为oracle创建用户和表空间的方法,本文介绍的是使用Oracle 9i所带的命令行工具:SQLPLUS,需要的朋友可以参考下2017-11-11

这篇文章主要为大家详细介绍了oracle不能使用EM的解决方法,oracle11g如何正确安装配置EM,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05

在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束2012-11-11

最新评论

Oracle新建的用户看不到表,Oracle 创建用户及数据表的方法相关推荐

  1. oracle创建表空间.创建用户.创建表

    oracle创建表空间.创建用户.创建表 转:http://blog.csdn.net/zhoubl668/archive/2009/02/02/3858576.aspx 在SQL*Plus中:(1) ...

  2. oracle创建新指定表空间,oracle创建表空间 创建用户指定表空间并授权

    1.创建表空间 例如: (1)表空间名为myplace: (2)数据文件路径为E:\oracle\oracle_home\oradata\myspace (3)文件名为mydbf.dbf,空间大小为3 ...

  3. oracle恢复drop建的表首次,案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表...

    天萃荷净 通过Oracle dul工具在没有备份情况下进行非常规恢复,找出drop删除的Oracle数据表中的数据进行恢复 dul对被drop对象进行恢复,需要提供两个信息 1.被删除表所属表空间(非 ...

  4. oracle 11g b表空间什么情况下自动增加,Oracle 11g表空间——创建和扩展(永久)表空间...

    Oracle 11g表空间--创建和扩展(永久)表空间 本文内容 创建(永久)表空间 查看表空间 扩展表空间 创建(永久)表空间 Oracle 按照区和段空间进行管理表空间. 区管理方式 - 针对区的 ...

  5. 数据库系统概论 实验报告答案 实验二:创建及管理数据表

    实验二:创建及管理数据表 一.实验目的 掌握数据库模式的创建方法: 掌握数据表的特点: 掌握在Management Stuio中创建.编辑及删除数据表: 掌握使用T-SQL创建.编辑及删除数据表: 二 ...

  6. MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)

     基础知识   一条数据存储的过程 存储数据是处理数据的第一步 .只有正确地把数据存储起来,我们才能进行有效的处理和分析.否则,只能是一团乱麻,无从下手.那么,怎样才能把用户各种经营相关的.纷繁复杂的 ...

  7. SQL Sever 创建与管理数据表

    目录 一.创建数据表 1.使用SQL Sever Management Studio创建数据表 2.使用CREATE TABLE语句创建数据库 二.管理数据表 1.查看表结构 1.1查看数据表的属性 ...

  8. mysql删除emp表的语句_MySQL删除数据表(DORP TABLE语句)

    在MySQL数据库中,对于不再需要的数据表,我们可以将其从数据库中删除. 在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失. 下面我们来了解一 ...

  9. 数据库系统概论 实验报告答案 实验三:创建及管理数据表

    实验三:创建及管理数据表 一.实验目的 熟悉数据表的特点: 熟悉在Management Stuio中创建.编辑及删除数据表: 熟悉使用T-SQL创建.编辑及删除数据表: 二.实验学时 2学时 三.实验 ...

  10. MySQL——创建数据库和数据表

    创建数据库和数据表 (1)创建数据库相关代码 create database test; #创建数据库 show create database test; #查看创建好的test数据库 show d ...

最新文章

  1. htc820+android+l,首款高通64位八核 HTC Desire 820评测
  2. [pyinstaller]PermissionError: [Errno 13] Permission denied:C:\Users\xxx\AppData\Local\ucrtbase.dll
  3. 每日一皮:这年头没点绝活连洗车都不行...
  4. pcie协议_PCIE总线,你不得不知道的信号分布及使用情况
  5. 国内最缺的架构实践,DDD领域驱动设计排第一!
  6. Qt-按钮无文本显示
  7. WIN2008下找不到proxy的处理方法
  8. 从「模拟」理解零知识证明:平行宇宙与时光倒流—— 探索零知识证明系列(二)
  9. yum安装freeswitch
  10. PAT题集2019.6.5排名变动
  11. php爬虫严选,用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好|python爬虫|python入门|python教程...
  12. bt5 note [7] 无线破解
  13. windows下图像标注软件Labelme安装及使用教程
  14. android 根据宽度调整字体大小,android根据分辨率自动调整字体大小的实例代码
  15. iOS好用的第三方框架/插件
  16. Web服务器技术的优缺点有哪些?
  17. 新鲜事儿!只有AI作品的电影节;酷~AI纹身设计师;ChatGPT的接生婆RLHF;Wayve自动驾驶模型MILE… | ShowMeAI资讯日报
  18. html5拖拽表单设计器,require+jquery+backbone实现拖拽式报表设计器-拖拽式表单设计器...
  19. 组合数求解与(扩展)卢卡斯定理
  20. php中json字符串值,如何使用PHP从JSON中提取数据?

热门文章

  1. 家用投影仪好还是电视好?家用投影仪什么品牌好
  2. kmplayer 调左右声道
  3. 用命令行无法运行PostgreSQL命令的问题
  4. outlook2007 配置保留服务器邮件副本
  5. LDAP安装及基本操作
  6. VMWare安装黑苹果的一些问题
  7. Cisco 交换机3650密码破解
  8. 【实验日志】计算机串口使用与测量5
  9. JNDI对应调用各种应用服务器 InitialContext 的写法
  10. 禁用剪贴板html如何复制,如何在按钮单击时将干净的HTML复制到剪贴板?