oracle怎么查看脚本 oracle数据库脚本怎么执行

如何在Oracle中查看job的创建脚本

在SQL*Plus中可以处理三种类型的命令:SQL语句、PL/SQL块和SQL*Plus命令。

10多年的城区网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整城区建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“城区网站设计”,“城区网站推广”以来,每个客户项目都认真落实执行。

但三者之间是有区别的。

脚本中的 “:job”是一种绑定变量的方式,属于sql plus的命令格式。需要写成如下格式,然后在plsql developer的命令窗口中执行,或者到sqlplus中执行。

var job number;

begin

sys.dbms_job.submit(job = :job,

what = 'ps_inventory_io;',

next_date = to_date('01-01-4000', 'dd-mm-yyyy'),

interval = 'trunc(sysdate)+1+0/24');

commit;

end;

/

1)SQL语句是以数据库为操作对象的语言,主要包括数据定义语言DDL、数据操纵语言DML和数据控制语言DCL以及数据存储语言DSL。当输入SQL语句后,SQL*Plus将其保存在内部缓冲区中。

当SQL命令输入完毕时,有三种方法可以结束SQL命令:在命令行的末尾输入分号(;)并按回车;在单独一行上用斜杠(/);或用空行表示。

2)PL/SQL块同样是以数据库中的数据为操作对象。但由于SQL不具备过程控制功能,所以,为了能够与其他语言一样具备面向过程的处理功能,在SQL中加入了诸如循环、选择等面向过程的处理功能,由此形成了PL/SQL。所有PL/SQL语句的解释均由PL/SQL引擎来完成。使用PL/SQL块可编写过程、触发器和包等数据库永久对象。

3)SQL*Plus命令主要用来格式化查询结果、设置选择、编辑及存储SQL命令、以设置查询结果的显示格式,并且可以设置环境选项。

如何查看Procedure的脚本

很多工具软件具有很好的ORACLE脚本查看和编写功能,如toad, 或者pl/sql developer,或者还有其他的数据库工具,你不妨使用它们,注意支持正版。

如果使用这些工具有困难,从user_source查看也可,就是阅读起来稍微麻烦一些。

用脚本将数据库导入oracle后怎么查看

脚本导入后,查看有被导入的库中有哪些表就可以了。

将文本文件导入Oracle中需要用sqlloader的方式。

1、在数据库中创建相应的表。

如,文本文件内容为:

create table test

(id int,

name varchar2(10),

sex varchar2(10));

2、在电脑中某路径下编写ctrl文件,以c盘data目录为例,添加如下文本。如,被导入的文件名为load.txt

load   data   

infile   'load.txt'  --被导入文件名

replace into   table   test     

(id   char   terminated   by   ',',   

name   char   terminated   by   ',',   

sex   char   terminated   by   whitespace)

编写后,将文件保存成load.ctrl

3、然后打开命令提示符,并进入到文本文件和ctrl文件所在目录。

4、输入以下语句,并执行。

sqlldr userid=用户名/密码@数据库实例名   control=load.ctl   log=load.log

5、导入后,test表中数据如下:

select * from test;

关于Oracle一些常用脚本的汇总(2)

碎片检查

select tablespace_name sqrt(max(blocks)/sum(blocks))*

( /sqrt(sqrt(count(blocks)))) fsfi

from dba_free_space

group by tablespace_name order by ;

fsfi值越小 碎片越大 自由空间碎片索引

检查reverse_key index

select o object_name

from dba_objects o

where wner= DB_ACCT

AND O OBJECT_ID IN

(SELECT I OBJ# FROM SYS IND$ I

WHERE BITAND(I PROPERTY )= )

查具体后台进程号

select spid from v$session a v$process b where a PADDR=b ADDR and sid=

查看死锁表

SELECT SID DECODE(BLOCK NO YES ) BLOCKER

DECODE(REQUEST NO YES ) WAITER

FROM V$LOCK

WHERE REQUEST OR BLOCK

ORDER BY block DESC;

查看剩余表空间

select a tablespace_name free/total* pct_free free/ / free(M) from

(select sum(bytes) free tablespace_name from dba_free_space group by tablespace_name) a

(select sum(bytes) total tablespace_name from dba_data_files group by tablespace_name) b

where a tablespace_name=b tablespace_name

order by pct_free;

查看创建索引的进度

select sid message from  v$session_longops where sid = order by  start_time

查看缴费到帐

SELECT AREA_ID to_char(sysdate yyyy mm dd hh :mi:ss ) to_char(count( )) as cnt FROM ACCT_PAY_INTERFACE

WHERE PAY_DATE=sysdate and FLAG= group by AREA_Id

查看最消耗资源的sql

