Oracle01:目录结构与系统用户

1.1 Oracle目录结构

  • Oracle目录结构:

1、admin目录

记录Oracle实例的配置,运行日志等文件。每个实例一个目录。

SID:System IDentifier 的缩写,是Oracle实例的唯一标记。在Oracle中一个实例只能操作一个数据库。如果安装多个库那么就会有多个实例,我们可以通过实例SID来区分。

由于Oracle中一个实例只能操作一个数据库的原因,Oracle中也会使用SID来作为库的名称。

2、cfgtoollogs目录

里面的子目录分别存放着运行的dbca、emca、netca等图形化配置程序时的log。

3、checkpoints目录

存放检查点文件

4、diag目录

Oracle11g新添加的一个重组目录。其中的子目录,基本上Oracle每个组都有自己单独的目录,在Oracle10g中我们一直诟病的log文件散放在四处的问题终于得到解决,无论是asm还是crs还是rdbms,所有组件需要被用来诊断的log文件都存放在了这个新的目录下。

5、flash_recovery_area(闪回区)目录

闪回区:分配一个特定的目录位置来存放一些特定的恢复文件 ,用于集中和简化管理数据库恢复工作。闪回区可存储完全的数据文件备份、增量备份、数据文件副本、当前的控制文件、备份的控制文件、spfile 文件、快照控制文件、联机日志文件、归档日志、块跟踪文

件、闪回日志。

6、oradata目录

(1)用于存放数据文件,orcl数据库文件就存放在这里

(2)数据库中的文件介绍

  • CONTROL01.CTL

       Oracle数据库的控制文件

  • EXAMPLE01.DBF

       Oracle数据库表空间文件(数据文件)

  • REDO01.LOG、REDO02.LOG、REDO03.LOG

       Oracle数据库的重做日志文件。保证高可用性,三个文件的内容是一样的。

  • SYSAUX01.DBF

       11g新增加的表空间。主要存储除数据字典以外的其他数据对象。由系统内部自动维护。

  • SYSTEM01.DBF

       用于存放Oracle系统内部表和数据字典的数据。比如,表名、列名、用户名等。

  • TEMP01.DBF

       临时表空间文件。

  • UNDOTBSO1.DBF

       撤销表空间文件。用来保存回滚数据。

  • USERSO1.DBF

       用户表空间。

7、product目录

Oracle RDBMS的软件存放目录。RDBMS即关系数据库管理系统(Relational Database Management System)。

1.2 Oracle系统用户

1、Oracle系统用户

(1)sys用户

         sys: sys是Oracle中的超级账户,拥有的权限最大。可以完成数据库的所有管理任务。

(2)system用户

       system:没有sys 权限大,通常用来创建一些用户查看管理信息的表或视图。不建议使用       system用户来创建一些与管理无关的表或者视图。

  • 二者在登录时的区别

       sys和system在登录Oracle 时, sys只能以系统管理员( sysdba)或系统操作员( sysoper)

的权限登录,而system可以直接登录(normal)

(3)scott用户

       scott:是oracle提供的示例用户,提供了一些学习oracle操作的数据表。如: emp、dept、salgrade、bonus表

1.3 Oracle的启动和停止

1、Oracle启动

Oracle是通过系统的服务来启动的。

