运行前提条件
-
安装Oracle客户端或服务端
- 必须安装以下任一组件:
- Oracle Database(服务端)
- Oracle Instant Client(轻量客户端)
- Oracle SQL*Plus(独立工具)
- 推荐从Oracle官网下载最新版本。
- 必须安装以下任一组件:
-
配置环境变量
- Path变量:添加Oracle可执行文件路径(
C:\app\oracle\product\19.0.0\dbhome_1\bin
)。set PATH=%PATH%;C:\app\oracle\product\19.0.0\dbhome_1\bin
- ORACLE_HOME变量(可选):
set ORACLE_HOME=C:\app\oracle\product\19.0.0\dbhome_1
- TNS_ADMIN变量(如需连接远程库):
set TNS_ADMIN=C:\app\oracle\network\admin
- Path变量:添加Oracle可执行文件路径(
常用Oracle命令操作步骤
*启动SQLPlus连接数据库**
sqlplus 用户名/密码@服务名
- 示例:
sqlplus scott/tiger@ORCL
- 无服务名直连:
sqlplus scott/tiger@//localhost:1521/ORCL
执行SQL脚本文件
sqlplus 用户名/密码@服务名 @脚本路径
- 示例:
sqlplus scott/tiger@ORCL @C:\scripts\query.sql
数据泵导出(expdp)
expdp 用户名/密码 DIRECTORY=导出目录 DUMPFILE=导出文件名.dmp SCHEMAS=要导出的用户
- 示例:
expdp scott/tiger DIRECTORY=DATA_PUMP_DIR DUMPFILE=scott_backup.dmp SCHEMAS=scott
数据泵导入(impdp)
impdp 用户名/密码 DIRECTORY=导入目录 DUMPFILE=文件名.dmp REMAP_SCHEMA=原用户:目标用户
- 示例:
impdp system/password DIRECTORY=DATA_PUMP_DIR DUMPFILE=scott_backup.dmp REMAP_SCHEMA=scott:new_user
常见问题解决
-
“sqlplus不是内部命令”
- 原因:环境变量
Path
未正确配置。 - 解决:检查Oracle
bin
目录是否加入Path
。
- 原因:环境变量
-
“ORA-12154: TNS无法解析指定连接标识符”
- 原因:服务名未在
tnsnames.ora
中定义。 - 解决:
- 检查
%TNS_ADMIN%\tnsnames.ora
文件是否存在。 - 确认服务名拼写与文件中的
ORCL
配置一致:ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORCL)) )
- 检查
- 原因:服务名未在
-
“ORA-01017: 用户名/密码无效”
- 原因:认证信息错误或账户锁定。
- 解决:
- 用管理员登录解锁用户:
ALTER USER scott ACCOUNT UNLOCK; ALTER USER scott IDENTIFIED BY new_password;
- 用管理员登录解锁用户:
安全操作建议
- 密码保护:
避免在命令中明文输入密码,改用交互模式:sqlplus /nolog CONNECT scott@ORCL # 按提示输入密码
- 敏感操作确认:
执行DROP
或DELETE
前,先在SQL*Plus中测试语句。
高级技巧
- 后台静默执行:
使用/nolog
和SILENT
参数隐藏输出:sqlplus -S scott/tiger@ORCL @script.sql > log.txt
- 批处理自动化:
创建.bat
文件定时执行备份:@echo off expdp scott/tiger DIRECTORY=backup_dir DUMPFILE=auto_export_%date:~0,4%%date:~5,2%%date:~8,2%.dmp FULL=Y
引用说明
- Oracle官方文档:SQL*Plus Command Reference
- Oracle Instant Client下载:Instant Client for Microsoft Windows
- 环境变量配置参考:Oracle Environment Variables
注意:所有命令需在Oracle组件正确安装后执行,操作生产库前务必在测试环境验证,建议定期备份关键数据。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7918.html