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;
相关推荐
想做后端的小C2 小时前
在虚拟机里运行frida-server以实现对虚拟机目标软件的监测和修改参数(一)(android Google Api 35高版本版)
linux·运维·数据库
钢铁男儿3 小时前
列表(列表是什么)
服务器·前端·数据库
Mr.kanglong4 小时前
【MySQL】数据类型与表约束
数据库·mysql
wu_yi_min4 小时前
Spring Boot 日志:项目的“行车记录仪”
java·数据库·spring boot
如意机反光镜裸5 小时前
如何批量导入竖版Excel表到数据库
数据库·excel
深蓝海拓5 小时前
Pyside6(PyQT5)的QSqlQueryModel的常用方法
数据库
宁静致远20216 小时前
Qt u盘自动升级软件
数据库·qt·嵌入式linux开发
记得开心一点嘛6 小时前
Redis --- 分布式锁的使用
数据库·redis·分布式
Elastic 中国社区官方博客7 小时前
Elasticsearch:如何搜索含有复合词的语言
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
青草地溪水旁7 小时前
mysql_init和mysql_real_connect的形象化认识
数据库·mysql