作者:threedayman

来源:恒生LIGHT云社区

基本概念

数据库(database)

oracle数据库是数据的物理存储。包括数据文件ORA或者DBF,控制文件,联机文件,日志文件,参数文件。oracle是只有一个数据库,由用户来管理的。mysql数据库创建数据库的过程是 创建库→创建表,而oracle创建数据库的过程是 创建一个表空间→创建一个用户→由用户去创建表。

实例

一个oracle的实例由一系列的后台进程和内存结构组成。一个数据库可以有多个实例。通常我们只用一个实例。

数据文件

数据文件是数据库的物理存储单位。oracle的数据库的数据存储在表空间中,而真正是存储在一个或多个数据文件中。而一个表空间可以由一个或者多个数据文件组成,而一个数据文件只能属于一个表空间

表空间

表空间是oracle对物理数据库上相关数据文件的逻辑映射。一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。

用户

创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间;创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象;

实践创建表和插入数据

登录linux服务器后,通过 su oracle 切换到oracle 用户下,执行 sqlplus / as sysdba

bash-4.2$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Nov 18 17:05:41 2021
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> 

执行 select name from v$datafile; 语句查询表空间数据文件存放路径

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/ORCLCDB/system01.dbf
/opt/oracle/oradata/ORCLCDB/sysaux01.dbf
/opt/oracle/oradata/ORCLCDB/undotbs01.dbf
/opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf
/opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf
/opt/oracle/oradata/ORCLCDB/users01.dbf
/opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf

11 rows selected.

创建表空间

CREATE TABLESPACE baktest datafile '/opt/oracle/oradata/ORCLCDB/baktest.dbf' size 600M autoextend on next 50m maxsize unlimited;

创建本地用户

查看pdb容器

SQL> select NAME,OPEN_MODE from v$pdbs;

NAME
--------------------------------------------------------------------------------
OPEN_MODE
----------
ORCLPDB1
READ WRITE

切换容器到pdb中(创建表空间也需要在该容器中)

SQL> alter session set container=ORCLPDB1;

Session altered.

创建用户

SQL> CREATE USER testUser IDENTIFIED BY 123456 DEFAULT TABLESPACE baktest;

User created.

用户授权

SQL> grant connect,resource,dba to testUser;

Grant succeeded.