• oracle新手随记10


    1. unpivot注意点:select new_col from (select ename,job,to_char(sal) as sal,null as c from emp)
                       unpivot include nulls (
                       new_col for old_col in(ename,job,sal,c)
                                                     );
    (1).转换成一列的值要注意它们的类型,在这里sal是number类型,而其它的都是char类型,所以一定要to_char(sal)。否则会报错:
       第 3 行出现错误:
        ORA-01790: 表达式必须具有与相应表达式同样的数据类型
    (2).假设不加include nulls,那么空值行则不会显示,:
    NEW_COL
    ----------
    SMITH
    CLERK
    800
           --空值行
    ALLEN
    SALESMAN
    1600
           --空值行
    WARD
    SALESMAN
    1250


    JONES
    MANAGER
    2975


    MARTIN
    SALESMAN


    2. rownum的运行顺序在order by ,group by之前运行的!



    3. 通过mod函数我们能够进行隔n-1行取值,mod(x,n)!!!

    4. 利用向上取整函数ceil或者向下取整函数floor能够进行分组,celi(rn/n)利用rownum/n来进行分组。每组有n个成员。但一共分成多少组并不确定!而Ntile(n)函数则是表示分成n个小组每组多少人,并不确定。!



    5. rman备份
    快闪恢复区:存储与备份和恢复数据文件以及相关的存储区   相关视图:DB_recovery_file_dest_size和db_recovery_file_dest
    show pararmeter .....
    alter system set ....=....

    6. 建立rman到数据库的连接

    c>rman      启动rman程序
    rman> connect target username/password            (这里的username须要实用sysdba的权限)
    备份集:逻辑数据集合。由多个备份片所组成。一般一个通道生成一个备份集,
    印象备份:不产生备份集
    rman>backup as copy database           ---备份整个数据库
    rman>show all      --显示rman的全部配置參数
    rman>configure default device type to disk(磁盘)/stb(磁带)             --建议使用磁盘
    rman>configure backup optimization on;       --打开备份优化


    7.备份控制文件
    当没有指明使用快闪恢复区时,需用format參数来指明备份文件放在哪里
    rman>backup current controlfile format ‘f:....ackup_ctl_%u.dbf’;
    当指明使用快闪恢复区的时候
    rman>backup current controlfile;
    rman>configure controlfile autobackup fromat for device type disk to ‘文件夹/.%f’;
    rman>configure controlfile autobackup on;     --configure说明是配置的意思,配置控制文件自己主动备份
    rman>backup as compressed backupset database plus archivelog delete all input;
    解释:不但备份数据文件同一时候备份控制文件。在备份完毕归档日志文件后,将已经备份的归档日志文件冲存储文件夹中删除,这样即备份了归档日志文件,同一时候又清空了归档空间!
    rman>backup tablespace tablespace_name; 中间加一个as compressed backupset 表示压缩备份:rman>backup as compressed backupset tablespace tablespace_name;


    8. rman在备份时总会检查数据块是否发生物理损坏,为了加快备份速度而不希望rman会去检查时,能够关闭这个特性,由于。一旦,rman 检查出有物理损坏的时候
    就会停止备份。这样会非常麻烦:rman>backup nochecksum tablespace users tag='weekly_backup'。
    假设检查发现了坏块,那么就要用曾经的rman备份去恢复这个坏块。

    9.rman的增量备份

    rman>backup incremental level 0 database;
    rman>backup incremental level 1 database;


    10.增量备份总是会全库扫描,但仅仅备份更改的数据块,所以。我们能够启动块更改追踪特性。ctwr进程会把被更改的数据块的地址写到块追踪文件里去,

    启动块追踪特性:alter database enable block_change_tracking Using file ‘E:/............/abc.log’;视图:v$block_change_tracking


    11.rman理解:使用恢复文件夹数据库来进行备份目标数据库。比方有ABCDE,5个数据库。我们能够先创建一个恢复文件夹数据库F来进行备份这几个数据库。
    (ps:事实上恢复文件夹数据库就是一个非常寻常的数据库,我们能够选取不论什么一个数据库作为恢复文件夹数据库,然后利用rman工具来对目标数据库进行恢复)。
    然后。登录到恢复文件夹数据库中,在创建一个用户。然后使用给用户登录恢复文件夹数据库。进行创建恢复文件夹catalog,事实上能够将catalog理解为一张表。
    里面存出的是在备份目标数据库的时候的一些备份信息(元数据),比方备份时间,备份目的地。

    12.plsql是通过引擎来运行的,它是在server端运行,然后将结果返回给用户端
  • 相关阅读:
    (转)查找算法:哈希查找
    VIM纵向编辑【转】
    linux下的终端利器 tmux 安装以及使用
    Windows一键设置环境变量(以设置java环境变量为例)
    如何在指针中隐藏数据?
    cygwin gcc 编译windowsAPI 报错的一个解决方案
    Centos 7 最小化部署svn版本控制(http协议)
    Centos 7 最小化vnc远程桌面部署
    Centos 7 最小化图形界面安装
    Python的迭代器与生成器
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7009287.html
走看看 - 开发者的网上家园