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端运行,然后将结果返回给用户端
原文地址:https://www.cnblogs.com/wzjhoutai/p/7009287.html