recherche
Maisonbase de donnéestutoriel mysqlOracle基础第四章 用户管理及表空间

Oracle基础第四章 用户管理及表空间

Jun 07, 2016 pm 03:08 PM
dbaoracle基础用户空间Chapitre 4管理

本章目标 数据库用户管理 数据库权限管理 数据库存储结构 数据库用户管理 1. 创建用户 a) 语法 可以使用 CREATE USER 语句创建用户 语法如下 CREATE USER user_name IDENTIFIED BY password [DEFAULT TABLESPACE default_tablespace] [TEMPORARY TABLESPACE

本章目标

 

数据库用户管理

数据库权限管理

数据库存储结构

 

数据库用户管理

 

1.        创建用户

a)        语法

 

可以使用CREATE USER语句创建用户

语法如下

CREATE USER user_name IDENTIFIED BY password

[DEFAULT TABLESPACE default_tablespace]

[TEMPORARY TABLESPACE temporary_tablespace];

说明

user_name:创建的用户名

password:用户密码

default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间

temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间

             

b)        案例

创建jason用户

CREATE USER jason IDENTIFIED BY price;

创建用户,指定默认表空间和临时表空间

CREATE USER henry IDENTIFIED BY hooray

DEFAULT TABLESPACE users

TEMPORARY TABLESPACE temp;

2.        给用户授权

a)        如果想让用户在数据库里完成一些任务,需要相应的给用户授予权限

                        i.              如果想让用户连接到数据库,必须授予用户CREATE SESSION的系统权限。

                      ii.              授权必须通过一些特殊用户授权(例如SYSTEM),通过GRANT语句来完成

                    iii.              例如,给用户jason授予CREATE SESSION的权利

GRANT CREATE SESSION TO jason;

b)        下面再创建几个用户,以便后面使用

                        i.              CREATE USER steve IDENTIFIED BY button;

                      ii.              CREATE USER gail IDENTIFIED BY seymour;

                    iii.              GRANT CREATE SESSION TO steve, gail;

3.        修改用户密码

a)        可以使用ALTER USER语句修改用户密码

                        i.              例如,修改用户jason密码为marcus

ALTER USER jason IDENTIFIED BY marcus;

b)        可以通过PASSWORD命令修改当前登录用户的密码

                        i.              例如,jason用户登录之后,使用PASSWORD修改密码

CONN jason/marcus

PASSWORD

c)        执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

4.        查询用户

a)        在Oracle数据库中,可以通过DBA_USERS查询出包含与用户和用户特征相关的信息

b)       DBA_USERS包含用户名、加密的密码、账户状态以及默认的表空间

c)        例如

SELECT username,user_id,password,default_tablespace

FROM dba_users;

d)        查询结果如下图所示:

 

Oracle基础第四章 用户管理及表空间

5.        删除用户

a)        可以使用DROP USER语句对用户进行删除操作

                        i.              例如,删除jason用户

DROP USER jason;

                      ii.              执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

                    iii.              注意事项

在删除用户时,如果用户架构包含对象(如,表),那么在删除用户的时候可以在DROP USER语句的用户名后面使用CASCADE关键字进行级联删除。但是需要注意是的是,要确保用户中的这些对象没有其他用户还需要访问。

 

数据库权限管理

1.        系统权限

a)        拥有相关权限可以运行用户在数据库中完成相关操作,如执行DDL语句。

比如,如果用户需要创建表的话,那么就需要有CREATE TABLE的系统权限。

b)        权限可以组合在一起形成相关不同的角色。两个比较有用的角色是CONNECTRESOURCE角色

                        i.              CONNECT角色:允许用户连接数据库

                      ii.              RESOURCE角色:允许用户创建相关的数据库对象,如表、序列等

2.        常用系统权限

 

Oracle基础第四章 用户管理及表空间

3.        给用户授权

a)        可以使用GRANT语句给用户授权

例如,给steve用户授予相关系统权限

GRANT CREATE SESSION, CREATE USER, CREATE TABLE TO steve;

执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

b)        可以使用WITH ADMIN OPTION选项允许用户将权限授予其他用户,例如,给steve用户授予相关权限并使用此选项

GRANT EXECUTE ANY PROCEDURE

TO steve WITH ADMIN OPTION;

说明

由于使用了WITH ADMIN OPTION,此时steve不仅拥有了EXECUTE ANY PROCEDURE权限,而且还可以将此权限授予其他用户

例如,steveEXECUTE ANY PROCEDURE权限授予gail

CONNECT steve/button

GRANT EXECUTE ANY PROCEDURE TO gail;

 

Oracle基础第四章 用户管理及表空间

