Oracle中用户,表空间,模式的含义

news/2024/6/19 6:23:51 标签: Oracle, 表空间, 模式, 用户

先给大家分享一下资源,绝对可靠:
Oracle11g安装包下载
链接:https://pan.baidu.com/s/1Qo2KiVYiaQAUu1Oic7DTYA
提取码:s32i
对于习惯了MySQL的人来说,使用起Oracle,刚开始确实有点不太顺手,我简单分享一下我的适应过程,首先得搞清楚几个Oracle中的概念:
一、表空间(Tablespace)
1、字面上来看,表空间就是个表的存储容器,在对应的物理级别上,表空间的数据内容是存储在一个或者多个数据文件或者临时文件中,这部分在我们编码中基本体现不出来,需要建用户的时候设置参数。
2、表空间主要有Permanent Tablespaces(永久表空间)、Temporary Tablespaces(临时表空间)、Undo Tablespaces(撤销表空间)三种,Oracle Database 11g 在使用数据库管理助手创建数据库的时候,默认会创建三个永久表空间(SYSTEM、SYSAUX、USERS),一个临时表空间(TEMP),一个撤销表空间(UNDOTBS1)。
可以使用Navicat for Oracle,打开表空间,可以很直观的看到,该工具我的另一篇博客中有提供:https://blog.csdn.net/weixin_42209881/article/details/88563817
在这里插入图片描述
3、 Oracle数据库有几个缺省表空间,其中SYSTEM和SYSAUX 表空间是一个Oracle数据库必须有的。
4、表空间模式,也可以称为状态,可以设置表空间的online(联机)或者offline(脱机),Read/write(读/写) 或者 Read-only(只读) ,在新建表空间的时候会有选项供选择。
使用SQL建立表空间

CREATE TABLESPACE "PETER"                      --表空间名PETER
    LOGGING                                     --启动重做日志
    DATAFILE 'F:\app\oradata\orcl\PETER.DBF' 	--指定对应的数据文件,可以一个或者多个
    SIZE 100M                                   --数据文件大小
    AUTOEXTEND ON                               --数据文件自动扩展
    NEXT 1024K                                  --一次扩展的大小
    MAXSIZE UNLIMITED                           --数据文件最大容量:无限
    EXTENT MANAGEMENT LOCAL                     --表空间本地管理
    SEGMENT SPACE MANAGEMENT AUTO ;             --存储管理方式,AUTO为自动方式

永久表空间
用于存储数据库中的持久性模式对象,如表、索引、视图等,其数据在物理上对应一个或者多个数据文件。永久表空间也是我们实际中用的最多的一个类型的表空间。我们也重点关注该类型,其余的大家可以自行了解。
二、用户(User)
Oracle 数据库中的用户,其实就是一个认证登录的东西,用来连接和访问数据库的。这个与我们的代码部分息息相关:
username对应的就是数据库中建立的用户,在代码中体现如下,“ZHANG”就是我自己建立的用户

 spring.datasource.jdbc-url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
    spring.datasource.username=ZHANG
    spring.datasource.password=zhang123
    spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

特别需要注意:Oracle中每个用户的密码有效期是180天,我如果想要让变成永久的,可以如下处理:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

建立用户就需要设置该用户表空间,我喜欢用客户端创建,较方便,也可以使用SQL:

CREATE USER "ZHANG"         --创建用户ZHANG
PROFILE "DEFAULT"            --忽略对profile中的一些资源限制(默认就好)
IDENTIFIED BY "zhang@123"       --密码为zhang@123
DEFAULT TABLESPACE "PETER"  --默认表空间PETER,即数据默认存此表空间,可以使用第一步自己建立的表空间
ACCOUNT UNLOCK;              --解锁用户

--建完用户后要给用户授予权限
Grant connect, resource to ZHANG;
 
--或者授予管理员权限
GRANT "DBA" TO "ZHANG" WITH ADMIN OPTION;  

