Oracle数据库sqlplus操作指南:常用查询命令

需积分: 50 2 下载量 184 浏览量 更新于2024-09-13 收藏 15KB DOCX 举报
"Oracle数据库sqlplus是Oracle数据库管理员和开发人员常用的命令行工具,用于执行SQL查询、PL/SQL块以及数据库管理任务。本摘要将详细介绍sqlplus中的常见命令及其用途,帮助您更好地理解和操作Oracle数据库。" 1、查询数据库名、创建日期以及日志模式和打开模式: 通过运行`SELECT name, created, log_mode, open_mode FROM v$database;`,可以获取Oracle数据库的名称、创建日期以及当前的日志模式(如NOARCHIVELOG或ARCHIVELOG)和打开模式(如OPEN、MOUNT或CLOSED)。 2、获取主机名、实例名和版本信息: 要查看数据库运行的主机名、实例名以及Oracle数据库管理系统的版本,使用`SELECT host_name, instance_name, version FROM v$instance;`,这将显示与当前Oracle实例相关的详细信息。 3、查看数据库版本信息: `select * from v$version;`命令将列出Oracle数据库的不同组件和其对应的版本信息,这对于诊断兼容性问题或确认安装的补丁级别非常有用。 4、查找控制文件: 控制文件是Oracle数据库的重要组成部分,它记录了数据库的结构和状态。`select * from v$controlfile;`可显示控制文件的所有条目,包括文件名和位置。 5、查看重做日志配置: 要了解Oracle数据库的重做日志组及其成员、大小、状态和归档状态,可以执行`SELECT group#, members, bytes, status, archived FROM v$log;` 和 `select GROUP#, MEMBER from v$logfile;`。 6、获取重做日志文件路径: `select * from v$logfile;`命令将显示每个重做日志成员所在的物理路径,这对于理解日志文件分布和故障排查至关重要。 7、查看归档日志策略和位置: `archivelog list`命令用于查看数据库的归档日志策略和实际归档文件的位置,这对于备份和恢复策略的规划很有帮助。 8、查看表空间信息: 了解数据库中的表空间及其状态、大小和用途,可以执行`select tablespace_name, block_size, status, contents, logging from dba_tablespaces;`和`select tablespace_name, status from dba_tablespaces;`。 9、表空间文件详情: `SELECT file_id, file_name, tablespace_name, status, bytes FROM dba_data_files;`和`select file_name, tablespace_name from dba_data_files;`用于查看每个表空间的文件详细信息,包括文件ID、文件名、表空间名、状态和大小。 10、查询数据库用户及创建时间: 要查看数据库中的所有用户以及他们的创建日期,可使用`select username, created from dba_users;`,同时,`select username, DEFAULT_TABLESPACE from dba_users;`将显示每个用户的默认表空间。 11、控制文件相关命令: 控制文件包含了数据库的关键信息。虽然示例中未提供完整命令,`select * from v$archived`、`select * from v$archived_log`、`select * from v$backup` 和 `select * from`... 等命令用于查询控制文件中关于归档日志和备份的相关信息。 这些sqlplus命令是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 还可以用来复制表结构 例如:假设有三个表