推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

Oracle数据库常用十一大操作指令

   2023-08-13 网络整理佚名1250
核心提示:索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需要的数据。优点:相对于B树索引而言,基于位图索引列的查询可以减少响应时间。视图是一个虚表,不占用物理空间,因为视图本身的定义语句存储在数据字典里,视图中的数据是一个或多个实际表中获得的。因为分区表的数据存储在多个部分中,按分区加载和删除数据比在表中加载和删除更容易。

点击上方SQL数据库开发,关注获取SQL视频教程

SQL列

DBA 每天都会使用许多大大小小的指令。 本文总结了这些说明,希望能帮助您查找它们。

1. 启动和关闭数据库

1. 数据库启动

登录为

数据库启动命令:【启动选项】

数据库启动分三个阶段:

2. 关闭数据库

登录为

数据库关闭命令:[启动选项]

数据库关闭分为三个阶段:

2.启动和关闭监控进程

:提供数据库访问,默认端口1521

为了让客户端用户连接到实例,需要启动监听器

1. 开始监控

启动(START)监控是用户在操作系统下执行的命令,可以直接跟参数,也可以在命令提示符后进行操作。

2. 关闭显示器

注意:先启动监控,再启动数据库。

三、表空间

1.创建表空间

参数解释:

: 表空间名称

:指定组成表空间的一个或多个数据文件,多个数据文件时用逗号分隔

:表空间中数据文件的路径和名称

SIZE:指定文件的大小,用K指定大小以千字节为单位,用M指定大小以兆字节为单位

:用于启用或禁用数据文件的自动扩展

例子:

2.表空间管理

(1)调整表空间的大小。 当表空间已满时,可以使用ALTER语句调整表空间的大小。

方法一:更改数据文件的大小,并指定数据文件的存储路径。 通过使用关键字来指定调整后的表空间的大小

方法2:向表空间添加数据文件。为表空间添加一个新的数据文件

(2)改变表空间的读写状态。

 ALTER  TABLESPACE  表空间名  READ   WRITE ;      --使表空间可读写 ALTER  TABLESPACE  表空间名  READ   ONLY ;       --使表空间只读

(3)删除表空间,可以通过DROP语句删除表空间,加上表空间的名称。

DROP 表空间名称[ ] ;

其中是可选的。 如果删除仍包含数据的表空间,则需要添加此选项。

4. 用户管理

1.创建用户

例子:

2.修改用户密码

ALTER USER 用户名 BY 密码;

3. 删除用户。 可以使用 DROP USER 命令删除用户。 当用户拥有架构对象时,无法删除该用户,但必须使用该选项来删除用户和用户架构对象。

DROP USER 用户名;

创建用户前的准备工作:

1) 选择用户名和密码

2)确定用户需要存储对象的表空间

3)确定每个表空间的配额

4)分配默认表空间和临时表空间

5)创建用户

6) 为用户授予权限和角色

5.数据库权限管理

1.系统权限

系统权限是指对数据库执行某些系统级操作的权限,或者对某些类型的对象执行某些操作的权限

常用的系统权限如下:

:连接数据库

表:创建表

视图:创建视图

:创建序列

2. 对象权限

对象权限是指对特定模式对象执行操作的权限。 只能为模式对象设置管理对象权限,包括:表、视图、序列和存储过程。

数据用户有两种方式获取权限:

(1)直接给用户授予权限

(2) 为角色授予权限,然后将角色授予一个或多个用户。 使用角色可以更加方便、高效地管理权限,因此数据库管理员通常使用角色来向用户授予权限,而不是直接向用户授予权限。

常用的系统预定义角色如下:

(1):有连接数据库的权限

(2):有创建表、触发器、过程等的权限。

(3)DBA:数据库管理员的角色,拥有管理数据库的最高权限

3、新创建的用户必须被授予一定的权限才能执行相关的数据库操作。

授权是通过GRANT语句完成的,取消授权是通过该语句完成的。

授予权限的语法如下:

授予权限 | 用户名的角色;

撤销权限的语法如下:

权限| 来自用户名的角色;

6. 交易控制

:提交事务,即将事务中对数据库的修改永久保存。

:回滚事务,即取消对数据库所做的任何修改

自动提交:设置为开启

关闭自动提交:set off

七、索引

索引是一个对象,是与表关联的可选结构,提供了一种快速访问数据并提高数据库检索性能的方法。 索引允许数据库程序找到它们需要的数据,而不必扫描整个表。 就像一本书的目录一样,你可以通过目录快速找到你需要的信息,而无需阅读整本书。

一、指数特点

正确使用索引可以提高查询速度

可以对表的一列或多列建立索引

构建索引数量不受限制

索引需要磁盘存储,可以指定表空间,由系统自动维护

索引对用户是透明的,搜索时是否使用索引由你决定

数据库管理系统在访问数据时使用以下三种方法:

当没有索引或者不选择使用索引时,使用全表扫描方式

2、指标分类

(1)创建普通索引(B树索引)

