sqlplus是Oracle数据库的命令行管理工具,用于执行SQL查询、PL/SQL脚本、管理数据库对象(如表、视图、存储过程)及监控数据库状态。在Debian系统上,需通过安装Oracle Instant Client获取sqlplus工具。
安装依赖包:
Debian系统需先安装Oracle Instant Client所需的依赖库,避免运行时报错:
sudo apt update
sudo apt install libaio1 libaio-dev
下载Oracle Instant Client:
访问Oracle官方网站(instantclient下载页面),选择与系统架构匹配的包下载(推荐Basic Package和SQL*Plus Package,如instantclient-basiclite-linux.x64-21.5.0.0.0dbru.zip、instantclient-sqlplus-linux.x64-21.5.0.0.0dbru.zip)。
将下载的压缩包解压至统一目录(如/opt/oracle/instantclient),便于管理:
sudo mkdir -p /opt/oracle/instantclient
sudo unzip instantclient-basiclite-linux.x64-*.zip -d /opt/oracle/instantclient
sudo unzip instantclient-sqlplus-linux.x64-*.zip -d /opt/oracle/instantclient
编辑用户级配置文件(如~/.bashrc)或系统级配置文件(如/etc/profile.d/oracle.sh),添加以下变量:
export ORACLE_HOME=/opt/oracle/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
保存后,执行source ~/.bashrc(或对应文件)使变量立即生效。
运行以下命令,若显示sqlplus版本信息,则说明安装成功:
sqlplus -v
sqlplus / as sysdba
username(用户名)、password(密码)、hostname(主机IP/域名)、port(端口,默认1521)、service_name(服务名):sqlplus username/password@//hostname:port/service_name
示例:连接远程数据库orcl:sqlplus scott/tiger@//remotehost:1521/orcl
SELECT USER FROM DUAL;
SELECT * FROM V$VERSION;
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
email VARCHAR2(100)
);
INSERT INTO employees (employee_id, first_name, last_name, email)
VALUES (1, 'John', 'Doe', 'john.doe@example.com');
SELECT * FROM employees;
UPDATE employees SET email = 'john.newemail@example.com' WHERE employee_id = 1;
DELETE FROM employees WHERE employee_id = 1;
DROP TABLE employees;
CREATE VIEW employee_names AS SELECT first_name, last_name FROM employees;
CREATE OR REPLACE PROCEDURE add_employee(
p_first_name IN VARCHAR2,
p_last_name IN VARCHAR2
) AS
BEGIN
INSERT INTO employees (employee_id, first_name, last_name, email)
VALUES (employee_seq.NEXTVAL, p_first_name, p_last_name, 'default@example.com');
END;
/
BEGIN
add_employee('Jane', 'Smith');
END;
/
输入以下命令退出:
EXIT;
libaio.so.1 not found),需确认libaio1已安装,并检查LD_LIBRARY_PATH是否包含$ORACLE_HOME。