Oracle数据库管理:关键SQL语句与用户表空间操作详解

需积分: 10 10 下载量 152 浏览量 更新于2024-09-08 3 收藏 6KB TXT 举报
Oracle数据库管理是IT领域的重要组成部分,特别是在企业级应用中,对数据存储、性能优化以及资源监控有着至关重要的作用。本文档分享了一些实用的SQL语句,主要聚焦于用户管理和表空间操作,涵盖了以下几个关键知识点: 1. **查看特定表空间的信息**: - 使用`SELECT * FROM dba_data_files WHERE tablespace_name LIKE 'ZN%'`这条命令,可以查询所有以'ZN'开头的表空间信息,这对于监控和分析数据文件分配非常有用。 2. **调整表空间属性**: - `ALTER TABLESPACE ZNTS ADD DATAFILE 'DATAFILE/cxwsdb/datafile/zntsnew04.dbf' SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE 10000M`这一行用于向名为ZNTS的表空间添加新的数据文件,并设置自动扩展参数,以便在需要时动态增加空间。 3. **统计表空间占用情况**: - `SELECT UPPER(F.TABLESPACE_NAME), D.TOT_GROSS_SIZE(M), D.TOT_GROSS_SIZE - F.TOTAL_BYTES(M), TO_CHAR(ROUND(((D.TOT_GROSS_SIZE - F.TOTAL_BYTES) / D.TOT_GROSS_SIZE) * 100, 2), '990.99') || '%', F.TOTAL_BYTES(M), F.MAX_BYTES(M)` 的查询用于计算每个表空间的总大小、已用空间、剩余空间占比以及最大和已分配空间,这有助于识别潜在的空间使用问题。 4. **用户账户信息**: - `SELECT username, default_tablespace, temporary_tablespace FROM dba_users WHERE username = 'TZJK_DEV_TEST'`展示了指定用户名(如'TZJK_DEV_TEST')的默认临时表空间和数据存储配置,这对于了解用户权限和资源分配至关重要。 5. **表空间状态和详细信息**: - 最后的查询`SELECT d.tablespace_name "Name", d.status "Status", T...`虽然没有提供完整的SQL语句,但可能是用来查看某个表空间的状态(如打开/关闭、归档等),以及可能包含额外的详细信息,如碎片信息、段空间分配等。 通过这些SQL语句,管理员可以有效地管理Oracle数据库中的用户、表空间以及它们的使用情况,确保系统的高效运行和数据安全性。掌握这些基本操作对于维护大型数据库系统是必不可少的。
2018-10-08 上传
一、 概念介绍: 数据库DATABASE、表TABLE、列COLUMN、行ROW、关键字PRIMARY KEY、索引INDEX 二、 数据类型: LONG RAM:超长大型数据(照片、图形、描述等不定长数据)。 DATE:包含日期和时间。 INTEGER:有符号全长二进制整数(31位精度)。 SMALLINT:有符号半长二进制整数(15位精度)。 DECIMAL (p[,q]): 有符号的封装了的十进制小数,最多有 p 位数,并假设有 q 位在小数点右边。 如果省略 q ,则认为是 0。 FLOAT:有符号双字浮点数。 CHAR(n): 长度为 n 的定长字符串。 VARCHAR(n): 最大长度为 n 的变长字符串。 CHAR (5) 和 VARCHAR2(5)的区别是 CHAR不足5位后面自动加上空格,VARCHAR2不加 三、 列的非空属性NOT NULL: 如果一个列具有非空属性,则在给该表增加、修改数据时必须保证该列有内容,否则会出错。 如果一个列允许为空,该列可以不放任何内容,即空值(在SQL中书写为NULL),空值不是空格。 如果一个列内容为空值,则该列不等于任何值(包括空值)。 例如:列SAGE1、SAGE2的内容为空,列SAGE3内容为20,则下面的逻辑表达式全部为NULL:SAGE1=SAGE2、SAGE1SAGE2、SAGE1=SAGE3、SAGE3>SAGE1。下面的逻辑表达式全部为真:SAGE1 IS NULL、SAGE3 IS NOT NULL。下列表达式全为空:sage1+100,sage2+sage3 四、 特殊约定: 1. 所有SQL语句以分号结束不是以回车换行结束。 2. 中扩号代表选项,就是其中的内容可有可无。 3. 下面讲的列名在很多情况下也可以是表达式。 4. 表名格式:[用户名.]表名,例如:user001.student,如果不注名用户,则说明是当前登陆的用户的表。 五、 建表或视图语句CREATE 格式: CREATE TABLE 表名 (列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL]); CREATE VIEW 视图名 AS SELECT ……; CREATE TABLE 表名 AS SELECT ……; Create table as 经常在修改一个表前备份该表,而且运行速度很快且不用提交 例如:Select table a_student as select * from student; Create table as 还可以用来复制表结构 例如:假设有三个表