1. 安装Oracle Instant Client(基础依赖)
在CentOS上使用SQL*Plus前,需先安装Oracle Instant Client。从Oracle官方网站下载对应CentOS版本的Instant Client基本包(如instantclient-basic-linux.x64-19.8.0.0.0dbru.zip),解压至指定目录(如/opt/oracle/instantclient_19_8),并通过yum localinstall安装依赖包(如oracle-database-preinstall-19c)。
2. 配置环境变量
编辑用户家目录下的.bashrc(或root用户的.bashrc)文件,添加以下关键环境变量(根据实际安装路径调整):
export ORACLE_HOME=/opt/oracle/instantclient_19_8
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
保存后运行source ~/.bashrc使配置生效,确保SQL*Plus能识别Oracle客户端组件。
3. 创建数据库用户并分配权限
使用具有DBA权限的账户(如sys或system)登录Oracle数据库,执行以下命令创建用户并授权:
-- 创建用户(替换为自定义用户名和密码)
CREATE USER your_username IDENTIFIED BY your_password;
-- 分配核心权限(创建会话是连接数据库的基础,创建表是基本操作权限)
GRANT CREATE SESSION, CREATE TABLE TO your_username;
-- 可选:分配默认角色(如需预定义角色权限)
ALTER USER your_username DEFAULT ROLE ALL;
-- 刷新权限(使更改立即生效)
FLUSH PRIVILEGES;
注:根据实际需求调整权限(如需管理表空间可添加MANAGE TABLESPACE,需查询数据可添加SELECT ANY TABLE)。
4. 配置SQL*Plus本地使用
编辑用户家目录下的.sqlplusrc文件(如~/.sqlplusrc),添加常用连接配置(可选但提升效率):
DB_SID=orclcdb -- 数据库实例名(需与数据库实际SID一致)
DB_PDB=orclpdb1 -- PDB名称(若使用多租户架构)
DB_DOMAIN=your_domain.com -- 域名(若有)
DB_MEMORY=2G -- 内存分配(可选)
保存后,可直接使用sqlplus /@your_connection_string(如sqlplus /@orclcdb)快速连接本地数据库。
5. 解决远程连接权限问题
若需远程连接,需完成以下配置:
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
tnsping命令测试数据库服务是否可达(如tnsping orclcdb)。sqlplus your_username/your_password@server_ip:1521/service_name(替换为实际参数)。6. 常见权限问题解决
GRANT命令添加(如GRANT SELECT ON table_name TO your_username)。ORACLE_HOME和PATH是否设置正确,使用完整路径启动(如/opt/oracle/instantclient_19_8/bin/sqlplus)。tnsping测试网络连通性,确认数据库服务是否启动。