01——数据库简介
关系型数据库
- 结构化数据库、行列组合成的二维表结构的数据
- 主流关系型数据库:oracle、MySQL、SQL Server、DB2
非关系型数据库
- 键值数据库
- key-value,主要是用一个哈希表
- 常见:Redis、Memcached
- 面向文档数据库
- 以文档形式存储,允许嵌套键值、且文档型效率比key-value高
- 常见:MongoDB、CouchDB
- 列存储数据库
- 将数据存储在列族中
- 常见:HBase、Cassandra
02——Oracle数据库安装
03——数据库配置
- Oracle 12c之后引入了CDB 与PDB的新特 性,在Oracle 12c数据库引入的多租用户 环境(Multitenant Environment)中,允许 一个数据库容器(CDB)承载多个可插拔数据 库(PDB)
- CDB全称为Container Database,中文 翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。
- 在Oracle 12c之前,实例与数据库是一对 一或多对一关系(RAC):即一个实例只能与 一个数据库相关联,数据库可以被多个实例 所加载。而实例与数据库不可能是一对多的 关系。
- 12c的多租户架构,引入CDB和PDB概念,使得用户也分为两种:common 用户和local用户
common用户
- common用户在root和每个已存在的或以后要创建的PDB都是相同的标识。 每个common用户都可以连接到root(也叫做root容器,被命名为 CDB$root)、任何有连接权限的PDB,并执行相关操作。
- 具有如下特性:
- 一个common用户可以在拥有create session权限的任意容器中登录
- 用户创建的common用户必须以c##或C##开始
- common用户的名称只能包含ASCII或EBCDIC字符
- 在整个容器下,common用户名是唯一的
- 对于不同common用户对应的schema,在每个容器中可以不同
local用户
- 只能在自己的PDB中
- 具有如下特性:
- 一个local用户指定到特定的PDB中,在这个PDB拥有自己的schema
- local用户不可以在root下创建
- local用户不能登录到root和其他PDB
- local用户名称不能以c##或C##开始
- 在一个PDB下,local名是唯一的
- 不同的PDB可以有相同的local名
- local用户是否可以访问common用户下的对象在于它的权
配置过程
⚫ 通过Net Manager或直接修改配置文件
⚫ 重启服务
⚫ 创建common用户 / local用户
-- 使用oracle自带的数据库操作框
win+R——>cmd——>sqlplus /nolog
-- 以管理员身份连接
-- (/: 前面省略用户名,windows登录用户|后面省略密码,windows登录用户的密码)
-- as sysdba: 使用数据库管理员身份登录
conn / as sysdba
-- 创建普通用户
create user c##用户名 identified by 123456;
-- 授权
grant dba to c##用户名;
-- 连接创建的用户
conn c##用户名/123456
⚫ 导入示例脚本
-- 导入sql脚本
@ 脚本路径