4.        查看给用户授权情况

a)        可以通过user_sys_privs视图查看给用户的授权情况

b)       user_sys_privs视图相关列

                        i.              username

当前用户

                      ii.              privilege

用户拥有的权利名称

                    iii.              admin_option

用户是否可以将该权利授予其他用户

c)        登录steve用户,查看其拥有系统权限情况

CONNECT steve/button

SELECT *

FROM user_sys_privs

ORDER BY privilege;

执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

5.        撤销系统权限

a)        可以使用REVOKE撤销用户的相关系统权限

b)        例如,撤销steveCREATE TABLE的权限

REVOKE CREATE TABLE FROM steve;

c)        撤销steveEXECUTE ANY PROCEDURE权限

REVOKE EXECUTE ANY PROCEDURE FROM steve;

d)        再次查看gail拥有的权限

 

Oracle基础第四章 用户管理及表空间

e)        说明

虽然撤销了steve EXECUTE ANY PROCEDURE权限,但是steve之前授予给gailEXECUTE ANY PROCEDURE权限仍然保留

6.        对象权限

a)        对象权限允许用户执行某些数据库对象操作,如表上执行DML语句

比如,store.products表上的INSERT权限,允许用户对products表进行插入数据的操作

b)        常见对象权限如下所示

 

Oracle基础第四章 用户管理及表空间

7.        将对象权限授予用户

a)        使用GRANT可以将对象权限授予用户

b)        例如,授予steveproducts表上的SELECTINSERTUPDATE的对象权限和在employees表上的SELECT对象权限

GRANT SELECT, INSERT, UPDATE ON store.products TO steve;

GRANT SELECT ON store.employees TO steve;

c)        授予steve更新last_name列和salary列的权限

GRANT UPDATE (last_name, salary) ON store.employees TO steve;

d)        在授予对象权限给用户的同时,也可以设置允许被授权用户将权限授予其他用户,例如给steve授予customers表的SELECT权限

GRANT SELECT ON store.customers

TO steve WITH GRANT OPTION;

e)       stevegail授予customers表的SELECT权限

CONNECT steve/button

GRANT SELECT ON store.customers TO gail;

8.       user_tab_privs_made视图

a)        可以通过user_tab_privs_made视图查看用户授予他人的表权限。视图相关列描述:

grantee:被授权者

table_name:表名

grantor:授权者

privilege:对象权限名称

grantable:被授权者是否能给其他用户授予该权限

hierarchy:该权限是否形成层次关系

b)        例如

SELECT *

FROM user_tab_privs_made

WHERE table_name = 'PRODUCTS';

c)        执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

9.       user_col_privs_made视图

a)        可以通过user_col_privs_made视图查看用户授予他人的列权限。视图相关列如下

grantee:被授权者

table_name:表名

column_name:列名

grantor:授权者

privilege:权限名

grantable:被授权者是否能够给其他用户授予该权限

b)        例如

SELECT *

FROM user_col_privs_made;

c)        执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

10.    user_tab_privs_recd视图

a)        可以通过user_tab_privs_recd视图查看用户获得的表权限。视图相关列如下

owner:对象的拥有者

table_name:被授权的对象名

grantor:授权者

privilege:对象权限名

grantable:是否允许该权限拥有者给其他用户授予此权限

hierarchy:该权限是否形成层次关系

b)        例如

CONNECT steve/button

SELECT *

FROM user_tab_privs_recd

ORDER BY privilege;

c)        执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

11.    user_col_privs_recd视图

a)        可以通过user_col_privs_recd视图查看用户获得的列权限。视图相关列如下

owner:拥有该对象的用户

table_name:权限所在的表名

column_name:权限所在的列名

grantor:授权者

privilege:权限名

grantable:该权限的拥有者是否能给其他用户授予该权限

b)        例如

CONN steve/button

SELECT *

FROM user_col_privs_recd;

c)        执行效果如下图所示

 

Oracle基础第四章 用户管理及表空间

12.    撤销对象权限

a)        使用REVOKE撤销对象权限

                        i.              例如,撤销steve用户在products表上的INSERT权限

CONNECT store/password

REVOKE INSERT ON products FROM steve;

                      ii.              执行效果如下图所示:

 

Oracle基础第四章 用户管理及表空间

                    iii.              撤销steve用户对于customers表的SELECT权限

REVOKE SELECT ON store.customers FROM steve;

                     iv.              说明

当撤销steve用户对customers表上的SELECT权限,那么之前steve授予gail的该权限也被撤销

 

数据库存储结构

 

1.        数据库存储结构概念

a)        数据库存储结构包括两部分

                        i.              逻辑存储结构

