Oracle基础

本文深入探讨了Oracle用户类型的区别,包括system、sys、normal、sysdba、sysoper之间的区别,以及dba和sysdba的区别。同时详细介绍了Oracle表空间的概念、分类和使用方法,包括SYSTEM、Non-SYSTEM、PERMANENT、UNDO、TEMPORARY表空间的特点和作用。此外,还解释了Oracle序列的用途、用法以及序列号调整的方法。

1、Oracle用户类型区别

 1.1 sys和system用户的区别
【system】用户只能用normal身份登陆em。
【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。
“SYSOPER”权限,即数据库操作员权限,权限包括:
  打开数据库服务器   关闭数据库服务器
  备份数据库       恢复数据库
  日志归档         会话限制
“SYSDBA”权限,即数据库管理员权限,权限包括:
  打开数据库服务器   关闭数据库服务器
  备份数据库       恢复数据库
  日志归档       会话限制
  管理功能       创建数据库


1.2 normal、sysdba、 sysoper有什么区别
normal 是普通用户 只有登陆的权限  
sysdba拥有最高的系统权限
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public  

 

1.3 dba和sysdba的区别
dba、sysdba这两个系统角色有什么区别呢
在说明这一点之前我需要说一下oracle服务的创建过程
·创建实例
·启动实例
·创建数据库(system表空间是必须的)
启动过程
·实例启动
·装载数据库
·打开数据库

sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,
只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库
只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础!

2、Oracle表空间

表空间实际上对应物理磁盘的一个或多个数据文件,后缀为dbf。

【以下转】

TableSpace是Oracle空间管理上的逻辑单位,实体上存放数据的是Tablespace里面的档案(Data File);而我们所熟悉的Table就放在这一个一个的档案里面。所以TableSpace可以看成是Data File的群组。Tablespace可进一步分为segments(段)、extents(区)和blocks(块)。一个datafile只属于一个的一个tablespace。

    关于TableSpace的分类有两种,一种分为SYSTEM tablespaceNon-SYSTEM tablespace

    SYSTEM tablespace是随数据库的创建而创建的,当数据库刚建立起来,系统会建立一个叫做SYSTEM的系统TableSpace,存放SYS、SYSTEM等User重要的系统数据(ex:数据字典与预储程序,SYSTEM undo segment等);Non-SYSTEM tablespace包括了分配给用户的空间便于数据库的空间管理。 如果我们建立Oracle User时,不指定预设的TableSpace,则此User则会以SYSTEM TableSpace作为预设的TableSpace。这将造成管理上的混乱与严重的效能问题,这是必须特别注意的。

    另一种分为permanentundotemporary三种tablespace。

    A.Permanent Tablespace

    保存永久性对象。一般我们创建给APP使用的都是Permanent Tablespace。里面对象的生命周期不会随着交易或者用户的session结束而消失。

    B.Undo Tablespace

    Undo Tablespace是系统用的特殊的Tablespace,用来取代过去的rollback segement的机制,主要的功用是提供用户修改数据未commit之前的read consistency的功能以及rollback交易的功能。也因为undo tablespace主要是取代过去的rollback segement的机制,所以不能存放其他种类的segement。undo tablespace只能是local managed。

    C.Temporary Tablespace

    Temporary Tablespace也是系统用的特殊的Tablespace。当使用者需要做排序时,有时就会使用Temporary Tablespace,因此里面的Segement的生命周期都很短,可能交易结束或者User的Session结束就会消失。每个系统都必须要有一个预设的Temporary Tablespace(Default Temporary Tablespace),The DEFAULT TEMPORARY TABLESPACE clause of the CREATE DATABASE statement creates a default temporary tablespace for the database. 如果没有Default Temporary Tablespace,Create User的时候又忘了指定使用哪个Temporary Tablespace,会以SYSTEM tablespace来当作Temporary Tablespace,这样就很糟糕。以下列出几个Temporary Tablespace的特性。

1. Temporary Tablespace是NOLOGGING模式,因此若数据库损毁,做Recovery不需要恢复Temporary Tablespace。

2. Temporary最好是使用Local managed Tablespace。

3. 若使用local managed模式,UNIFORM. SIZE参数最好是Sort_Area_Size的参数,这样效能比较好。

4. Uniform. size预设1024K,而Sort_area_size预设是512K

5. Temporary Tablespace不能使用local managed的AUTOALLOCATE参数。

【以上转】

3、Oracle序列

3.1 概念

Oracle数据库中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其实是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

3.2 用法

create sequence SEQ_SYS_PRJ 
minvalue 1 
maxvalue 9999999999
start with 1001
increment by 1 
nocycle;

查找当前序列号: select SEQ_SYS_PRJ.currval from dual;

查找下一个序列号:select SEQ_SYS_PRJ.nextval from dual;

3.3 在数据从其他局点导入的时候,我们会遇到需要调整序列号的情况,即ID分段

(1)alter sequence SEQ_SYS_PRJ increment by xxx  //这里的xxx是我们希望下一次Sequence增加的值,可以为负数

(2)select SEQ_SYS_PRJ.currval from dual; //通过这样,Sequence就跳到我们希望的地方了,但是,这样下一个sequence还是在原来基础上+xxx,所以需要修改回去

(3)alter sequence SEQ_SYS_PRJ increment by 1 //这样,Sequence就跳转到我们希望开始的地方,并且按照想要的递增值递增了
代码转载自:https://pan.quark.cn/s/7f503284aed9 Hibernate的核心组件总数达到五个,具体包括:Session、SessionFactory、Transaction、Query以及Configuration。 这五个核心组件在各类开发项目中都具有普遍的应用性。 借助这些组件,不仅可以高效地进行持久化对象的读取与存储,还能够实现事务管理功能。 接下来将通过图形化的方式,逐一阐述这五个核心组件的具体细节。 依据所提供的文件内容,可以总结出以下几个关键知识点:### 1. SSH框架详细架构图尽管标题提及“SSH框架详细架构图”,但在描述部分并未直接呈现关于SSH的详细内容,而是转向介绍了Hibernate的核心接口。 然而,在此我们可以简要概述SSH框架(涵盖Spring、Struts、Hibernate)的核心理念及其在Java开发中的具体作用。 #### Spring框架- **定义**:Spring框架是一个开源架构,其设计目标在于简化企业级应用的开发流程。 - **特点**: - **分层结构**:该框架允许开发者根据实际需求选择性地采纳部分组件,而非强制使用全部功能。 - **可复用性**:Spring框架支持创建可在不同开发环境中重复利用的业务逻辑和数据访问组件。 - **核心构成**: - **核心容器**:该部分包含了Spring框架的基础功能,其核心在于`BeanFactory`,该组件通过工厂模式运作,并借助控制反转(IoC)理念,将配置和依赖管理与具体的应用代码进行有效分离。 - **Spring上下文**:提供一个配置文件,其中整合了诸如JNDI、EJB、邮件服务、国际化支持等企业级服务。 - **Spring AO...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值