SQL*Plus是Oracle数据库最核心的命令行交互工具,用于执行SQL语句、PL/SQL块、脚本及管理数据库实例。其常用功能包括:
sqlplus username/password@service_name(如sqlplus scott/tiger@orcl);@script.sql(运行当前目录下的SQL脚本)或START script.sql(功能相同);COLUMN命令调整列宽(COLUMN ename FORMAT a20)、设置列标题(COLUMN sal HEADING 'Monthly Salary');SPOOL filename(将输出保存到文件)、GET filename(加载脚本到缓冲区)、SAVE filename(保存缓冲区内容到文件);DESC table_name(查看表结构)、/(执行缓冲区中的SQL语句)、EXIT(退出SQLPlus)。Data Pump是Oracle 10g及以上版本推出的数据导出/导入工具,替代了传统的exp/imp,支持并行处理、增量备份、过滤对象等功能,适用于大规模数据迁移。
expdp username/password@service_name DIRECTORY=dir_name dumpfile=file.dmp schemas=schema_name(如expdp scott/tiger@orcl directory=DATA_PUMP_DIR dumpfile=scott.dmp schemas=scott);impdp username/password@service_name directory=dir_name dumpfile=file.dmp schemas=schema_name(如impdp scott/tiger@orcl directory=DATA_PUMP_DIR dumpfile=scott.dmp schemas=scott);TABLES(指定导出/导入的表)、CONTENT(ALL/DATA_ONLY/METADATA_ONLY,控制导出内容)、PARALLEL(并行进程数,提升速度)。DBMS_DATAPUMP包实现,效率高且功能强大,是企业级数据迁移的首选工具。RMAN是Oracle专用的备份恢复工具,支持全量备份、增量备份、累积备份、压缩备份及块级恢复,能有效保护数据库免受数据丢失风险。
rman target /(连接到本地数据库,无需密码文件)或rman target username/password@service_name(远程连接);BACKUP DATABASE PLUS ARCHIVELOG(备份数据库及归档日志);BACKUP INCREMENTAL LEVEL 1 DATABASE(基于上一次全量或增量备份进行1级增量备份);RESTORE DATABASE(还原数据库文件)、RECOVER DATABASE(应用归档日志完成恢复)。监听器(Listener)是Oracle数据库与客户端之间的通信桥梁,负责接收客户端的连接请求并转发给相应的数据库实例。lsnrctl用于管理监听器的状态和配置。
lsnrctl start(启动默认监听器,端口1521);lsnrctl stop(停止当前监听器);lsnrctl status(显示监听器端口、服务名、注册的数据库实例等信息);lsnrctl reload(重新加载listener.ora配置文件,无需重启监听器)。lsnrctl是DBA日常维护的重要工具。tnsping用于测试客户端与Oracle数据库之间的TNS(Transparent Network Substrate)连接是否正常,帮助排查网络或配置问题。
tnsping service_name(如tnsping orcl);OK (10 msec)),表示连接正常;若显示“TNS-12541: TNS:no listener”,则表示监听器未启动或端口错误。tnsping是快速验证网络连通性的工具,常用于数据库连接故障排查。sqlldr(SQL*Loader)用于将外部文本文件(如CSV、TXT)中的数据批量加载到Oracle数据库表中,支持多种数据格式和加载方式(如追加、替换、插入)。
.ctl):定义数据文件的字段映射、加载规则(如LOAD DATA INFILE 'data.csv' INTO TABLE employees FIELDS TERMINATED BY ',');sqlldr username/password@service_name control=control_file.ctl data=data_file.csv(如sqlldr scott/tiger@orcl control=emp.ctl data=emp.csv)。sqlldr的高效性使其成为企业批量数据录入的首选工具,尤其适用于从旧系统迁移数据。alter system是Oracle SQL命令,用于动态修改数据库实例的参数设置,无需重启数据库即可生效(部分参数需重启)。
ALTER SYSTEM SET SGA_TARGET=2G SCOPE=BOTH;(设置SGA目标大小为2GB,立即生效);ALTER SYSTEM SET PROCESSES=300 SCOPE=SPFILE;(设置最大进程数为300,需重启生效);ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/u01/archive' SCOPE=SPFILE;(设置归档日志路径,需重启生效)。alter system的SCOPE参数决定生效范围:MEMORY(仅当前实例)、SPFILE(仅参数文件)、BOTH(当前实例+参数文件)。oerr是Oracle自带的命令行工具,用于查询Oracle错误代码的含义及解决方法,帮助DBA快速定位和解决问题。
oerr ora error_code(如oerr ora 12154,查询ORA-12154错误的含义);ORA-12154: TNS:could not resolve the connect identifier specified(原因:TNS别名无法解析;解决方法:检查tnsnames.ora文件中的别名配置)。oerr是Oracle DBA日常故障排查的必备工具,能快速解决常见的Oracle错误。以上工具覆盖了Oracle数据库的日常管理、数据迁移、备份恢复、连接测试、性能优化等核心场景,是Linux环境下Oracle DBA和开发人员必须掌握的命令行工具。