Debian系统sqlplus使用技巧
在Debian上使用sqlplus前,需先安装Oracle Instant Client并配置环境变量。步骤如下:
instantclient-basiclite-linux.x64-21.5.0.0.0dbru.zip、instantclient-sqlplus-linux.x64-21.5.0.0.0dbru.zip);/usr/local目录(如unzip instantclient-basiclite-linux.x64-*.zip -d /usr/local),并重命名为sqlplus(mv /usr/local/instantclient_* /usr/local/sqlplus);sqlplus软链接(ln -s /usr/local/sqlplus/sqlplus /usr/local/bin/sqlplus);~/.bash_profile,添加以下内容:export ORACLE_HOME=/usr/local/sqlplus
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
执行source ~/.bash_profile使变量生效。sqlplus / as sysdba;username/password@//hostname:port/service_name格式连接远程数据库(如sqlplus scott/tiger@//remotehost:1521/orcl);~/.bash_profile添加alias sqlplus='rlwrap sqlplus',使连接时支持命令历史。SELECT * FROM v$version;;SELECT user FROM dual;;SELECT table_name FROM user_tables;;INSERT INTO employees (employee_id, first_name) VALUES (1, 'John');;SELECT * FROM employees WHERE employee_id = 1;;UPDATE employees SET email = 'john.new@example.com' WHERE employee_id = 1;;DELETE FROM employees WHERE employee_id = 1;;CREATE OR REPLACE PROCEDURE add_employee(p_name IN VARCHAR2) AS BEGIN INSERT INTO employees (first_name) VALUES (p_name); END; /(注意结尾的/);BEGIN add_employee('Jane'); END; /。SET命令调整显示效果,常用命令:
SET LINESIZE 180:设置每行显示180个字符;SET PAGESIZE 100:设置每页显示100行;SET TRIMOUT ON:去除输出右侧空格;SET TRIMSPOOL ON:去除导出文件右侧空格;COLUMN命令定制列显示,如COLUMN first_name FORMAT A20(将first_name列宽设为20字符);$ORACLE_HOME/sqlplus/admin/glogin.sql,添加SET SQLPROMPT "_user'@'_connect_identifier > ",使提示符显示当前用户和连接标识。rlwrap工具(sudo apt install rlwrap),并通过别名关联sqlplus(echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bash_profile),实现命令上下翻查(使用↑/↓键);sudo apt remove --purge firmware-linux*移除不必要的固件包,释放系统空间;sudo apt update && sudo apt upgrade,确保系统和工具版本最新。expdp(数据泵导出)工具,步骤:
sqlplus / as sysdba;CREATE DIRECTORY backup_dir AS '/path/to/backup';;expdp username/password@service_name DIRECTORY=backup_dir DUMPFILE=backup.dmp LOGFILE=backup.log FULL=y;impdp(数据泵导入)工具,步骤:
sqlplus / as sysdba;CREATE DIRECTORY restore_dir AS '/path/to/restore';;impdp username/password@service_name DIRECTORY=restore_dir DUMPFILE=backup.dmp LOGFILE=restore.log FULL=y。