Table of Contents:
基础
其实在Oracle中的概念并不是创建数据库,而是创建一个表空间,然后再创建一个用户,设置该用户的默认表空间为我们新创建的表空间,这些操作之后,便和你之前用过的mysql数据库创建完数据库一模一样了。
在SQL Server或者MySQL中,一般情况下,一个项目对应DBMS中的一个数据库,连接字符串中是用“用户名+密码+数据库名”来唯一标识数据库,一个用户可以管理多个数据库;
而连接oracle中的字符串主要是 用户名+密码 来标识数据库,通俗来说,除了数据库地址,一个程序连接MySQL或SQLServer需要提供用户名、密码和它需要连接的数据库名,连接Oracle则需要提供用户名和密码即可。
一般在 oracle 中建立方案的步骤为:1.创建表空间→2.创建用户并设置其表空间和权限→3.创建数据库对象(表、视图、索引等)
新建表空间
create tablespace tbs_danny datafile 'D:\oracle\oracledata\danny\danny_data.dbf' size 50M;
新建用户并为此用户分配默认的表空间
create user danny identified by danny default tablespace tbs_danny;
为用户授权
grant connect to danny;
grant resource to danny;
建立表
create table t_user_by_danny(id varchar(32),name varchar(32)) tablespace tbs_danny;
create table t_user_by_danny(id varchar(32),name varchar(32)); #也可以不指定表空间
- 表空间 (Tablespace)
- 表空间是Oracle中管理存储的逻辑结构,它由一个或多个物理数据文件(如
.dbf 文件)组成。
- 它就像是共享的物理仓库,不同用户的表都可以把数据存放在这个仓库里(即同一个表空间),但仓库里的货物(表数据)具体是谁的,是通过“用户”(模式)来区分的139。
- 用户/模式 (User/Schema)
- 在Oracle中,“用户”和“模式”基本是同义词。创建一个用户的同时,就会生成一个同名的模式来存放其所有的数据库对象(如表、视图等)。
- 模式是对象的逻辑容器,也是真正的命名空间。这意味着,表的“唯一身份”是由模式名 + 表名共同决定的。
- 模式是对象的逻辑容器,隔离性非常强。为不同应用创建不同的用户(模式)是一种常见的做法,每个应用的用户管理自己的一套表,即使表名相同也互不干扰。
- 表 (Table)
- 表是实际存储数据的对象。它属于某个特定的模式,但可以指定存储在某个表空间中。
细节
数据库存储结构分为:逻辑存储结构、物理存储结构。
2.2 逻辑存储结构:由小到大分为 数据块、数据区、数据段、逻辑对象、表空间、数据库。
- 1数据块:逻辑最小单位,通常是操作系统块的整数倍。由块头、表目录、行目录、空余空间、行数据5部分组成。
- 2数据区:一些数据块组成,会自行扩展。Oracle储存分配的最小单元。
- 3数据段:一些数据区组成,用于存储表、索引或簇等占用空间的数据对象。包括:数据段、索引段、回滚段、临时段。
- 4表空间:最大的逻辑区分,物理上对应数据文件。Oracle系统自动生成:
- 4.1SYSTEM表空间:存放系统表与数据字典。
- 4.2SYSAUX表空间:辅助SYSTEM。
- 4.3UODO表空间:撤销表空间。
- 4.4USERS表空间:用户表空间。
2.3 物理存储结构:数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告日志文件等。
- 1数据文件:保存用户应用程序数据和Oracle系统内部数据的文件。在读取数据时,Oracle会先从高速数据缓存区中取,没有再从数据文件中取。
- 2控制文件:记录了数据库的物理结构,包括数据库名、数据文件与日志文件的名称和位置等
- 3日志文件:日志进程LGWR、归档进程ARCH
- 重做日志文件:记录了数据库所发生过得更改信息(修改、删除、添加等)。
- 归档日志文件:非归档模式会在日志记满时覆盖、归档模式会日志写满时运行归档进程。
- 4服务器参数文件:记录了Oracle数据库的基础参数信息(数据库名、控制文件所在路径、日志缓冲大小等)。查询数据库的服务器参数:
- 1.select name,value,ismodified from v$parameter;
- 2.SQL*Plus 的show parameter
- 3 修改服务器参数 ALTER SYSTEM;
- 5密码文件:用于密码的验证:NONE表示只要通过操作系统验证,就不用通过Oracle密码文件验证。SHARED表示多个数据库实例都可以采用此密码文件验证。EXCLUSIVE表示只有一个数据库实例可以使用此密码文件验证。
- 6警告文件:记录Oracle系统的运行信息和错误信息。
- 7跟踪文件:后台进程跟踪文件用于记录后台进程的警告或错误信息、用户进程跟踪文件用于记载与用户进程相关的信息。