`
hwei_344370758
  • 浏览: 21447 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle学习笔记

 
阅读更多
启动监听:lsnrctl start/stop


启动服务:
         su oracle
        sqlplus /nolog
        connect /as sysdba
        (启:)startup       (停:)shutdown immediate

oemapp dbastudio 打开企业管理器图形界面

opemapp console 打开企业管理器图形界面(和上面的命令效果一样。)

sqlplus / as sysdba 登陆到本机的数据库

lsnrctl start/stop 打开/关闭端口监听

dbca 添加数据库实例(图形界面)

hostname 查看主机名称

netca 配置监听(图形界面)


1、oracle会话设置默认的日期格式:
alter session set nls_date_format = 'yyyy-mm-dd';

2、返回当前会话的数据库时区:
select sessiontimezone from dual;

3、查询数据库时区:
select dbtimezone from dual;

4、查看会话时区中的当前日期:
select current_date from dual;

5、获取时区的时差:
select tz_offset('pst') from dual;  --'pst' 表示太洋标准时间

6、子查询中不能包含 ORDER BY 子句



查看数据库相关的文件:
select name from v$datafile;
select name from v$logfile;
select name from v$controlfile;

数据库:就是保存数据的物理文件
数据库实例:就是oracle的进程和内存
可以从多个实例访问一个数据库,但是一个实例一次只能访问一个数据库。也就是一个实例的一生只能装载并打开一个数据库。


1、数据操作语言(DML):INSERT,UPDATE,DELETE  需要提交
2、数据定义语言(DDL):CREATE,ALTER,DROP,RENAME,TRUNCATE  会自动提交
3、事务控制(TC):COMMIT,ROLLBACK,SAVEPOINT
4、数据控制语言(DCL):GRANT(授权),REVOKE(防止其它用户访问数据库)

5、oracle左外链接:
select p.name,pt.name from products p,product_types pt where p.product_type_id = p.product_type_id (+) order by p.name;
   等同于:
   select p.name,pt.name form products p,product_types pt left join on p.product_type_id = p.product_type_id order by p.name;
   oracle右外链接:
   select p.name,pt.name from products p,product_types pt where p.product_type_id (+)= p.product_type_id order by p.name;
   等同于:
   select p.name,pt.name form products p,product_types pt right join on p.product_type_id = p.product_type_id order by p.name;
6、查看表的描述: describe 表名
7、oracle会话设置默认的日期格式: alter session set nls_date_format = 'yyyy-mm-dd';
8、创建用户:create user jason identified by siven;
create user jason identified by siven default tablespace users temporary tablespace temp;
   授权:grant create session to jason;
   修改用户密码:alter user jason identified by siven1;   PASSWORD命令可以修改当前用户的口令;
   删除用户:drop user jason;
9、系统特权:
   CREATE SESSION:连接到数据库
   CREATE SEQUENCE:
   CREATE TABLE;
   CREATE ANY TABLE:在任何模式中创建表
   DROP ANY TABLE;
   CREATE PROCEDURE;
   EXCUTE ANY PROCEDURE:执行任何模式中的存储过程
   CREATE USER;
   CREATE VIEW;
10、授权:GRANT CREATE SESSION,CREATE USER,CREATE TABLE TO steve;
    加上WITH ADMIN OPTION选项用户就可以该权限再授于其它用户:
          GRANT EXCUTE ANY PROCEDURE TO steve WITH ADMIN OPTION;
    将一种特权授于PUBLIC,这样,系统中的所有用户都具备这种特权了:
          GRANT EXECUTE ANY PROCEDURE TO PUBLIC;
    查询用户的系统特权:select * from USER_SYS_PRIVS order by privilege;
    撤消用户的系统特权:REVOKE CREATE SESSION,CREATE TABLE FROM steve;


11、对象特权:SELECT,INSERT,UPDATE,DELETE,EXECUTE(执行存储过程)
    查询用户已有的对象特权:select * from USER_TAB_PRIVS_MADE WHERE TABLENAME = 'employee';
    撤消用户对象特权:REVOKE SELECT,INSERT ON employee FROM steve;
12、检查用户的角色:select * from USER_ROLE_PRIVS;
    查询角色授于的系统特权:SELECT ROLE_SYS_PRIVS ORDER BY PRIVILEGE;
    查询角色授于的对象特权:SELECT ROLE_TAB_PRIVS ORDER BY TABLE_NAME;
13、索引:
    基本准则:当任何单个查询要检索的行小于或者等于整个表行数的10%时,索引就非常有用。
    如果使用基于函数的索引,DBA必须将初始化参数QUERY_REWRITE_ENABLED设置为true(默认为false):
    connect system/manager
    alter system set QUERY_REWRITE_ENABLED = true;
    查询用户所建的索引:select * from user_indexes;
    rename to 更改索引名称
14、游标:
    14.1、loop循环检索游标中的记录
    declare
       v_ruletype t_hosttype_rule.ruletype%type;
       v_hosttypeid t_hosttype_rule.hosttypeid%type;
       cursor v_t_hosttype_rule is
              select ruletype,hosttypeid from t_hosttype_rule;
       begin
            open v_t_hosttype_rule;
            loop
                fetch v_t_hosttype_rule into v_ruletype,v_hosttypeid;
                exit when v_t_hosttype_rule%notfound;
                Dbms_Output.put_line(v_ruletype || '======' || v_hosttypeid);
            end loop;
            close v_t_hosttype_rule;
       end;
   14.2、for循环检索游标中的记录,for循环可以不显示打开关闭游标,它会自动打开和关闭游标
      declare
       cursor v_t_hosttype_rule is
              select ruletype,hosttypeid from t_hosttype_rule;
       begin
           for v_rule in v_t_hosttype_rule loop
                Dbms_Output.put_line(v_rule.ruletype || '======' || v_rule.hosttypeid);
            end loop;
       end;
   14.3、open-for:可以在游标中检索自己想要的记录,REF CURSOR是一个指向游标的指针
   declare
       TYPE t_rule_cursor is ref cursor return t_hosttype_rule%rowtype;   --声明了一个 ref cursor类型,并命名为t_rule_cursor
       v_t_rule t_rule_cursor;
       v_rule t_hosttype_rule%rowtype;
       begin
            open v_t_rule for
            select * from t_hosttype_rule where ruletype = 'login';
            loop
                fetch v_t_rule into v_rule;
                exit when v_t_rule%notfound;
                Dbms_Output.put_line(v_rule.ruletype || '======' || v_rule.hosttypeid);
            end loop;
            close t_rule_cursor;
       end;
15、异常:iteye已收藏   
    OTHERS 异常可处理所有的异常,即不知道将会发生什么异常时可以OTHERS异常
    begin
     dbms_output.put_line(1/0);
     exception
         when zero_divide then
              dbms_output.put_line('除数为0');
         when others then
              dbms_output.put_line('除数为0======');
    end;


16、存储过程:略
17、触发器:
    查询用户的所有触发器:select * from user_tiggers;
    禁止和启用触发器:
    alter trigger triggerName disable;
    alter trigger triggerName enable;
18、数据库对象:
    --创建一个数据库对象
create type t_address as object
(
street varchar2(30),
city varchar2(30),
state char(2),
zip varchar2(5)
);

--在对象中引用对象
create type t_person as object
(
id integer,
first_name varchar(30),
last_name varchar2(30),
dob date,
phone varchar2(12),
address t_address
);

--给对象添加函数
create type t_product as object
(
id integer,
name varchar2(30),
description varchar2(30),
price number(5,2),
days_valid integer,
--get_sell_by_date() returns the date by which the product must be sold
member function get_sell_by_date return date
);

--对象函数的函数体
create type body t_product as
--get_sell_by_date() returns the date by which the product must be sold
member function get_sell_by_date return date is
v_sell_by_date date;
begin
     select days_valid + sysdate into v_sell_by_date from dual;
     return v_sell_by_date;
end;

--创建表并引用对象类型
create table products
(
product t_product,
quantity_in_stock integer
);

--向表中插入数据
insert into products (product,quantity_in_stock) values (t_product(1,'pasta','20 oz bag of pasta',3.95,10),50);

select * from products;

--创建对象并自定义松造函数
create type t_person2 as object
(
id integer,
first_name varchar2(30),
last_name varchar2(30),
dob date,
phone varchar2(12),
CONSTRUCTOR FUNCTION t_person2
(
p_id integer,
p_first_name varchar2(30),
p_last_name varchar2(30),
) RETURN SELF AS RESULT,
CONSTRUCTOR FUNCTION t_person2
(
p_id integer,
p_first_name varchar2(30),
p_last_name varchar2(30),
p_dob date
) RETURN SELF AS RESULT
);
分享到:
评论

相关推荐

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    Oracle学习笔记

    Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...

    Oracle学习笔记.pdf

    在Oracle学习笔记中,对安装卸载和配置的详尽讲解,不仅为学习者提供了操作指导,而且还涉及到了数据库管理的一些基础知识点。这些内容对于数据库管理员和开发人员来说都是十分重要的,因为它们是操作Oracle数据库的...

    Oracle学习笔记.doc

    Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...

    Oracle学习笔记-日常应用、深入管理、性能优化

    资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...

    oracle学习笔记整理

    以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...

    oracle学习笔记下载

    ### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1/2

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1

    oracle学习笔记-入门基础

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能来优化数据管理和查询性能。本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是...

    全网最全的oracle学习笔记

    全网最全的oracle学习笔记,oracle学习笔记,oracle,### 4、oracle的七个服务 ```sql 1、Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如...

    Oracle学习笔记 Oracle学习笔记

    根据提供的信息,我们可以总结出以下Oracle数据库学习的关键知识点: ...以上是基于提供的内容整理出的Oracle学习笔记中的关键知识点。通过理解这些基础知识,可以更好地管理和操作Oracle数据库。

    Oracle 学习笔记

    ### Oracle 学习笔记知识点详解 #### 一、Oracle 数据库简介 Oracle 是一款由美国甲骨文公司开发的关系型数据库管理系统。它以其强大的数据处理能力、高度的安全性及稳定性而闻名于世,在金融、电信、政府等领域...

    Oracle学习笔记——日常应用、深入管理、性能优化 示例代码

    Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...

    MSDN oracle学习笔记

    在“MSDN Oracle学习笔记”中,我们可以期待找到关于Oracle数据库的详细讲解和实践指导。 首先,Oracle数据库的基础知识是必不可少的。这通常涵盖数据库系统的基本概念,如SQL(结构化查询语言)的使用,数据类型,...

    oracle 学习笔记

    oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记

Global site tag (gtag.js) - Google Analytics