01 Oracle 基本操作

Oracle 基本操作

初使用步骤

1.创建表空间

2.创建用户、设置密码、指定表空间

3.给用户授权

4.切换用户登录

5.创建表

注意点:oracle中管理表的基本单位是用户

文章目录

回顾之前的内容

了解Oracle体系结构

Oracle数据库、实例、用户、表空间、表之间的关系

  • 数据库:Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。

  • 实例: 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。

​ 每个实例可以创建多个表空间,每个表空间下可以创建多个用户和数据库文件。

  • 用户:用户是在实例下建立的。不同实例可以建相同名字的用户。

  • 表空间:表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

​ 每个数据库至少有一个表空间(称作SYSTEM表空间)。一个数据库实例可以有N个表空间,一个表空间下可以有N张表。

  • 数据文件(dbf、ora): 数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真 正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

1.创建表空间

创建表空间 必须 使用有超级管理员的用户来创建表空间

安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。

在oracle中,表空间是存储概念上的,建立表空间需要有对应的数据文件,数据文件建立好之后直接会把一定的磁盘空间分配给它,这样可以对数据库的存储空间进行有效的管理。然后在建表的时候指定对应的表空间,该表的数据就会都存在表空间对应的数据文件上,和Mysql那种每个表一个文件的方式比起来,存储的可控性更强。

  • sys用户是超级用户,具有oracle最高的权限,具有sysdba角色有create database的权限,该用户默认的密码是manager

  • system用户是管理操作员,权限也很大,具有sysoper角色,没有create database的权限,该用户默认的密码是change-on-install

就是说:这两个用户最大的区别是有没有create database权限。一般讲,对数据库维护,使用system用户登录就可以了,

使用plsql 工具 登陆system用户


使用Plsql工具连接oracle创建表空间

sql 复制代码
--创建表空间
create tablespace mytest01
datafile 'E:\data\mytest01.dbf'
size 100m
autoextend on
next 10m;

mytest01 为表空间名称

datafile 指定表空间对应的数据文件

size 定义表空间的初始大小

autoextend on 自动增长,当表空间存储都占满时,自动增长

next 一次自动增长的大小

点击【执行】按钮,或按F8执行

看到data文件下有了mytest01.dbf,且直接右键删除是删不掉的如下图

2.删除表空间

sql 复制代码
-- 删除表空间
drop tablespace mytest01;

这时在去data文件下去删除mytest01.dbf可以直接删除

3.创建用户

sql 复制代码
-- 创建用户
create user mytest01      --将来登陆的用户名mytest01
identified by mytest01    --将来登陆的密码mytest01
default tablespace mytest01; --指定用户出生的表空间

用户mytest01可以和表空间同名,他们存在不同的位置下如下图

4.给用户授权

sql 复制代码
--给用户授权
--oracle数据库中常用的角色
connect --连接角色,基本角色
resource --开发者角色
dba -- 超级管理员角色 

mytest01授权

sql 复制代码
-- 给`mytest01`授予超级管理员dba角色
grant dba to mytest01;

5.切换用户登录

点击【会话】-->【注销】-->【全部】;

再重新点【会话】-->【登录】

(也可以直接点击 钥匙 按钮 重新开个窗口)

这样 mytest01用户就登录成功了

6.表操作

数据类型了解

数据类型 描述
Varchar , varchar2 表示一个字符串 varchar2表示可变长度
NUMBER NUMBER(n)表示一个整数,长度是n NUMBER(m,n)表示一个小数,总长度是m,小数是n
DATA 表示日期类型
CLOB 大对象,表示大文本数据类型,可存4G
BLOB 大对象,表示二级制数据,可存4G

创建表

sql 复制代码
--创建一个person表
create table person(
       pid number(20),
       pname varchar(10)
);

完整的常规操作如下

sql 复制代码
--创建表空间
create tablespace mytest01
datafile 'E:\data\mytest01.dbf'
size 100m
autoextend on
next 10m;

-- 创建用户
create user mytest01      --将来登陆的用户名mytest01
identified by mytest01    --将来登陆的密码mytest01
default tablespace mytest01; --指定用户出生的表空间

-- 给`mytest01`授予超级管理员dba角色
grant dba to mytest01;
相关推荐
数据智能老司机14 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机15 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
松果猿15 小时前
空间数据库学习(二)—— PostgreSQL数据库的备份转储和导入恢复
数据库
无名之逆15 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
s91236010115 小时前
rust 同时处理多个异步任务
java·数据库·rust
数据智能老司机15 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
hzulwy16 小时前
Redis常用的数据结构及其使用场景
数据库·redis
程序猿熊跃晖16 小时前
解决 MyBatis-Plus 中 `update.setProcInsId(null)` 不生效的问题
数据库·tomcat·mybatis
Three~stone17 小时前
MySQL学习集--DDL
数据库·sql·学习
Qi妙代码17 小时前
MYSQL基础
数据库·mysql·oracle