三、模式(scheam)
数据库模式由一个数据库用户拥有,并与用户名具有相同的名称。
我们在创建用户的时候,Oracle会自动创建一个与用户名相同的数据库模式,然后,该用户下所有的对象(也称为模式对象,如表、序列、视图、同义词、存储过程等),都是归属到这个数据库模式
如果我们在代码中要访问某一张表,则可以这样写:

 <insert id="insert_pri" parameterType="java.util.Map" >
        INSERT INTO 
        "ZHANG"."PRIUSERDATA"     
        VALUES 
        (#{id}, #{date}, 3, 0, 5, 2, '', 1) 
    </insert>

这就很好理解模式的作用了, "ZHANG"是模式,“PRIUSERDATA” 是表名,结构是这样的:
在这里插入图片描述
总结起来就是:表空间其实就是存储的仓库,用户代表权限信息,模式类似MySQL中的数据库,它管理该用户的所有对象。
以上就是我的个人理解,有不到之处,还希望大家多多交流


http://www.niftyadmin.cn/n/1032506.html

相关文章

Python入门之(6.2)目录的操作

目录 目录的操作 1.1 目录与文件操作函数 1.2 目录的遍历 目录的操作 1.1 目录与文件操作函数 文件是由操作系统来管理的&#xff0c;并通过文件夹的方式来管理大量的文件。文件除了读写操作以外&#xff0c;还可以进行复制、移动、删除等操作。文件夹也可以进行创建、移动…

SQL查询所有列名用逗号连接

我们在使用mybatis时有时候需要查询所有的列&#xff0c;或者较多的列&#xff0c;这时候一个一个添加就会非常麻烦&#xff0c;我们可以使用SQL这样处理&#xff1a; SELECTGROUP_CONCAT(COLUMN_NAME SEPARATOR ",") FROMinformation_schema.COLUMNS WHERETABLE_SC…

2月14日总结

题目背景 本题测试数据为随机数据&#xff0c;在考试中可能会出现构造数据让SPFA不通过&#xff0c;如有需要请移步 P4779。 题目描述 如题&#xff0c;给出一个有向图&#xff0c;请输出从某一点出发到所有点的最短路径长度。 输入格式 第一行包含三个整数 n,m,sn,m,s&am…

Python入门之(6.3)CSV文件

目录 CSV文件 1.1 CSV文件简介 1.2 CSV文件访问 1.3 Excel文件与CSV文件 CSV文件 1.1 CSV文件简介 CSV&#xff08;逗号分隔值&#xff09;是一种用来存储表格数据&#xff08;数字和文本&#xff09;的纯文本文件&#xff0c;通常是用于存放电子表格或数据的一种文件格式…

2月15日学习总结

cruskal算法 #include<bits/stdc.h> using namespace std; const int N500005; int n,m;struct node//定义结构体 {int in;int to;int v; }; struct node edge[N];bool cmp(struct node a,struct node b) {return a.v<b.v;//对结构体中的x.v进行比较&#xff0c;>…

关于SpringMVC的一点个人总结

首先&#xff0c;我们得明白MVC是一种经典的设计模式&#xff0c;是代码分层的思想&#xff1a; 1.M(Model)&#xff1a;业务层&#xff0c;模型层&#xff0c;用来处理业务。service 2.V(View):视图层&#xff0c;用来显示数据。 3.C(Controller)&#xff1a;控制层&#xff0…

Python入门之(7.1)面向对象概述

Python的核心是面向对象&#xff0c;因此Python支持所有面向对象的特征&#xff0c;如封装、继承、多态等。封装的要点是对外隐藏实现的细节&#xff0c;使用类来实现。继承的目的是扩展类&#xff0c;在父类的基础上添加新的属性和方法而生成新类。多态的的核心是不同类的对象…

2月16日总结

题目描述 Farmer John had just acquired several new farms! He wants to connect the farms with roads so that he can travel from any farm to any other farm via a sequence of roads; roads already connect some of the farms. Each of the N (1 ≤ N ≤ 1,000) far…