Oracle数据库的逻辑部分包括表空间(tablespace)、方案(schema)对象、段(segment)、区间(extent)和数据块(data block)等。数据库由若干个表空间组成,表空间由表、索引、视图等逻辑对象组成,表由段组成,段由区组成,区由数据块组成。

                      ii.              物理存储结构

Oracle数据库中的数据最终是保存在物理文件中的,包括用户数据、系统管理数据和日志数据等。每个物理文件由数据块组成,主要包括数据文件、控制文件和日志文件三类文件。这些文件为数据提供真正的物理存储。

2.        逻辑存储结构

 

Oracle基础第四章 用户管理及表空间

3.        物理存储结构

 

Oracle基础第四章 用户管理及表空间

4.        表空间

a)        数据库可以分为若干个逻辑存储单元,这些存储单元被称为表空间。

                        i.              每个数据库都至少有一个系统表空间(SYSTEM表空间)

                      ii.              创建表时,需要定义保存表的表空间。

b)       Oracle的表空间

 

Oracle基础第四章 用户管理及表空间

                        i.              大文件表空间

大文件表空间可以包含一个单独的大文件,是为超大数据库设计的,使用大数据文件可以减少文件的数量,从而减少更新时间

                      ii.              SYSTEM表空间

每个Oracle数据库都包含一个SYSTEM表空间,当数据库创建时,SYSTEM表空间会自动创建。

当数据库打开时,SYSTEM表空间始终在线。

SYSTEM表空间包含整个数据库的数据字典还有一些PL/SQL程序单元

                    iii.              SYSAUX表空间

数据库组件将SYSAUX表空间作为存储数据的默认位值,因此当数据库创建或升级时,SYSAUX表空间会自动创建。SYSAUX表空间不允许被删除,也不允许对其进行改名操作

                     iv.              Undo表空间

每个数据库都可以包含多个undo表空间。在自动撤销各类模式中,每个Oracle实例都指定(且只有一个)undo表空间。撤销的数据在undo表空间中使用undo区间来管理

                       v.              临时表空间

临时表空间用于存储临时数据,例如SQL语句执行排序操作时会创建临时数据。当数据库创建时将得到一个临时表空间。TEMP表空间是默认的临时表空间

5.        在SQL*Plus中查看表空间信息

a)        使用SYSSYSDBA的身份登录SQL*Plus,视图V$TABLESPACE可以显示控制文件中的表空间信息

SELECT *

FROM v$tablespace;

查询结果如下图所示:

 

Oracle基础第四章 用户管理及表空间

b)        也可以访问视图DBA_TABLESPACE,获取并显示所有表空间的属性和在线状态信息

 SELECT TABLESPACE_NAME,CONTENTS,STATUS

FROM DBA_TABLESPACES;

查询结果如下图所示:

 

Oracle基础第四章 用户管理及表空间

6.        表空间状态

a)        可以读写状态

用户可以读写表空间

b)        只读状态

用户只能读取表空间数据,不能写入。当用户不希望对数据库修改时可以设置为只读状态

c)        脱机状态

在此状态下,用户不能访问。这种状态用于控制表空间维护或要恢复与表空间对应的数据文件

7.        修改表空间的状态

a)        可以使用ALTER TABLESPACE命令修改表空间的状态,语法如下

ALTER TABLESPACE [ONLINE|OFFLINE|READ ONLY|READ WRITE]

例如,将表空间EXAMPLE设置为脱机状态

ALTER TABLESPACE example OFFLINE;

通过视图查看表空间的状态

 

Oracle基础第四章 用户管理及表空间

b)        可以使用以下命令把表空间EXAMPLE设置为不同的状态

设置为在线状态ONLINE

ALTER TABLESPACE example ONLINE;

设置为只读状态READ ONLY

ALTER TABLESPACE example READ ONLY;

设置为读写状态READ WRITE

ALTER TABLESPACE example READ WRITE;

c)        系统表空间、撤销表空间和临时表空间不能被设置为脱机状态。

8.        创建表空间

a)        创建表空间的语法如下

CREATE TABLESPACE tablespacename

DATAFILE 'filenane' [SIZE integer [K|M]]

[AUTOEXTEND [OFF|ON]]

b)        说明

tablespacename:需要创建表空间的名称

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

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

SIZE:用来指定文件的大小,用K表是千字节大小,M表示兆字节大小

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

c)        案例

                        i.              创建名称为STORE的表空间

CREATE TABLESPACE STORE

DATAFILE 'D:\ORACLE11G\STORE.MDB' SIZE 5M;

9.        删除表空间

a)        使用DROP TABLESPACE语句删除表空间

