ocp原厂培训笔记(第十天)

来源:互联网 发布:沧州电脑网络销售培训 编辑:程序博客网 时间:2024/04/29 15:10

scn_wrap.
scn_base


select current_scn from v$database;
察看当前数据库的scn值。
select timestamp_to_scn(sysdate) from dual;
察看时间片对应的scn值
select scn_to_timestamp(959044) from dual;

oracle
平均每5分钟同步表里的信息。 12*12*5
scn 增长,最先增长到 scn_base,
当scn增长到上限,则 scn_wrap自动增一。

select max(scn_bas) from smon_scn_time;
当前最大的scn数值。
select eimp_dp,scn_wrap*65536*65536+scan_base scn from smon_scn_time;

 

 


||||||||||||||||||||||||||
14章
task 任务:
传统 是 exp,imp
10g expdp,impdp
相比exp,imp,
expdp、impdp是一个任务。
任务都可以restart的。
(支持断点续传)

如何用job来创建schema.
job chains在 oracle10g里实现不了。(10g 里面 实现不了,是一个bug)
schedule 自动化任务,
月结,日结,备份,都可以用任务来进行调度。
对应的程序包 dbms_job.
when:什么时间点去执行。
what :要执行什么,

administration->scheduler jobs->create job
name job1,schema scott.
block


execute immediate 'alter index pk_index rebuild';  -- ddl 语句必须这么玩

schedule: repeat
自动做和不自动做


job=program+schedule+job attributes

创建program p460面
database schedule->program
schedul就是一个调度时间安排表,(可以调用program,program可是是一个sh脚本)

job 里面使用schedue,选择predefined schedue.

creating program->creating and using schedules->creating and running a job->monitor a job

准备ocm考试的时候,最好背大量的语句。

根据事件来触发调度:
当某个情况出线,将触发一个schedule( 这个可以查看14章的练习)

建立一个基于事件的job,
db_util_sntp
调度的时候,系统中也有些job。
job 开启了,成功了,失败了


veritas 使用的其实也是 schedule.
在某一天不需要做什么动作。(exclude)
包含某个月的某个日期。(include)
网上公开的设置schedule的办法(什么书)

job1,如果成功了,做job2,如果失败了做job3,如果job2 失败了就返回99,成功了返回0


定义job chain,定义步骤。
步骤定义完了,再定义规则,(满足条件才能执行规格),最后enable jobchain,开始一个chain. p478
name     conditon                    
rule1      1=1                       action
rule2   :step1.state="succeed"       start step1

拷贝ppt:挂接program+schedue.


创建job class
create job class
name:jobclass1
选择resoufce group 组。
可见job class主要就是设置资源组。

job里面,如何挂接 job class.
默认情况下是defualt jobclass.


window:
和schedule 非常相象。

plan 1(包含了 组一和组2的资源分配)
windows 在调度的时候,是受哪个resource plan的限制。
每个window 总是包含了:一个挂接的resouce plan,一个是挂接的schedule,你也可以设置自己的schedule。

job class,预定义的schedule 还是预定义的job.

 


整个job玩的流程。
job的优先级别,优先级别越高,调度的越快。
window 限制了时间窗,做不完就做不完。(for example 早上6点以前自动会停止,下一天晚上才会执行)

ORACLE  transparent Data Encryption:TDE
安全加密
使用加密钥匙

OWM:建立秘钥

调用owm:(oracle 钱包管理)
owm
调用oracle wallet manager
配置 sqlnet.ora 中间就可以包含这些内容了。

配置sqlnet.ora的方法:
  修改sqlnet.ora
ENCRYPTION_WALLET_LOCATION=
 (SOURCE=(METHOD=FILE)(METHOD_DATA=
 (DIRECTORY=/opt/oracle/product/10.2.0/db_1/)))

alter system set encription key identified by  ....;
alter system set encription key identified by zao123wsx;
alter system set encription wallet iedentfied by zao123wsx;
打开之后,再建立表,会出现加密的方式。
create table testt(id number,sal number encrypt,name varcha2(40) encrypt no salt);
(如果不选择no salt,必须要有随机串)
默认的加密算法AES 192


directory 下会出现这样一个文件  ewallet.pl2

 

 


 SYS 用户下,不能被加密,LONG 和 LOB 不能加密。
如果对索引列加密,必须加no  salt.

c/test/testt/