(1)OracleServiceORCL[(必须启动)

OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务,该服务是数据库启

动的基础,只有该服务启动,Oracle 数据库才能正常启动。

(2)OracleOraDb11g home1TNSListener(必须启动)

OracleOraDb11g. _home1TNSListener: 监听器服务,服务只有在数据库需要远程访问的时候或者使用PL/SQL Developer 等第三方工具时才需要。

(3)Oracle ORCL VSS Writer Service(非必须启动)

Oracle ORCL VSS Writer Service: Oracle 卷映射拷贝写入服务,VSS(Volume Shadow Copy

Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝

(shadow copy)它可以在多卷或者单个卷.上创建映射拷贝,同时不会影响到系统的系统能。

(4)OracleDBConsoleorcl(非必须启动)

OracleDBConsoleorcl : Oracle 数据库控制台服务, orcl 是Oracle的实例标识,默认的实

例为orcl 在运行Enterprise Manager(企业管理 器OEM)的时候,需要启动这个服务。

(5)OracleJobSchedulerORCL(非必须启动)

OracleJobSchedulerORCL: Oracle 作业调度(定时器服务, ORCL是Oracle实例标识。

(6)OracleMTSRecQveryService(非必须启动

OracleMTSRecoveryService:服务端控制。该服务允许数据库充当-一个微软事务服务器

MTS、COM/COM+对象和分布式环境下的事务的资源管理器。

2、Oracle 关闭

关闭Oracle只需要将服务停止即可。

1.4 Oracle第三方工具介绍

1、SQL plus:Oracle自带的客户端工具

黑色的窗口,结果集以文本的形式显示,不方便查看数据

2、SQL developer:Oracle公司提供的客户端工具

Command window和SQL plus一样

SQL window具有良好的图形化界面,使用更方便

1.5 Oracle的使用

1、Oracle的表空间

(1)Oracle的表空间分类

  • 永久表空间

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。

  • 临时表空间

Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间。

(2)创建永久表空间命令

注:只有在sys和system用户下才能创建表空间

create tablespace 永久表空间名称

datafile '永久表空间物理文件位置'

size 15M

autoextend on next 10M permanent online;

create tablespace YNHR datafile ‘D:\APP\app\oradata\orcl\YNHR.DBF’ size 15M autoextend on next 10M permanent online;

tablespace表示表空间

datafile表示数据文件,后面指定的就是.DBF的数据文件

autoextend表示自动扩展

permanent online表示永久表空间

(3)查看表空间

select * from dba_data_files;

(4)删除表空间

drop tablespace 表空间名称

[including contents ][ cascade constraints ]

drop tablespace:删除表空间的关键字,tab_name表示表空间名字。

[including contents]:表示在删除表空间的时候把表空间中的数据文件一并删除。

[cascade constraints]:表示在删除表空间的时候把表空间的完整性也一并删除。比如表的外键,和触发器等就是表的完整性约束。

drop tablespace oracleceshi

including contents cascade constraints;

直接在SQL Developer中用图形化删除

2、创建用户

(1)利用PL/SQL的图形化界面创建用户

点击apply应用后创建用户成功,在users文件中就可以看到LX用户了

(2)登录用户

前面创建的用户LX不具备登录的权限,我们在PL/SQL中登录时是登录不上的

提示如下错误,用户LX不具备登录权限

在这里,说明在Oracle数据库中,对于权限的管理是非常严格的,每个权限划分的很细,只有具有对应的权限才能进行相应的操作。

(3)权限介绍和分类

  • 对象权限[0bject privileges)

对象权限是指在指定的表视图,序列上制定执行动作的权限或权利。

  • 角色权限(Role privileges)

角色是可以授予用户的相关权限的组,该方法使权限的授予撤回更加容易管理。

  • 系统权限(System privileges)

为用户分配创建表、创建用户、创建视图、创建存储过程等权限。

(4)分配权限

给用户LX分配角色权限:connect(连接权限)

给用户LX分配系统权限:

注:我们在现在的学习阶段可以直接给一个用户dba的角色权限,这样该用户就具有所有的权限。

这时候在该用户下就可以创建表了

(5)利用SQL语法创建用户

语法:

CREATE USER user_name

IDENTIFIED BY password

[DEFAULT TABLESPACE tablespace]

[TEMPORARY TABLESPACE tablespace]

创建用户zhangsan,密码为123456:

create user zhangsan identified by 123456;

(6)删除用户:

以上情况说明用户还在连接的会话中,要先终止才能删除

在sys或system用户下查看有哪些连接信息

 

用命令杀掉对应的连接

再次执行删除用户,成功

(7)利用SQL语法分配权限:

语法:

给用户分配权限或角色:

grant 权限或角色 to 用户;

撤销用户的权限或角色:

revoke 权限或角色 from 用户;

给用户zhangsan分配connect和resource角色

connect角色分配了连接权限,resource角色分配了创建权限,资源分配

grant connect,resource to zhangsan;

撤销用户zhangsan的resource角色

revoke resource from zhangsan;

允许用户zhangsan查看emp表中的数据

grant select on emp to zhangsan;

允许用户zhangsan修改emp表中的数据

grant update on emp to zhangsan;

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值