DROP TABLESPACE 

b)        例如,删除store表空间

DROP TABLESPACE store

INCLUDING CONTENTS AND DATAFILES;

本章总结

 

数据库用户管理

数据库权限管理

数据库存储结构

 

 

Oracle基础第四章 用户管理及表空间 Oracle基础第四章 用户管理及表空间  Oracle基础第四章 用户管理及表空间
@Wentasy
Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Place de MySQL: bases de données et programmationPlace de MySQL: bases de données et programmationApr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

MySQL: des petites entreprises aux grandes entreprisesMySQL: des petites entreprises aux grandes entreprisesApr 13, 2025 am 12:17 AM

MySQL convient aux petites et grandes entreprises. 1) Les petites entreprises peuvent utiliser MySQL pour la gestion des données de base, telles que le stockage des informations clients. 2) Les grandes entreprises peuvent utiliser MySQL pour traiter des données massives et une logique métier complexe pour optimiser les performances de requête et le traitement des transactions.

Que sont les lectures de Phantom et comment InNODB les empêche-t-il (verrouillage des touches suivantes)?Que sont les lectures de Phantom et comment InNODB les empêche-t-il (verrouillage des touches suivantes)?Apr 13, 2025 am 12:16 AM

INNODB empêche efficacement la lecture des fantômes via le mécanisme de blocage à clé suivante. 1) Le blocage de touche suivante combine le verrouillage des lignes et le verrouillage de l'espace pour verrouiller les enregistrements et leurs lacunes pour empêcher l'insertion de nouveaux enregistrements. 2) Dans les applications pratiques, en optimisant la requête et en ajustant les niveaux d'isolement, la concurrence des verrouillage peut être réduite et les performances de la concurrence peuvent être améliorées.

MySQL: Pas un langage de programmation, mais ...MySQL: Pas un langage de programmation, mais ...Apr 13, 2025 am 12:03 AM

MySQL n'est pas un langage de programmation, mais son langage de requête SQL a les caractéristiques d'un langage de programmation: 1. SQL prend en charge le jugement conditionnel, les boucles et les opérations variables; 2. Grâce aux procédures, déclencheurs et fonctions stockées, les utilisateurs peuvent effectuer des opérations logiques complexes dans la base de données.

MySQL: une introduction à la base de données la plus populaire au mondeMySQL: une introduction à la base de données la plus populaire au mondeApr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

L'importance de MySQL: stockage et gestion des donnéesL'importance de MySQL: stockage et gestion des donnéesApr 12, 2025 am 12:18 AM

MySQL est un système de gestion de base de données relationnel open source adapté au stockage, à la gestion, à la requête et à la sécurité des données. 1. Il prend en charge une variété de systèmes d'exploitation et est largement utilisé dans les applications Web et autres domaines. 2. Grâce à l'architecture client-serveur et à différents moteurs de stockage, MySQL traite efficacement les données. 3. L'utilisation de base comprend la création de bases de données et de tables, d'insertion, d'interrogation et de mise à jour des données. 4. L'utilisation avancée implique des requêtes complexes et des procédures stockées. 5. Les erreurs courantes peuvent être déboguées par le biais de la déclaration Explication. 6. L'optimisation des performances comprend l'utilisation rationnelle des indices et des instructions de requête optimisées.

Pourquoi utiliser MySQL? Avantages et avantagesPourquoi utiliser MySQL? Avantages et avantagesApr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Décrivez les mécanismes de verrouillage InNODB (verrous partagés, verrous exclusifs, verrous d'intention, verrous d'enregistrement, verrous d'écart, serrures à clé suivante).Décrivez les mécanismes de verrouillage InNODB (verrous partagés, verrous exclusifs, verrous d'intention, verrous d'enregistrement, verrous d'écart, serrures à clé suivante).Apr 12, 2025 am 12:16 AM

Les mécanismes de verrouillage d'InnoDB incluent des verrous partagés, des verrous exclusifs, des verrous d'intention, des verrous d'enregistrement, des serrures d'écart et des mèches suivantes. 1. Le verrouillage partagé permet aux transactions de lire des données sans empêcher d'autres transactions de lire. 2. Lock exclusif empêche les autres transactions de lire et de modifier les données. 3. Le verrouillage de l'intention optimise l'efficacité de verrouillage. 4. Enregistrement de l'indice de verrouillage d'enregistrement. 5. Écart d'enregistrement de l'indice des verrous de verrouillage de l'espace. 6. Le verrouillage de la touche suivante est une combinaison de verrouillage des enregistrements et de verrouillage de l'écart pour garantir la cohérence des données.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire