博客
关于我
【Java EE 学习 27】【oracle学习第一天】
阅读量:437 次
发布时间:2019-03-06

本文共 2537 字,大约阅读时间需要 8 分钟。

Oracle 11g 安装与使用指南

一、Oracle 11g 安装注意事项

  • 超级管理员密码设置要求

    超级管理员密码必须符合要求,尤其是不能以数字打头,否则可能会导致ora-00922和ora-28000等错误。
    解决方法:确保密码符合Oracle的强度要求。

  • Oracle 11g 与操作系统兼容性

    • Oracle 11g可以兼容Windows 7,但不兼容Windows XP。
    • Oracle 10g不兼容Windows 7,但兼容Windows XP。
    • Windows XP既支持Oracle 11g,也支持Oracle 10g。
  • Oracle 11g 下载地址

    • 需要有Oracle账号下载软件。
  • 卸载Oracle 11g

    • 使用以下命令彻底卸载:
    $ oracle_uninstall.bat
  • 命令行登录SQL*Plus

    • 普通用户登录
      sqlplus

      或者

      sqlplus 用户名/密码
    • 管理员用户登录
      sqlplus / as sysdba

      或者

      sqlplus 用户名/密码 as sysdba
  • 解锁用户和修改密码

    • 解锁用户:
      alter user scott account unlock;
    • 修改密码:
      alter user scott identified by 新密码;
  • Oracle 10g 和 Oracle 11g 官方文档


  • 二、常用命令行命令

  • SQL*Plus设置

    • 设置行宽:
      set linesize 80;
    • 设置页面行数:
      set pagesize 24;
    • 设置屏幕输出路径:
      spool 文件路径名;
    • 停止屏幕输出:
      spool off;
    • 编辑命令:
      edit
    • 返回命令行:
      host
    • 清屏:
      host cls
    • 保存命令:
      save 文件路径名
    • 执行SQL脚本:
      start 或者 @文件路径名
  • 列宽和格式化输出

    • 设置列宽:
      column 列名 format a20
    • 设置字符串列宽:
      column 列名 format a9999
    • 设置列显示名称:
      column 列名 heading 显示名称
  • 常用函数示例

    • 字符函数:
      select upper('apple'), lower('APPLE'), initcap('apple') from dual;
    • 日期函数:
      select to_char(sysdate, 'MM-DD-YYYY HH24:MI:SS') from dual;
    • 数值函数:
      select round(11.1), trunc(11.5) from dual;
    • 日期操作:
      select sysdate, last_day(sysdate), add_months(sysdate, 12) from dual;
  • 去除重复行和字符串连接

    • 去除重复行:
      select distinct 姓名 from emp;
    • 字符串连接:
      select '姓名' || 用户名 || ' - ' || 密码 from dual;
  • NULL值处理

    • 使用NVL函数:
      select ename, sal*12 + nvl(comm, 0) 年收入 from emp;
    • 判断字段是否为空:
      select ename, comm is null from emp where ename = 'Scott';
  • 组函数示例

    • 计算总人数:
      select count(*) 总人数 from emp;
    • 计算平均奖金:
      select avg(comm) 平均奖金 from emp;
  • 分组查询与排序

    • 分组查询:
      select deptno, job, avg(sal) 平均工资 from emp group by deptno, job;
    • 排序:
      select * from emp order by sal desc nulls last;
  • 多表查询与外连接

    • 等值连接:
      select ename, dname from emp, dept where emp.deptno = dept.deptno;
    • 外连接:
      select e.ename, d.dname from emp e, dept d where e.deptno = d.deptno(+);
  • 层次查询

    • 查询员工与其直接上级关系:
      select empno, ename, mgr from emp connect by prior empno = mgr start with mgr is null;

  • 三、过滤与排序技巧

  • 空值排序

    • 将空值放在最后:
      select * from emp order by comm desc nulls last;
  • SQL优化原则

    • 尽量使用WHERE过滤,避免使用HAVING。
    • 条件中包含分组函数时,必须使用HAVING。

  • 四、SQL*Plus 报表功能

  • Rollup分组

    select deptno, job, sum(sal) from emp group by rollup(deptno, job);
  • 格式化输出

    • 设置断行:
      break on deptno skip 2;
    • 停止格式化:
      break on null;
  • 多层分组与合并

    select deptno, to_char(null), sum(sal) from emp group by deptno, to_char(null);

  • 五、数据库设计与优化建议

  • 表设计

    • 避免过大表和过小表。
    • 适当使用分区表和外键约束。
  • 查询优化

    • 避免使用SELECT *,明确列名。
    • 尽量使用索引列在WHERE和HAVING中。
  • 事务管理

    • 使用事务来保证数据一致性,避免脏读、不可重复读和幻读。

  • 六、常见问题与解决方案

  • ORA-00922 错误

    • 超级管理员密码不符合要求,修改密码后重新安装。
  • 连接数据库失败

    • 检查SQL*Plus路径和数据库服务是否正常。
  • NULL值处理

    • 使用NVL函数替代空值。

  • 通过以上内容,可以更好地理解和使用Oracle 11g数据库。

    转载地址:http://lkcyz.baihongyu.com/

    你可能感兴趣的文章
    MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
    查看>>
    MySQL万字总结!超详细!
    查看>>
    Mysql下载以及安装(新手入门,超详细)
    查看>>
    MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
    查看>>
    MySQL不同字符集及排序规则详解:业务场景下的最佳选
    查看>>
    Mysql不同官方版本对比
    查看>>
    MySQL与Informix数据库中的同义表创建:深入解析与比较
    查看>>
    mysql与mem_细说 MySQL 之 MEM_ROOT
    查看>>
    MySQL与Oracle的数据迁移注意事项,另附转换工具链接
    查看>>
    mysql丢失更新问题
    查看>>
    MySQL两千万数据优化&迁移
    查看>>
    MySql中 delimiter 详解
    查看>>
    MYSQL中 find_in_set() 函数用法详解
    查看>>
    MySQL中auto_increment有什么作用?(IT枫斗者)
    查看>>
    MySQL中B+Tree索引原理
    查看>>
    mysql中cast() 和convert()的用法讲解
    查看>>
    mysql中datetime与timestamp类型有什么区别
    查看>>
    MySQL中DQL语言的执行顺序
    查看>>
    mysql中floor函数的作用是什么?
    查看>>
    MySQL中group by 与 order by 一起使用排序问题
    查看>>