zoukankan      html  css  js  c++  java
  • 之前的一些Oracle的经验总结

    1. 安装:
    1) 关于字符集的选择,现在还不很了解,修改是需要进入一个模式下才可以修改,当然新建一个数据库实例的时候可以重新设定;
    UTF8是相对比较大的一个字符集, 可以简单实用这个就能保存很多的额数据;
    关于导入和导出的字符集转换,具体情况具体分析。
    2) 创建的时候默认的数据库是orcl,如果没修改就是在这个名字 ,
    12c中有一个cdb 和 pdb:
    两个之间的区别,不很清楚,明显的是影响到了我创建用户的时候,orcl数据库默认创建的时候是必须C##开头,如果自己新建一个数据库实例,在填写密码的时候,最后一项的勾去掉,创建就没有问题;
    数据库容器(CDB)与可插拔数据库(PDB): http://www.cnblogs.com/kerrycode/p/3386917.html
    2.连接
    1)关于客户端的访问,sql developer 据说是使用jdbc做的开发工具,plsqldeveloper 和 toad,Navicate Pre等是采用客户机的方式连接的;
    因此连接的时候就需要关注这个客户端连接的情况,还有这个PLSQLDeveloper连接的时候,如果数据库是64bit的数据库,据说是不能直接连接的,所以,一般是要下载一个32位的客户机;
    2) 客户机解压之后,在PLSQLDeveloper里面Tool -- Preference里面配置OracleRoom和oci的路径,都指定到这个32bit的客户机上;

    地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html 

    3) listener.ora和 TNSname.ora这两个文件是分别是配置tns的TNSListener;一个是服务器提供的listener基本的配置,另外就是让客户端连接使用的;D:app alendproduct12.1.0dbhome_1NETWORKADMIN
    因此一般是需要将安装的Oracle里面的这两个文件拷贝一份到自己安装的32bit客户端里面,这个让对应客户端使用;
    当然这个仅仅是客户端使用,服务里面的服务项使用的还是Oracle自己的文件;

    4) 使用DBCA创建新的数据库的时候,如果希望客户端连接需要在listener里面配置一个这个选项,同理,如果希望连接远程的Oracle数据库,也是需要在这里配置连接;

    5)如果是多个数据库实例,如果在使用sqlplus操作某个数据库,可以再环境变量里面配置一个ORACLE_SID 值为对应的数据库的名字;
    6) 还有一个Net Manager等这一类工具是可视化的配置各部分;
    如果修改了Ora文件,PLSQL Developer是需要重新配置应用,才会生效;
    3. 一些概念:
    表空间的个人理解是存放数据的位置,可以存放多个用户的数据。
    CREATE TABLESPACE tacspace
    DATAFILE 'D:/app/tacspace.dbf' size 800M
    EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

    CREATE TABLESPACE tacspace_index
    DATAFILE 'D:/app/tacspace_index.dbf' size 512M
    EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    创建用户: create user yyang identified by yyang default tablespace tac_space;
    授权: grant conn,resource,dba to yyang;

    4. 导入导出:
    exp imp
    不同用户,不同表空间,不同字符集,等等问题,都是遇到解决;

    exp/imp采用不同的表空间: http://www.cnblogs.com/lanzi/archive/2012/03/26/2417902.html

    5. sql语句:
    存储过程:
    declare

    Begin

    COMMIT;
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('Error Code = ' || TO_CHAR(SQLCODE) );
    dbms_output.put_line('Error Message = ' || SQLERRM );
    ROLLBACK;
    END;
    /

    查询到额时候: OR
    delete from

    IN
    IN (select id from table1 where ....)
    update table set xx= xx where ...


    注意错误信息,以及注意各个操作最好保证有日志可以查看错误来源;

    Get tablespace list:

    select tablespace_name from dba_data_files;

    Get User list;

    select username, default_tablespace from dba_users;

  • 相关阅读:
    IOS知识点收集
    多媒体层预览(Media Layer OverView)
    IOS Audio开发集合
    《android 1: 创建一个安卓项目》
    IOS 中的CoreImage框架(framework)
    [转载]面向对象的六大原则
    [转载]UDP丢包率提升
    产品与项目的区别
    关联、组合、聚合、依赖关系比较
    统一建模语言(UML,Unified Modeling Language)
  • 原文地址:https://www.cnblogs.com/yys369/p/5318608.html
Copyright © 2011-2022 走看看