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 用户名/密码            (这里的用户名需要有用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:\....\backup_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是通过引擎来执行的,它是在服务器端执行,然后将结果返回给用户端
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值