《Oracle DBA入门实战:十大高频问题详解与避坑指南》

发布于:2025-03-24 ⋅ 阅读:(27) ⋅ 点赞:(0)

Oracle DBA 入门作业十问十答

本文为 Oracle DBA 入门作业整理,涵盖工具使用、配置管理及权限控制等核心知识点,适合新手快速上手。
如有疑问或补充,欢迎评论区交流!

1. DBA 常用工具有哪些?

  1. Oracle Universal Installer (OUI)
    • 用途:安装、升级或删除软件组件。
  2. Oracle Database Configuration Assistant (DBCA)
    • 用途:通过图形界面创建、删除或修改数据库,可与OUI配合使用或独立运行。
  3. Password File Utility (orapwd)
    • 用途:创建和管理数据库口令文件。
  4. SQL*Plus
    • 用途:访问和操作数据库的核心命令行工具,支持启动/关闭数据库、执行查询、数据修改及生成报告。
  5. Oracle Enterprise Manager (OEM) Console
    • 用途:集中式的图形化管理平台,提供以下功能:
      • 实例管理(Instance Manager)
      • 安全管理(Security Manager)
      • 存储管理(Storage Manager)
      • Schema 管理(Schema Manager)

2. 创建数据库与修改数据库配置用什么工具?

1. 创建数据库工具:

  • DBCA (Database Configuration Assistant)
    • 图形化工具,提供数据库模板快速创建数据库
    • 支持选择预定义模板(如通用数据库、数据仓库等)或自定义模板
    • 可配置存储结构、初始化参数、安全设置等

2. 修改数据库配置工具:

  • SQL*Plus
    • 使用ALTER SYSTEM命令动态修改参数
    • 支持SCOPE参数控制生效范围(内存/ SPFILE /永久生效)
  • Oracle Enterprise Manager (EM)
    • 图形化界面集中管理数据库配置
  • NET Manager
    • 配置监听器和服务命名

3. sqlnet 文件的路径是什么?

老师教学参考\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora

我自己的E:\OracleDatabase\dbhomeFree\NETWORK\ADMIN\sqlnet.ora


4. OS 身份认证的开关是什么?

​ 在 Oracle 数据库中,OS 身份认证的开关由参数 SQLNET.AUTHENTICATION_SERVICES 控制,具体设置在 sqlnet.ora 文件中。

文件原文SQLNET.AUTHENTICATION_SERVICES= (NTS)

参数作用

  • SQLNET.AUTHENTICATION_SERVICES 设置为 (NTS)(Windows系统)或包含其他特定认证方式时,启用操作系统身份认证。
  • 若设置为 NONE,则禁用操作系统身份认证,仅通过口令文件或数据库内用户验证。

5. 拥有什么角色的用户可以启停 Oracle Server?

​ 启停 Oracle Server 需要具有 SYSDBASYSOPER 系统权限的用户


6. 创建口令文件的命令是什么?orapwd 在哪里运行?创建哪个用户的口令?

  • 创建口令文件的命令orapwd

​ 示例:orapwd file=<路径>/orapw<SID>.ora password=<密码> entries=<最大用户数> force=y

  • 运行环境:在操作系统命令行中执行(如 UNIX/Linux 的 Shell 或 Windows 的 CMD)
  • 若环境变量ORACLE_HOME已正确配置,可直接在命令行调用orapwd

  • 若未配置环境变量,需使用绝对路径运行,例如:

    /opt/oracle/product/10/bin/orapwd file=...
    
  • 创建的用户:口令文件默认存储 SYS 用户的口令,同时记录所有被授予 SYSDBASYSOPER 权限的用户信息。

7. 如何查看口令文件中的用户名?

  1. 登录数据库(需具有相应权限,如SYSDBA):
    以SYS用户或其他具有权限的用户身份连接:

    sqlplus / as sysdba
    
  2. 执行查询
    运行以下SQL语句:

    SELECT USERNAME, SYSDBA, SYSOPER 
    FROM v$pwfile_users;
    
  3. 结果解析

    • USERNAME列显示口令文件中记录的用户名。
    • SYSDBA列显示用户是否具有SYSDBA权限(TRUE/FALSE)。
    • SYSOPER列显示用户是否具有SYSOPER权限(TRUE/FALSE)。

​ 示例输出:

USERNAME  SYSDBA  SYSOPER
---------------------------
SYS       TRUE    TRUE

8. 口令文件认证的开关是什么?如何配置?

​ 口令文件认证的开关由初始化参数 REMOTE_LOGIN_PASSWORDFILE 控制。

  1. 参数说明:

    • NONE:禁用口令文件认证,仅允许操作系统本地认证(OS认证)。
    • EXCLUSIVE:启用口令文件认证,并允许通过口令文件为多个用户分配权限(如 SYSDBA/SYSOPER)。
    • SHARED:允许多个数据库共享同一口令文件,但仅支持 SYS 用户(不可添加其他用户)。
  2. 配置步骤:

    • 修改初始化参数:

      SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE SCOPE=SPFILE;
      
    • 重启数据库实例:

      SQL> STARTUP FORCE;
      SQL> STARTUP;
      

9. 启停 Oracle 服务实例的命令是什么?

  1. 通过 SQL*Plus 启停实例
  • 启动实例

    • SQL> startup;  -- 默认方式:启动实例 → 挂载数据库 → 打开数据库
      SQL> startup nomount;  -- 启动到NOMOUNT状态(仅启动实例)
      SQL> startup mount;    -- 启动到MOUNT状态(加载控制文件)
      SQL> startup open;     -- 启动实例、挂载并打开数据库
      
  • 关闭实例

    • SQL> shutdown immediate;  -- 立即关闭(未提交事务回滚)
      SQL> shutdown normal;     -- 正常关闭(等待会话结束)
      SQL> shutdown abort;      -- 强制关闭(需手动恢复)
      
  1. 指定参数文件启动

SQL> STARTUP PFILE='/u01/oracle/init.ora';


10. 何时需要使用 orapwd?

orapwd 是管理 Oracle 特权用户认证的核心工具,适用于创建、修复或调整口令文件的所有场景

  1. 创建新的口令文件:在首次为 Oracle 实例创建口令文件时使用。例如,初始化数据库实例或指定 SYS 用户的口令(通过 oradim 命令的 -intpwd 参数会自动创建)时。
  2. 口令文件丢失或损坏:当口令文件(如 orapw<sid>.ora)遗失、被意外删除或损坏,需要重新生成新文件时。
  3. 修改 SYS 用户的口令:若需更改 SYS 用户的密码且通过口令文件验证(如远程登录场景),需使用 orapwd 强制覆盖原有文件并指定新口令。
  4. 调整最大用户条目数:当需要扩展口令文件可记录的最大用户数量(通过 entries 参数),例如更多用户需被授予 SYSDBA/SYSOPER 权限时。
  5. 迁移或变更口令文件路径:若需将口令文件移动到新位置或更名,也需通过 orapwd 重新生成。

11. pwfile 中 sys 以外用户的口令如何创建?

  1. 创建用户

    CREATE USER 用户名 IDENTIFIED BY "口令";
    
  2. 授予 SYSDBA/SYSOPER 权限

    GRANT SYSDBA TO 用户名;  
    -- 或  
    GRANT SYSOPER TO 用户名;
    
  3. 验证用户添加至口令文件

    SELECT * FROM v$pwfile_users;
    

总结

本文梳理了 Oracle DBA 日常操作的关键工具与配置方法,建议结合实践加深理解。
你的支持是我更新的动力!点赞收藏不迷路~


网站公告

今日签到

点亮在社区的每一天
去签到