SELECT * FROM  (SELECT PARSING_USER_ID EXECUTIONS SORTS MAND_TYPE

DISK_READS  sql_text FROM v$sqlarea ORDER BY disk_reads DESC ) WHERE ROWNUM

查看占用系统资源的进程号spid

SELECT a username a machine a program a sid a serial# a status c piece c sql_text

FROM v$session a v$process b v$sqltext c WHERE b spid=  AND b addr=a paddr AND a sql_address=c address(+)

ORDER BY c piece

查看占用系统io较大的session

SELECT se sid se serial# pr SPID se username se status se terminal se program

se MODULE se sql_address st event st p text si physical_reads si block_changes

FROM v$session se  v$session_wait st v$sess_io si v$process pr WHERE st sid=se sid  AND st sid=si sid

AND se PADDR=pr ADDR AND se sid  AND st wait_time= AND st event NOT LIKE %SQL% ORDER BY physical_reads DESC

对检索出的结果的几点说明

我是按每个正在等待的session已经发生的物理读排的序 因为它与实际的IO相关

你可以看一下这些等待的进程都在忙什么 语句是否合理?

Select sql_address from v$session where sid=;

Select * from v$sqltext where address=;

执行以上两个语句便可以得到这个session的语句

你也以用alter system kill session sid serial# ;把这个session杀掉

应观注一下event这列 这是我们调优的关键一列 下面对常出现的event做以简要的说明

a buffer busy waits free buffer waits这两个参数所标识是dbwr是否够用的问题 与IO很大相关的 当v$session_wait中的free buffer wait的条目很小或没有的时侯 说明你的系统的dbwr进程决对够用 不用调整 free buffer wait的条目很多 你的系统感觉起来一定很慢 这时说明你的dbwr已经不够用了 它产生的wio已经成为你的数据库性能的瓶颈 这时的解决办法如下

a 增加写进程 同时要调整db_block_lru_latches参数

示例 修改或添加如下两个参数

db_writer_processes=

db_block_lru_latches=

a 开异步IO IBM这方面简单得多 hp则麻烦一些 可以与Hp工程师联系

b db file sequential read 指的是顺序读 即全表扫描 这也是我们应该尽量减少的部分 解决方法就是使用索引 sql调优 同时可以增大db_file_multiblock_read_count这个参数

c db file scattered read 这个参数指的是通过索引来读取 同样可以通过增加db_file_multiblock_read_count这个参数来提高性能

d latch free 与栓相关的了 需要专门调节

e 其他参数可以不特别观注

外部联接 + 的用法

外部联接 + 按其在 = 的左边或右边分左联接和右联接

若不带 + 运算符的表中的一个行不直接匹配于带 + 预算符的表中的任何行

则前者的行与后者中的一个空行相匹配并被返回 若二者均不带 +

则二者中无法匹配的均被返回 利用外部联接 +

可以替代效率十分低下的 not in 运算 大大提高运行速度 例如 下面这条命令执行起来很慢

select a empno from emp a where a empno not in

(select empno from emp where job= SALE );

倘若利用外部联接 改写命令如下:

select a empno from emp a emp b

where a empno=b empno(+)

and b empno is null

and b job= SALE ;

可以发现 运行速度明显提高

如何更改UNDO tablespace

create undo tablespace undotbs datafile D:\oracle\product\ \oradata\qa\undotbs dbf size M;

alter system set undo_tablespace=undotbs scope=both;

create pfile from spfile;

alter tablespace undotbs offline;

drop tablespace undotbs including contents;

将表改成

ALTER   TABLE   t_monitor_real_minute   NOLOGGING;

Oracle RAC的参数文件和单实例参数文件不同 所以修改参数文件时需要注意

首先设置归档路径

SQL alter system set log_archive_dest= /opt/oracle/archive scope=spfile sid= * ;

System altered

SQL select sid name value from v$spparameter where name= log_archive_dest ;

SID        NAME                 VALUE

*          log_archive_dest     /opt/oracle/archive

然后关闭两个实例 启动实例 更改数据库为归档模式

SQL shutdown immediate;

Database closed

Database di *** ounted

ORACLE instance shut down

SQL startup mount;

ORACLE instance started

Total System Global Area bytes

Fixed Size                  bytes

Variable Size             bytes

Database Buffers          bytes

Redo Buffers               bytes

Database mounted

SQL alter database archivelog;

Database altered

SQL alter database open;

Database altered

SQL archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /opt/oracle/archive

Oldest online log sequence    

Next log sequence to archive  

Current log sequence          

lishixinzhi/Article/program/Oracle/201311/17504


本文名称:oracle怎么查看脚本 oracle数据库脚本怎么执行
文章URL:http://myzitong.com/article/hhidgh.html