如果没打开wallete ,就不能看到加密的列。如果查询没有 加密的列,是可以找回来的。
拷贝的时候 是,(create table testf as select * from testc;)
这个testf是不会被加密的。

 

DBAI手册:加入老师的群。
 mkstore.

datapump的方法,有一个结果集,删除操作系统文件的时候,oracle仍然会去找。

reject limit unlimited: 导入的时候,把被拒绝的方法放一边,把没拒绝的拿进来。


rman 备份加密:
transparent 加密
password模式加密,restore的时候,必须要口令
dual mode:双重加密,既要带开wallet钱包,又加上口令来加密。


test:
transparent 加密
rman target /
RMAN>show all;
RMAN .CONFIGURE ENCRIPTION FOR DATABASE ON;

password 加密
set encription on identfied by password only
set decryption identfied by password {,password2,...,passwordn)

组合加密:
set encryption on identified by oracle;
RMAN>BACKUP FORMAT ‘/u01/app/oracle/%U.users' tablespace users;

 

test:

set encryption on identified by  oracle only;
backup format '/u01/...test/users.bak' tablespace  users;
rman > restore tablespace users;
这个时候就会报错了。
RMAN> set decryption identfied by oracle;
RMAN>restore tablespace users;
这样才能restore成功。

实验。


查看rman 支持的加密算法:
select * from v$RMAN_ENCRYPTION_ALGORITHMS;


VPD的作用是什么?
select * from emp;
某个人是10号部门。
限制某个人只看自己部门的。自动在select 后面加 where 条件。
这个就是 VPD。
(自动在访问的时候加一个谓语动词,这个在全库级别设置的,在行级别限制访问容量);
select  * from  abc;(执行时间超过 某个时间段,就不执行)(增加一个加密列,也可以)

强制增加某些限制来访问某些行,这个是可以通过列来指定。
1>谁最先访问,别人访问都只能这么访问。
2>根据users不同,访问的范围有所不同。

oracle 10g new feature里面可以查看1>,2>个属性。

策略类型可以是 index,
策略类型是谓语动词,最大 32K。

用列来控制访问的条件。
dbms_rls.add_policy :增加一个policy

test的过程
sql>desc customers;
sql>select account_mgr_id,count(*) from customers group by account_mgr_id;

 


sql>create context order_ctx using oe.orders_app_pkg; (创建上下文,利用这个package)
创建package
create or replace package oe.orders_app_pkg
IS
   procedure  show_app_context;
   procedure  set_app_context;
function   the_predicate
   (p_schema varchar2,p_name varchar2)
   return varchar2;
end varchar2;
end orders_app_pkg;


要注意的几个环节
生成,打开wallet钱包,
用rman 钱包。


oracle online evaluation
2185314
评估。


字符集的
oracle 下面安装oracle,选择american,字符集合又用成zh**k.
环境变量和字符集不匹配了。
需要修改nls_lang

面向全球支持的字符集:
多语言排序
拼音,比画,部首


ascci-7,单字节,
一般支持128个字符。(ascci-7)
8位码
支持256个字符
zhi16GBK 面向中国的双字节
utf8:面向全亚洲的(2个,3个,4个字节都可以代表一个汉字)
同样的汉字,为什么插入的个数不一样。
繁体字,4个字节(增补字符集)
utf8面向全亚洲的时候,可以用2,3,4代表字节。


AL32UTF8:用不同的宽度代表你的编码。

对于亚洲的字符,一般用3个字符代表,对于增补字符集合,一般用4个字节表示一个字符。
对于汉字来说,某些必须用到增补字符集。48
NLS_LANG:语言地域字符集

desc props$;
select name,values$ from props$ where name like '%CHARACTER%';
select name from  ,values from nls_database_parameters where parameter like '%CHARACTERSET%';
desc database_properties;
desc nls_database_parameters;

国际字符集 本地字符集的区别:
国际字符集是一个增补的过程。
设置的时候避免问题,

不要用props$来修改字符集。
我们只能用:
alter database set characterset 来修改字符集
从单字节改成双字节没有问题。
从双字节改成单字节会有问题。(internal used,不建议修改)


database 怎么修改,
block块size 怎么修改,直接修改blocksize.metalink里面有文档。
character set
nantional character set : union code
exp

