`
sharajava
  • 浏览: 66933 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

开发人员常用的Oracle技术

阅读更多

数据导出导入

参考:http://www.cnblogs.com/jason_lb/archive/2007/02/09/645586.html

 

导出数据exp

 

1)将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中

exp system/manager@TEST file=d:\daochu.dmp full=y

 

2)将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

 

3)将数据库中的表inner_notify、notify_staff_relat导出

exp aichannel/aichannel@TESTDB2 file= d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 

 

4)将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=" where filed1 like '00%'"

 

导入数据imp

 

1)将D:\daochu.dmp 中的数据导入 TEST数据库中。

imp system/manager@TEST  file=d:\daochu.dmp

imp aichannel/aichannel@TEST  full=y  file=d:\datanewsmgnt.dmp ignore=y

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上ignore=y 就可以了

 

2)将d:daochu.dmp中的表table1 导入

imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)

 

创建表空间

 

create tablespace TBLSMS
datafile 'D:/oracle/product/10.2.0/oradata/shenhq/tblsms.dbf' size 5m reuse 
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
/

 

 

与操作系统有一些相关,因为涉及数据文件的指定:

 

create tablespace TBLSMS
datafile '/opt/app/oracle/oradata/stariboss/tblsms.dbf' size 5m reuse 
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL AUTOALLOCATE

/

 

 

创建用户并配置权限

 

 

-- Create the user
create user [user_name]
  identified by "[user_name]"
  default tablespace [default_tablespace_name]
  temporary tablespace [temp_tablespace_name]
  profile DEFAULT;
  
-- Grant/Revoke role privileges 
grant dba to [user_name];

-- Grant/Revoke system privileges 
grant insert any table to [user_name];
grant select any table to [user_name];
grant update any table to [user_name];
grant unlimited tablespace to [user_name];
 

 

 

 

典型的存储过程编写

不会写PL/SQL不叫会用Oracle

 

存储过程

spool .[log_name].log

prompt
prompt Creating procedure [procedure_name]
prompt
create or replace procedure [procedure_name]
  is
  sql_code varchar2(50);
  sql_errm varchar2(100);
  cursor [cur_name] is
    {select sql};

  v_cnt number;
begin
  v_cnt := 0;
  for v_instanceservice in [cur_name] loop
    begin
      {some update sql};
    
      v_cnt := v_cnt + 1;
    
      if mod(v_cnt, 10000) = 0 then
        commit;
      end if;
    exception
      when others then
        sql_code := sqlcode;
        sql_errm := sqlerrm;
        dbms_output.put_line(sql_code || ' ' || sql_errm ||
                             ' at servicestr ' ||
                             v_instanceservice.servicestr);
    end;
  end loop;
  commit;
  dbms_output.put_line('Total is:' || v_cnt);

end;
/


spool off

  函数

create or replace function [function_name]([parameters_name] [parameters_type])
  return varchar2 IS
  v_result         varchar2(100);
  {use parameters in sql as value}
begin
  v_result         := null;
  {process nothing to say}
  return v_result;
end [function_name];
 

 

修改表

增加字段

 

create or replace procedure ALTER_TABLE is
  v_count number;

begin
  select count(*)
    into v_count
    from user_tab_columns u
   where u.TABLE_NAME = [表名]
     and (u.COLUMN_NAME = [字段名,如果多个用OR拼接条件]);

  if v_count < 1 then
    execute immediate '[增加字段的ALTER脚本]';
   
  end if;
  commit;
end;
/
exec ALTER_TABLE;
DROP PROCEDURE ALTER_TABLE;

其他杂项

 

调整一批sequence的值

 

create or replace procedure adjust_seq_value_prc
 is
  sql_code    varchar2(50);
  sql_errm    varchar2(100);
  
  cursor cur_get_seq_info is
    select us.sequence_name, us.last_number, us.increment_by, us.cache_size
      from user_sequences us
     where us.sequence_name not in
           ('[sequence_name]', '[sequence_name]', ......);

begin
  for v_get_seq_info in cur_get_seq_info loop
    begin
      execute immediate 'alter sequence ' || v_get_seq_info.sequence_name ||
                        ' increment by [number_want_to_add] nocache';
    
      execute immediate 'select ' || v_get_seq_info.sequence_name ||
                        '.nextval from dual'
    
      execute immediate 'alter sequence ' || v_get_seq_info.sequence_name ||
                        ' increment by ' || v_get_seq_info.increment_by ||
                        ' nocache';
    exception
      when others then
        sql_code := sqlcode;
        sql_errm := sqlerrm;
        dbms_output.put_line(sql_code || ' ' || sql_errm);
    end;
  
  end loop;
end;
/
 

 

(有新知新得再补充,待续……)

 

 

分享到:
评论
2 楼 sharajava 2011-11-09  
草稿你也能看到?这段时间打算花些时间把技术梳理一下。
1 楼 yjj1999 2011-11-09  
老大 不错 学习了 好久没用过oracle了

相关推荐

    Oracle 开发人员指南英文版

    Oracle Provider for OLE DB 是一种基于开放标准的数据提供程序,其设计目标是使开发人员能够通过微软的OLE DB技术来访问Oracle数据库。OLE DB是微软公司推出的一种数据访问技术,用于访问各种不同类型的数据源,...

    Oracle EBS 常用接口开发参考

    这种模式适用于系统间没有提供现成API的情况,开发人员需要理解Oracle EBS的数据结构和业务逻辑来创建接口。 1.2 **Open API模式** Open API模式则提供了预定义的API(Application Programming Interface),可以...

    oracle应用开发指南

    Oracle应用开发指南是学习Oracle技术不可或缺的资源,它不仅适用于普通开发者,对于任何寻求掌握Oracle应用开发的专业人士而言,都是宝贵的参考资料。通过阅读和实践指南中的内容,开发人员能够更加高效地利用Oracle...

    oracle开发入门书籍

    Oracle是一种广泛使用的数据库管理系统,其强大的功能和稳定性使其在全球范围内拥有大量的用户。...Oracle开发入门书籍通过系统化的讲解,为初学者打下坚实的基础,帮助他们逐步成长为专业的Oracle数据库开发人员。

    剑破冰山 Oracle开发艺术 中文版

    正因为如此,当前国内oracle开发人员的岗位需求大幅度增加,投身oracle开发的人数也日益增多。  一个好的0racie开发人员不仅要知道一些基本语法和常见用法,还需要知道何时用、如何用、怎么避免相关误区、写出高...

    Oracle9iDS Forms 开发人员参考指南

    《Oracle9iDS Forms 开发人员参考指南》是针对 Oracle9iDS Forms 应用程序开发的专业性技术文档,发布于2002年3月,版本号为9.0.2,文档编号A97289-01。本书由 Orlando Cordero、Cathy Godwin 和 Dean Ho 等作者共同...

    oracle ebs开发文档

    这部分介绍了如何让应用开发人员获得系统管理员的权限,以便进行更高级别的开发和配置工作。 **6.11 查询视图时没有显示数据** 这部分解决了查询视图时出现的常见问题——视图中没有数据,这可能是因为权限问题、...

    Oracle9i Web开发指南(PDG)

    本书详细介绍Oracle9i Web开发的完整信息,包括Oracle Web的体系结构,Web开发的核心概念,使用第三方模块来支持Apache服务器以及在Web...Oracle数据库开发人员以及涉及Oracle数据进行Web开发的人员都会从本书受益。

    Oracle技术手册。。。人人软件站

    Oracle技术手册是数据库管理员、开发人员以及对Oracle数据库系统感兴趣的 IT 专业人士的重要参考资料。这份手册可能涵盖了Oracle数据库的安装、配置、性能优化、备份恢复、安全性管理、SQL查询语法、PL/SQL编程等多...

    oracle数据库技术的实例开发

    其PL/SQL编程语言允许开发人员创建复杂的存储过程、触发器和函数,以实现业务逻辑。此外,Oracle的表分区和索引策略能有效提高查询性能,如范围分区、列表分区、哈希分区等。 Oracle对象关系数据库技术则是其独特的...

    ORACLE 开发技术资料

    对于应用程序开发人员和初学者来说,掌握Oracle开发技术至关重要。这份"ORACLE 开发技术资料"压缩包提供了丰富的学习资源,帮助你深入了解Oracle数据库的核心概念和操作。 1. **Oracle数据库基础** - 数据库模型:...

    Oracle数据库的应用开发 Oracle数据库的应用开发.ppt

    Oracle数据库在应用开发中扮演着至关重要的角色,它是一个强大且广泛使用的数据库管理系统,尤其适合企业级的...这不仅有助于构建高效的人事管理系统,也为其他基于Oracle数据库的应用开发提供了坚实的理论和技术基础。

    最新Oracle SOA 平台技术介绍

    Oracle JDeveloper是Oracle SOA Suite的重要组成部分,它为开发人员提供了一个直观的开发环境,支持拖放式组件设计和代码自动生成。这大大降低了学习曲线,提高了开发效率。 #### 五、部署考虑因素 在部署Oracle ...

    Oracle 9i Web开发指南

    Oracle 9i Web开发指南是针对使用Oracle 9i数据库进行Web应用程序开发的专业参考资料。...该指南涵盖了从基础概念到高级特性的全面教程,对于希望在Oracle平台上进行Web开发的人员来说,是一份宝贵的资源。

    Oracle TimesTen C 开发人员和参考指南.pdf

    《Oracle TimesTen C 开发人员和参考指南》深入解析了Oracle TimesTen内存数据库在C语言环境下的开发与应用,为专业开发人员提供了详尽的技术指导和实用参考。本指南覆盖了从基本概念到高级功能的全面知识,是任何...

    centos,linux安装oracle监听,常用oracle命令.docx

    安装 Oracle 监听器和常用 Oracle 命令 在本文中,我们将详细介绍如何在 CentOS Linux 上安装 Oracle 监听器,并介绍一些常用的 Oracle 命令。...这些知识点对于 Oracle 数据库管理员和开发人员来说都是非常重要的。

    oracle erp r12.11开发和扩展手册

    - **目标读者**:本书面向对Oracle E-Business Suite R12.11感兴趣的开发人员、系统分析师、项目经理以及IT管理人员。 - **主要内容**:本书详细介绍了Oracle E-Business Suite R12.11的开发和扩展技术,包括但不...

    VC++开发需要的oracle10g客户端

    3. **Oracle Developer Tools for Visual Studio**:这个工具集提供了对Visual Studio的集成支持,包括数据库对象的拖放设计、SQL编辑器等,方便开发人员进行数据库应用的开发。 4. **网络配置**:安装客户端后,...

Global site tag (gtag.js) - Google Analytics