简单介绍Oracle表空间管理和用户管理
本篇文章给大家带来了关于Oracle的相关知识,主要讲的是Oracle表空间管理和用户管理介绍,表空间是Orcale数据库逻辑解构的一个重要组件,表空间可以存放各种应用对象,如表、索引等,感兴趣的同学赶快来看一看吧,希望对大家有帮助。
推荐教程:《Oracle视频教程》
1. Oracle表空间
表空间是Orcale数据库逻辑解构的一个重要组件,表空间可以存放各种应用对象,如表、索引等。每一个表空间由一个或多个数据文件组成。
1.1:表空间的分类
表空间可分为三类
类别 | 说明 |
---|---|
永久性表空间 | 一般保存表、视图、过程和索引等的数据。Oracle会默认安装一些永久性表空间,如:SYSTEM、USERS等 |
临时性表空间 | 只用于保存系统中短期活动的数据,如排序数据等 |
撤销表空间 | 用来帮助回退未提交的事务数据,已提交的数据在这里是不可以恢复的。 |
1.2:表空间的目的
(1)对不同用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户数据的操作,对模式对象的管理。
(2)可以将不同数据文件创建到不同的磁盘中,有利于管理磁盘空间,有利于提高I/O性能,有利于备份和恢复数据等。
1.3:创建表空间
创建表空间,语法如下。
CREATE TABLESPACE tbs1 --表空间名称 DATAFILE 'E:\TeachCase\OracleDB\tbs1.DBF' -- 数据文件存放的位置 SIZE 1M -- 初始大小 AUTOEXTEND ON; -- 自动增长(开,关的话就是 OFF)
1.4:删除表空间
Drop TABLESPACE tbs1 --表空间名称;
注意:当表空间没有被 DROP 时,不能从磁盘上删除,只有执行了 DROP TABLESPACE 命令之后才可以删除数据文件,不然的话Oracle会无法执行。
2. Oracle用户权限管理
当创建一个新数据库时,Orcale将创建一些默认的数据库用户,如Sys、System 和 Scott等。
2.1:Sys
Sys用户是Oracle中的一个超级用户。数据库中所有数据字典和视图都存储在SYS模式中。Sys用户主要用来维护系统信息和管理实例,Sys用户只能以SYSOPER或SYSDBA角色登录系统。
2.2:System
System用户是Oracle中默认的系统管理员,它拥有DBA权限。该用户拥有Oracle管理工具使用的内部表和视图。System用户不能以SYSOPER或SYSDBA角色登录系统,只能以默认方式登录。
2.3:Scott
Scott用户是Oracle数据库的一个示范用户,一般在数据库安装时创建。Scott用户模式包含3个示范表,其中一个是Emp表。使用USERS表空间存储模式对象。
2.4:创建自定义用户
通常情况下,处于安全考虑,对不同的数据表需要设置不同的访问权限。此时,就需要创建不同的用户。
一个新建的用户能够访问并操作数据库,须经过以下步骤:
第一步:创建用户
CREATE USER accp -- 指定用户名 IDENTIFIED BY accp -- 指定登录密码 DEFAULT TABLESPACE tbs1 -- 指定默认表空间,如果不指定将用SYSTEM表空间作为默认表空间 TEMPORARY TABLESPACE TEMP; -- 指定临时表空间(可选)
第二步:分配角色
GRANT CONNECT TO accp -- CONNECT角色将允许用户连接数据库 GRANT RESOURCE TO accp -- RESOURCE角色允许用户使用数据库中的空间
第三步:赋予操作权限
GRANT CREATE SEQUENCE TO accp -- 允许用户创建序列 GRANT SELECT ON EMP TO accp -- 赋予用户查询 EMP 表的权限(从scott用户授权给accp用户) GRANT ALL ON EMP TO accp; -- 赋予操作表的所有权限
这样,用户才算创建成功。以下还有一些扩展操作。
修改口令
ALTER USER accp -- 指定修改的用户名 IDENTIFIED BY aptech -- 指定新密码
删除用户
DROP USER accp [CASCADE]; -- 当该用户下有任何的模式对象(表,试图)时,必须加 CASCADE,否则不能删除用户
Oracle 服务说明
OracleServiceORA9 -- 启动数据库,必须启动 OracleOraHome90TNSListener -- 启动服务器的监听程序,从外部客户端连接数据库所必须 OracleOraHome90HTTPServer -- 启动Oracle HTTP服务器,从网络服务数据库所必须,如用iSQL*plus访问数据库
3. 查看用户及权限信息
1.查看所有用户:
select * from dba_user; select * from all_users; select * from user_users;
2.查看用户系统权限:
select * from dba_sys_privs; select * from all_sys_privs; select * from user_sys_privs;
3.查看用户对象权限:
select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs;
4.查看所有角色:
select * from dba_roles;
5.查看用户所拥有的角色:
select * from dba_role_privs; select * from user_role_privs;
6.查看当前用户的缺省表空间
select username,default_tablespace from user_users;
推荐教程:《Oracle视频教程》
以上是简单介绍Oracle表空间管理和用户管理的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

要查询 Oracle 表空间大小,请遵循以下步骤:确定表空间名称,方法是运行查询:SELECT tablespace_name FROM dba_tablespaces;查询表空间大小,方法是运行查询:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

在 Oracle 中获取时间有以下方法:CURRENT_TIMESTAMP:返回当前系统时间,精确到秒。SYSTIMESTAMP:比 CURRENT_TIMESTAMP 更准确,精确到纳秒。SYSDATE:返回当前系统日期,不含时间部分。TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'): 将当前系统日期和时间转换为特定格式。EXTRACT:从时间值中提取特定部分,如年份、月份或小时。

Oracle 视图加密允许您加密视图中的数据,从而增强敏感信息安全性。步骤包括:1) 创建主加密密钥 (MEk);2) 创建加密视图,指定要加密的视图和 MEk;3) 授权用户访问加密视图。加密视图工作原理:当用户查询加密视图时,Oracle 使用 MEk 解密数据,确保只有授权用户可以访问可读数据。

在 Oracle 中查看实例名的方法有三种:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通过操作系统的任务管理器、Oracle Enterprise Manager 或检查环境变量 (Linux 上的 ORACLE_SID)。

Oracle 安装失败的卸载方法:关闭 Oracle 服务,删除 Oracle 程序文件和注册表项,卸载 Oracle 环境变量,重新启动计算机。若卸载失败,可使用 Oracle 通用卸载工具手动卸载。

Oracle 无效数字错误可能由数据类型不匹配、数字溢出、数据转换错误或数据损坏引起。排查步骤包括检查数据类型、检测数字溢出、检查数据转换、排查数据损坏,并探索其他可能的解决方案,如配置 NLS_NUMERIC_CHARACTERS 参数和启用数据验证日志记录。

在 Oracle 中创建用户需遵循以下步骤:使用 CREATE USER 语句创建新用户。使用 GRANT 语句授予必要权限。可选:使用 RESOURCE 语句设置配额。配置其他选项,如默认角色和临时表空间。

解决 Oracle 游标关闭问题的方法包括:使用 CLOSE 语句显式关闭游标。在 FOR UPDATE 子句中声明游标,使其在作用域结束后自动关闭。在 USING 子句中声明游标,使其在关联的 PL/SQL 变量关闭时自动关闭。使用异常处理确保在任何异常情况下关闭游标。使用连接池自动关闭游标。禁用自动提交,延迟游标关闭。