选择字符集:
亚洲项目,utf8,兼容中日韩字符集。
数据库字符集和national 字符集
    对于national 字符集,必须设置为 union code.

   基于语言的行为:
   先把语言读进来,用环境变量覆盖初始化参数,session级别可以覆盖环境变量和数据库的方式。
   可以用排序选项(sql function)覆盖上面所有的。


   conn  / as sysdba
   show paramaeter sql_trace;
   alter session set sql_trace=true; 56

 设置正确的语言,地域,字符集。
  language 和地域相关的参数
  dd-mon-rr :千年之后 RR和 yy就没有区别了。
   在荷兰:  ,=小数点  小数点 =千位符


  alter session set NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';
  p60面
  
  一般排序,用二进制
  还可以用拼音,笔画,部首排序

 设置  NLS_SORT PARAMETER: 可以修改查询级别,修改默认的一个排序规则。

SQL> ALTER SESSION SET NLS_SORT=BINARY;
Session altered.
SQL> SELECT fr_word
2 FROM words
3 ORDER BY fr_word;
FR_WORD
-------
gelez
gelé
gelée
gèle
SQL> SELECT fr_word
2 FROM words
3 ORDER BY NLSSORT(fr_word,'NLS_SORT=FRENCH_M');
FR_WORD
--------
gèle
gelé
gelée
gelez

NLS_SORT

_AI 不区分重音
_CI 不区分大小写。

 

Specify the linguistic name:
• Examples:
• Specify the sort action for WHERE clauses and
PL/SQL blocks:
• Useful for migrated databases
NLS_SORT = <NLS_sort_name>[_AI | _CI]
NLS_SORT = FRENCH_M_AI
NLS_SORT = XGERMAN_CI
NLS_COMP = BINARY | ANSI | LINGUISTIC


start with: 用一条命令把组织架构图搞出来。
p66

以排序规则设置索引

Linguistic Index Support
• Create an index on linguistically sorted values.
• Rapidly query data without having to specify
ORDER BY clause and NLSSORT:
• Set the NLS_SORT parameter to match the
linguistic definition that you want to use for the
linguistic sort when creating the index.
CREATE INDEX list_word ON list (NLSSORT(word, 'NLS_SORT=French_M'));
SELECT word FROM list;

 

clob->nclob 隐含转换 ,完全透明的。经常会发生在参数传递的过程中。

sqlloader
导入导出 一定要注意字符集。
在不同平台字符集之间导入导出一定要注意字符集是否匹配兼容。


如果字符集不一致,怎么做,需要修改NLS_LANG这个参数。
Globalization Support Features
• Language support
• Territory support
• Character set support
• Linguistic sorting
• Message support
• Date and time formats
• Numeric formats
• Monetary formats

 

关于字符集的测试推荐 盖国强的博客。
sqlplus 只支持中文,
isqlplus 会读取操作系统中间的语言,会给你显示正常的字符集合。


除了rman之外,还可以做导入导出备份。

中国电信不敢开归档。(为什么?因为归档开启后,arc文件生产太多,很快就会把磁盘空间耗尽)

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 美团好评被删了怎么办 卖家收到好评内容是差评怎么办 淘宝收货电话写错了怎么办 淘宝评价写错了怎么办 饿了么商家差评怎么办 淘宝不给补差价怎么办 淘宝顾客给差评怎么办 淘宝买家账号体检违规怎么办 买家淘宝账户体检中心违规怎么办 淘宝卖家电话骚扰该怎么办 手机欠费销户了怎么办 想下载好多个淘宝怎么办 送快递不记得路怎么办 淘宝物流弄丢了怎么办 邮政快递碰上难缠客户怎么办 举证工伤对方不签收怎么办 快递员收件的钱怎么办 锐捷网卡是空的怎么办 mac系统excel太慢怎么办 二手车交易发票丢了怎么办 转转上买二手电脑被骗了怎么办 如果电脑买贵了怎么办 电脑配置低玩lol卡怎么办 电视打开显示无信号怎么办 电脑卡怎么办换个驱动 刚开始开淘宝店没人买怎么办 公司有人带自己电脑办公怎么办 组装电脑连不上网怎么办 显卡玩不起吃鸡怎么办 u盘内存是假的怎么办 新买的电脑应该怎么办 海尔一体机电脑开不开机怎么办 苹果笔记本系统坏了怎么办 苹果笔记本电脑电池坏了怎么办 苹果笔记本电脑屏幕坏了怎么办 平板开关键坏了怎么办 平板电脑电池坏了怎么办 平板电脑充电口坏了怎么办 平板电脑系统坏了怎么办 平板电脑充电器坏了怎么办 平板电脑触摸屏坏了怎么办