调度程序体系结构:
使用dbms_scheduler包来管理调度程序
dba_scheduler_jobs查询所有调度程序作业
cjq0后台进程调度作业执行
job_queue_processes限制调度作业的最大数,设置为0将不会运行调度程序
需要角色SCHEDULER_ADMIN
调度程序可以是存储过程,也可以是shell脚本和操作系统命令
dbms_scheduler.create_job创建作业
dbms_scheduler.create_program创建程序
dbms_scheduler.create_schedule创建时间表
dbms_scheduler.create_job_class创建作业类
dbms_scheduler.create_window创建窗口
创建一个作业:
create table times(time1 date);
alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’;
begin
dbms_scheduler.create_job(
job_name=>’savedate’,
job_type=>’plsql_block’,
job_action=>’insert into times values(sysdate);’,
start_date=>sysdate,
repeat_interval=>’freq=minutely;interval=1′,
enabled=>true,
auto_drop=>false);
end;
/
exec dbms_scheduler.disable(‘savedate’);
exec dbms_scheduler.drop_job(‘savedate’);
create table test(cnt number);
create or replace procedure mypro as
begin
insert into test values(1);
commit;
end mypro;
/
begin
dbms_scheduler.create_job(
job_name=>’insertnum’,
job_type=>’stored_procedure’,
job_action=>’mypro’,
start_date=>sysdate,
repeat_interval=>’freq=minutely;interval=1′,
enabled=>true,
auto_drop=>false);
end;
/
全球化功能设置
五个全球化功能设置级别(从低到高)
数据库,实例,客户端环境,会话,语句
数据字典:select * from nls_database_parameters where parameter=’NLS_CHARACTERSET’;
相关参数:show parameter nls
修改显示语言
设置操作系统环境变量
echo $NLS_LANG
export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.ZHS16GBK” –AL32UTF8
alter session set nls_date_format=’YYYY-MON-DD’;
alter session set nls_date_language=’SIMPLIFIED CHINESE’;
如果要修改字符集,在修改之前使用csscan扫描数据,获取可能存在问题的报告
以sysdba运行csminst.sql
cd $ORACLE_HOME/rdbms/admin
@csminst.sql
csscan system/oracle full=y tochar=zhs16gbk
如果要修改字符集,目标数据库字符集必须是原数据库的超集
修改字符集需要将数据库启动到mount模式
shutdown immediate;
startup mount;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
alter database open;
ALTER DATABASE CHARACTER SET INTERNAL_USE al32utf8;
shutdown immediate;
!注意将参数修改回去
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=1000;
ALTER SYSTEM SET AQ_TM_PROCESSES=10;
发表评论