목차
本章目标
数据库用户管理
数据库权限管理
数据库存储结构
本章总结
데이터 베이스 MySQL 튜토리얼 Oracle基础第四章 用户管理及表空间

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

Jun 07, 2016 pm 03:08 PM
dba oracle 베이스 사용자 공간 제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
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

오라클을 열 수 없다면해야 할 일 오라클을 열 수 없다면해야 할 일 Apr 11, 2025 pm 10:06 PM

Oracle에 대한 솔루션은 개설 할 수 없습니다. 1. 데이터베이스 서비스 시작; 2. 청취자를 시작하십시오. 3. 포트 충돌을 확인하십시오. 4. 환경 변수를 올바르게 설정하십시오. 5. 방화벽이나 바이러스 백신 소프트웨어가 연결을 차단하지 않도록하십시오. 6. 서버가 닫혀 있는지 확인하십시오. 7. RMAN을 사용하여 손상된 파일을 복구하십시오. 8. TNS 서비스 이름이 올바른지 확인하십시오. 9. 네트워크 연결 확인; 10. Oracle 소프트웨어를 다시 설치하십시오.

Oracle Cursor를 닫는 문제를 해결하는 방법 Oracle Cursor를 닫는 문제를 해결하는 방법 Apr 11, 2025 pm 10:18 PM

Oracle Cursor Closure 문제를 해결하는 방법에는 다음이 포함됩니다. Close 문을 사용하여 커서를 명시 적으로 닫습니다. For Update 절에서 커서를 선언하여 범위가 종료 된 후 자동으로 닫히십시오. 연관된 PL/SQL 변수가 닫히면 자동으로 닫히도록 사용 절에서 커서를 선언하십시오. 예외 처리를 사용하여 예외 상황에서 커서가 닫혀 있는지 확인하십시오. 연결 풀을 사용하여 커서를 자동으로 닫습니다. 자동 제출을 비활성화하고 커서 닫기를 지연시킵니다.

Oracle Loop에서 커서를 만드는 방법 Oracle Loop에서 커서를 만드는 방법 Apr 12, 2025 am 06:18 AM

Oracle에서 FOR 루프 루프는 커서를 동적으로 생성 할 수 있습니다. 단계는 다음과 같습니다. 1. 커서 유형을 정의합니다. 2. 루프를 만듭니다. 3. 커서를 동적으로 만듭니다. 4. 커서를 실행하십시오. 5. 커서를 닫습니다. 예 : 커서는 상위 10 명의 직원의 이름과 급여를 표시하기 위해주기별로 만들 수 있습니다.

Oracle 로그가 가득 차면해야 할 일 Oracle 로그가 가득 차면해야 할 일 Apr 12, 2025 am 06:09 AM

Oracle Log 파일이 가득 차면 다음 솔루션을 채택 할 수 있습니다. 1) 오래된 로그 파일 청소; 2) 로그 파일 크기를 늘리십시오. 3) 로그 파일 그룹을 늘리십시오. 4) 자동 로그 관리를 설정합니다. 5) 데이터베이스를 다시 이용하십시오. 솔루션을 구현하기 전에 데이터 손실을 방지하기 위해 데이터베이스를 백업하는 것이 좋습니다.

비즈니스 세계에서 오라클의 역할 비즈니스 세계에서 오라클의 역할 Apr 23, 2025 am 12:01 AM

Oracle은 데이터베이스 회사 일뿐 만 아니라 클라우드 컴퓨팅 및 ERP 시스템의 리더이기도합니다. 1. Oracle은 데이터베이스에서 클라우드 서비스 및 ERP 시스템에 이르기까지 포괄적 인 솔루션을 제공합니다. 2. OracleCloud는 AWS와 Azure에 도전하여 IAA, PAAS 및 SAAS 서비스를 제공합니다. 3. E-BusinessSuite 및 FusionApplications와 같은 Oracle의 ERP 시스템은 기업이 운영을 최적화하는 데 도움이됩니다.

HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? Apr 14, 2025 pm 06:42 PM

Centos 시스템에서 Hadoop 분산 파일 시스템 (HDF)을 구축하려면 여러 단계가 필요합니다. 이 기사는 간단한 구성 안내서를 제공합니다. 1. 초기 단계에서 JDK를 설치할 준비 : 모든 노드에 JavadevelopmentKit (JDK)을 설치하면 버전이 Hadoop과 호환되어야합니다. 설치 패키지는 Oracle 공식 웹 사이트에서 다운로드 할 수 있습니다. 환경 변수 구성 : /etc /프로파일 파일 편집, Java 및 Hadoop 설정 설정 시스템에서 JDK 및 Hadoop의 설치 경로를 찾을 수 있습니다. 2. 보안 구성 : SSH 비밀번호가없는 로그인 SSH 키 : 각 노드에서 ssh-keygen 명령을 사용하십시오.

Oracle 데이터베이스를 중지하는 방법 Oracle 데이터베이스를 중지하는 방법 Apr 12, 2025 am 06:12 AM

Oracle 데이터베이스를 중지하려면 다음 단계를 수행하십시오. 1. 데이터베이스에 연결하십시오. 2. 즉시 종료; 3. 셧다운은 완전히 중단됩니다.

Oracle View를 내보내는 방법 Oracle View를 내보내는 방법 Apr 12, 2025 am 06:15 AM

Oracle View는 Expitility : Oracle 데이터베이스에 로그인하여 내보낼 수 있습니다. 뷰 이름 및 내보내기 디렉토리를 지정하여 EXP 유틸리티를 시작하십시오. 대상 모드, 파일 형식 및 테이블 스페이스를 포함한 내보내기 매개 변수를 입력하십시오. 내보내기를 시작하십시오. IMPDP 유틸리티를 사용하여 내보내기를 확인하십시오.

See all articles