参数解释:

:创建的索引名称

:要为其创建索引的表的名称

:要创建索引的列名列表,可以基于多列创建索引,以逗号分隔

:指定索引的表空间

(2)创建唯一索引

确保定义索引的列中没有两行具有重复值。 唯一索引中的索引键只能指向表中的一行。

(3) 创建反向键索引

与常规 B 树索引相反,反向键索引反转索引列的字节,同时保持列的顺序。 反向键索引通过反转索引键的数据值,使得索引的修改均匀分布在整个索引树上。 主要用于多个实例同时访问数据库的场景。

(4) 创建位图索引

优点:与B树索引相比,基于位图索引列的查询可以减少响应时间。

位图索引比其他索引技术占用的空间要少得多。

(五)其他指标

复合索引:在表中的多个列上创建。 索引中的列不必与表中的列的顺序相同,也不必彼此相邻。

基于函数的索引:要创建的索引需要使用表中一列或多列的函数或表达式,基于函数的索引也可以创建为B树索引或位图索引

3. 创建索引的原则

经常搜索的列可以作为索引列

通常已排序、分组的列可以用作索引

经常用作连接的列(主键/外键)可以建立索引

将索引放在单独的表空间中,不要放在有回滚段、临时段和表的表空间中

对于大型索引,请考虑使用子句创建大型索引。

根据业务数据出现的频率,定期重新生成或重组索引并进行碎片整理

4.查看索引

与索引相关的数据字典:

:用户创建的索引信息

:与索引相关的表列信息

5. 维护索引

(1)重建索引

该索引需要维护。 如果索引表中有大量的删除和插入操作,索引就会很大,因为删除操作后,被删除值的索引空间无法自动重用。 对于大表和DML操作非常频繁的表,索引维护非常重要。 提供了重建索引的说明。 允许索引空间重用已删除值占用的空间,使索引更加紧凑。

(2) 合并索引片段

合并索引碎片可以释放部分磁盘空间,是索引维护的重要方法,也是维护磁盘空间的一种方式,类似于磁盘碎片整理,释放未使用的空间以供重复使用。

(3) 重命名索引

(4)删除索引

8. 查看

视图是一种不占用物理空间的虚拟表,因为视图本身的定义语句存储在数据字典中,而视图中的数据是从一个或多个实际表中获取的。 用于生成视图的表称为视图的基表。 一个视图也可以从另一个视图生成。

1.视图的优点:

1) 提供另一个级别的表安全性

2)隐藏数据的复杂性:视图中可能定义了多表连接,但用户在不知道多表连接的语句的情况下也可以查询数据。

3)简化用户SQL命令:查询视图时,不需要编写复杂的查询语句,只需要查询视图名称。

4)隔离基表结构的变化:视图创建后,如果修改表的结构,视图不会受到影响。

5)通过对列进行重命名,提供另一个角度的数据:比如在销售系统中,每天下班前都要汇总当天的数据。 在销售人员眼中,汇总表就变成了每天的销售统计表。 在财务人员眼里,这张销售表就成了每日的销售报表

2. 创建视图

参数解释:

OR :如果视图已存在,此选项将重新创建视图。

FORCE:如果使用该关键字,则无论基表是否存在,都会创建视图。

:这是默认值,如果使用该关键字,则只有基表存在时才会创建视图。

:要创建的视图的名称

别名:指定视图查询所选择的表达式或列的别名。 别名的数量必须与视图选择的表达式的数量相匹配。

: 陈述

WITH CHECK :此选项指定视图只能访问插入或更新行。 术语表示赋予 CHECK 约束的名称。

WITH READ ONLY:此选项保证不能对此视图执行任何修改操作。

3.DML语句和复杂视图

DML语句用于修改数据,语句。 由于视图是虚拟表,因此这些语句也可以与视图一起使用。 一般情况下,不通过视图修改数据,而是直接修改基表,因为规则更清晰。

在视图上使用 DML 语句具有以下限制(相对于表)。

1)DML语句只能修改视图中的一张基表。

2)如果记录的修改违反了基表的约束,则视图无法更新。

3) 如果创建的视图包含连接运算符、运算符、集合运算符、聚合函数和子句,则视图不会更新。

4) 如果您创建的视图包含伪列表达式,您将无法更新该视图。

简单视图基于单个基表,不包括函数和分组函数,因此您可以在此视图中执行 、 、 和 操作,这些操作实际上是在基表中插入、更新和删除行。

复杂视图从多个表中提取数据,包括功能分组函数。 复杂视图不一定能够进行 DML 操作。

4.查询视图

从;

5.删除视图

下拉视图;

6. 物化视图

含义:是一种特殊的视图,有物理存储,占用物理空间,就像表一样

是远程数据的本地副本,或者用于根据数据表的总和生成汇总表

物化视图中两个重要的概念:查询重写和物化视图同步

(1)查询重写:重写sql语句。 当用户使用sql语句查询基表时,如果基于这些表的物化视图已经建立,就会自动计算并使用物化视图来完成查询。 在某些情况下,它可以节省查询时间并减少系统 I/O。 将此查询优化技术称为查询重写。 参数D决定是否使用重写查询,该参数是。 创建物化视图时需要使用启用查询重写功能。 该参数的值可以通过SHOW命令查看。

(2)物化视图的同步:

物化视图是基于表创建的,所以当基表发生变化时,需要同步数据来更新物化视图中的数据,从而保持物化视图和基表数据的一致性。 为物化视图提供两种刷新方式,决定何时刷新,即ON模式和ON模式。

ON模式:表示在基表的DML操作事务提交的同时刷新物化视图。

ON模式:表示物化视图在用户需要时更新。 可以通过.等方式手动刷新,也可以通过JOB定时刷新。

选择刷新方式后,还需要选择刷新类型。 刷新类型指定刷新时基表和物化视图之间如何同步数据。 提供了以下四种刷新类型。

:完全刷新整个物化视图。

FAST:采用增量刷新,只刷新自上次刷新以来所做的修改。

FORCE:刷新时判断是否可以进行快速刷新。 如果可能的话,使用FAST方法,否则使用FAST方法。

NEVER:物化视图不执行任何刷新。

默认为强制刷新类型。

创建物化视图

(1)授予权限,有创建物化视图的权限、QUERY权限、创建物化视图涉及的表的访问和创建权限。

SCOTT 用户演示

(2)创建物化视图日志

(3)创建物化视图语句

在:

bulid:该参数的含义是立即创建物化视图,也可以选择构建。 该参数表示物化视图确定后不会立即执行,而是稍后执行,当视图使用时再创建。

fast:刷新数据类型选择FAST类型。

ON :更新基表时,提交后立即更新物化视图。

QUERY :启用查询重写功能。 明确声明创建物化视图时启用查询重写。

As:定义如下查询语句。

查询体:物化视图的查询内容。 sql语句的查询结果集输出到物化视图并存储在自动创建的表中。

(4)删除物化视图

下拉视图;

9. 顺序

序列用于生成唯一的、连续的整数数据库对象。 序列通常用于自动生成主键或唯一键值。 序列可以按升序或降序排序。

1. 创建序列

参数解释:

2. 访问顺序

创建序列后,可以通过 和 伪列访问其值。 可以从伪列中选择值。 但他们的价值观是无法被操纵的。

:创建序列后第一次使用时,将返回序列的初始值。 在后续引用中,序列值将随着 BY 子句的值递增,并返回该新值。

:返回序列的当前值,即上次引用时返回的值

例子:

创建序列

创建表

插入数据

查看数据

查看序列的当前值

返回序列的当前值,即上次引用时返回的值

测试

重启实例后,再次写入数据,发现从40开始,因为根据创建序列的要求,每次都会放入30个序列号到缓存中。 实例重启后,缓存中的序列将会消失

3. 改变顺序

Alter命令用于修改序列的定义。 如果执行以下操作,则会修改顺序。

设置或删除或

修改增量值

修改缓存中的序列号数量

序列的 START WITH 参数无法修改

4.删除序列

10. 同义词

同义词是对象的别名,不占用任何实际存储空间,仅在数据字典中保存其定义描述。 当使用同义词时,它将被翻译成相应对象的名称。

1。目的:

创建数据库链接的语法:

link 数据库链接名称 TO 用户名 BY 密码 USING '链接字符串';

2. 同义词的分类

(1) 私有同义词

私有同义词只能被当前模式的用户访问,并且私有同义词的名称不能与当前模式的对象名称相同。 要在自己的架构中创建私有同义词,用户必须具有系统权限。 要在其他用户模式下创建私有同义词,用户必须具有any 系统权限。

语法:

CREATE [OR REPLACE] SYNONYM  [schema.]synonym_name  FOR  [schema.]object_name ;

参数解释:

(2) 共享同义词

所有数据库都可以访问公共同义词。 公共同义词可以隐藏基表的身份,降低SQL语句的复杂度。 要创建公共公共同义词,用户必须具有系统权限。

语法:

CREATE   [OR REPLACE]     PUBLIC    SYNONYM    [schema.]synonym_name    FOR    [schema.]object_name ;

(3)删除同义词

DROP [PUBLIC] SYNONYM  [schema.]synonym_name;

十一、分区表

一、含义:

允许将表的所有行分成几个部分并将它们存储在不同的表空间中。 分区的每一部分都成为一个分区,分区表成为分区表。

分区对于包含大量数据的表很有用。 优点如下:

1)提高表的查询性能。 表分区后,用户在执行SQL查询时只能访问表中的特定分区,而不能访问整个表。

2)表格更容易管理。 由于分区表的数据存储在多个部分中,因此按分区加载和删除数据比在表内更容易。

3) 易于备份和恢复。 每个分区都可以独立备份和恢复。

4)提高数据安全性。 将不同的分区分布在不同的磁盘上可以减少所有分区的数据同时损坏的可能性。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON