Skip to content

Oracle 数据库

Oracle 数据库是企业级关系型数据库的标杆,广泛应用于金融、电信、政务等核心业务系统。

本专区记录 Oracle 数据库在实际生产环境中的运维经验、故障排查和性能优化实践。

Terminal window
# 启动数据库
sqlplus / as sysdba
SQL> startup
# 关闭数据库
SQL> shutdown immediate
# 监听启停
lsnrctl start
lsnrctl stop
lsnrctl status
-- 数据库版本
SELECT * FROM v$version;
-- 实例状态
SELECT status, database_status FROM v$instance;
-- 当前连接用户
SELECT user FROM dual;
-- 表空间使用情况
SELECT
df.tablespace_name,
ROUND(df.total_space, 2) AS total_mb,
ROUND(df.total_space - fs.free_space, 2) AS used_mb,
ROUND(fs.free_space, 2) AS free_mb
FROM
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS total_space FROM dba_data_files GROUP BY tablespace_name) df,
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS free_space FROM dba_free_space GROUP BY tablespace_name) fs
WHERE df.tablespace_name = fs.tablespace_name;
检查项 SQL/命令 说明
表空间使用率 dba_free_space 使用率 > 85% 需扩容
归档日志 v$archived_log 归档目录空间是否充足
告警日志 alert_\<sid\>.log 是否有 ORA- 错误
无效对象 dba_objects status = ‘INVALID’ 的对象
会话数 v$session 当前连接数是否正常