oracle脚本怎么用 oracle命令执行sql脚本

win10系统下怎样用oracle生成新建数据库脚本

1/s/1gfa3e63;这里是我在Oracle官网下载好了Windows系统64位的安装包,有2个zip文件。不想去官网找下载地址的童鞋可以直接用这个百度云盘的下载链接。1.去下载最新的oracle11g安装包的压缩文件,有2个压缩文件,都需要下载,下载完成以后需要解压缩在同一个目录下。在开始oracle数据安装之前建议:1.关闭本机的病毒防火墙。2.断开互联网。这样可以避免解压缩丢失文件和安装失败。2.我在下载好2个zip文件后,都解压在了database目录中。如下图:3.进入database双击 setup.exe 开始安装,在如下图:4.出现如下选项,选择是,继续安装。当然这是我机器出现了这个情况,可能你的满足要求了。。。5.取消勾,点击下一步:6.Oracle在进行安装的时候都会询问是否同时创建一个数据库出来,此处选择“创建和配置数据库”。7.每一个数据库可以想象为一个实例,所以此处表示只存在一个数据库的含义8.此处选择“高级安装”。9.语言现在选择支持“简体中文”和“英文”。10.选择“企业版”。11.此处设置Oracle的安装目录,将其安装到app目录下。12.选择一般事物 13.此处输入数据库的名称,同时SID与数据库的名称相同。14.使用默认配置,如下图:15.Oracle本身提供了多个操作用户,为了简单管理,所有的密码都统一设置为“oracleadmin”。随后将进行安装环境的检验,如果检验之中出现了错误,则会提示用户,或者由用户选择“忽略”。16.选择完成开始安装17.而后进入到了oracle的安装界面。此界面会运行一段时间,在此界面完成之后出现的任何界面都不要点任何的确定按钮,因为还需要进行后续的配置。18.安装完成之后会进入到配置用户口令界面,点击 用户口令 设置密码。此界面之中需要进行用户名及密码的配置,在使用Oracle数据库过程之中,主要使用三个用户(有三个用户的密码是public password,在实际中不可以使用):超级管理员:sys / change_on_install;普通管理员:system / manager;普通用户:scott / tiger,此用户需要配置解锁;19.完成之后选择“确定”那么再之后就可以进入到安装完成的界面,选择“关闭”即可。20.在Oracle安装完成之后,可以通过windows的服务找到所有与Oracle有关的服务选项。21.所有的服务建议将其全部修改为手工启动,这样电脑的启动速度可以快一些。但是有两个服务是必须启动的:OracleOraDb11g_home1TNSListener:数据库的监听服务,当使用任何的编程语言或者是前台工具连接数据库的时候,此服务必须启动,否则无法连接;OracleServiceSYNC:指的是数据库的实例服务,实例服务的命名规范“OracleServiceSID”,一般SID的名称都和数据库的名称保持一致,每一个数据库的服务都会创建一个sid。这里我的数据库的SID是sync。2. 使用sqlplus命令设置数据库1.当oracle安装完成之后,下面就需要对其进行使用,Oracle本身提供了一个“sqlplus.exe”的操作命令,直接运行此命令即可。2.此处输入用户名为scott,密码为tiger。 3.在数据库之中会存在多张数据表,那么下面发出一个查询emp表的操作命令,输入命令如下,默认的显示方式并不是特别的好,此处可以使用以下的命令更改显示方式 4.在Oracle之中会存在多种用户,如果要想切换不同的用户,可以使用如下的命令完成,如果现在使用的是sys用户登录,那么就必须加上“AS SYSDBA”表示由管理员登录,其他用户不需要。CONN 用户名/密码 [AS SYSDBA] ;范例:使用sys登录conn sys/change_on_install AS sysdba 如果要想查看当前用户输入“show user”命令即可查看。show user 5.如果说现在使用sys用户登录,并且发出同样的查询命令,会发现找不到emp表的错误提示:6.因为这张表属于scott用户,所以当使用scott用户登录的时候可以直接使用此表,但是如果换了一个用户,那么就必须使用这个表的完整名称“用户名.表名称”,emp属于scott的,所以全名是“scott.emp”。以上所述是小编给大家带来的Oracle11g数据库win8.1系统安装配置图文教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

海丰网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

windows环境下oracle数据库的自动备份脚本怎么用

需要写个bat脚本,然后在windows计划任务里调用此脚本可实现每天自动备份。工具:Oracle10g步骤:1、在某个盘符某个路径(以C盘data目录为例),创建oraclebackup.txt文件,内容如下:@echooffecho删除10天前的备分文件和日志forfiles/p"c:/data/"/m*.dmp/d-10/c"cmd/cdel@path"forfiles/p"c:/data/"/m*.log/d-10/c"cmd/cdel@path"echo正在备份Oracle数据库,请稍等……exp用户名/密码@实例名file=c:/data/mdb%date:~0,4%%date:~5,2%%date:~8,2%.dmplog=c:/data//mdb%date:~0,4%%date:~5,2%%date:~8,2%.logfull=ybuffer=65535echo任务完成!2、保存上述文件后,将文件名的后缀改成.bat3、进入windows的控制面板,打开计划与任务,新建任务,点击浏览,选择刚才新建的c盘data目录下的oraclebackup.bat文件。接着选择每天晚上22:00点执行,再输入本机的administrator密码即可。注意事项:exp语句中的用户名密码等内容,需要根据实际需要来填写。

关于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中执行shell脚本

要在sql下面执行shell语句,用!符号,不过功能有限;有的时候打不到我们想要的效果!先给你两个实例;

要在后台登陆;plsql中测试不行

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, Data Mining and Real Application Testing options

SQL !echo 123;

123

SQL !/billing/user/xufc/

Local directory now /billing/Balance/SP/REALINCOME/FTRANS

Interactive mode off.

-rw-r--r-- 1 500 500 823038 Feb 17 06:27 340000PTSVDA002012021714210800000000.gz

-rw-r--r-- 1 500 500 33 Feb 17 06:27 340000PTSVDA002012021714210800000000.md5

其中需要用绝对路径;该脚本里面的内容只是ls一下;就这样了

oracle启停脚本怎么用,是启动和停止脚本分开,都放入主目录吗

oracle启停脚本应该分开放。

脚本都是文本格式的,通常脚本的后缀名为.sh(windows系统下.bat)或者没有后缀名。

如果要手动执行该脚本,通常是需要当前用户为oracle用户或者有相应数据库访问权限的用户的。

你可以把你连接oracle的shell命令,同样的放到你的脚本里即可。原则上,只要你的那些命令能正常运行,那么你的脚本就能正常连接数据库了!

oracle数据库,批量插入数据脚本

批量插入数据脚本

1、第一种批量插入数据脚本,可以基本满足要求。理解上较为简单,所以这个最常用。

NEXTVAL和CURRVAL的区别:

1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出现在一个 SQL 语句中,则序列只增加一次。在这种情况下,每个 sequence.CURRVAL 和 sequence.NEXTVAL 表达式都返回相同的值,不管在语句中sequence.CURRVAL 和 sequence.NEXTVAL 的顺序。

执行脚本结果如下:

3、两个表,同时批量插入数据的脚本

3、

4、 涉及子表时,批量插入数据脚本,

5、 批量修改数据 :

时间取数方式:

一、SYSTIMESTAMP(取当前系统值)

二、SYSDATE(取当前系统值,但只精确到时,分和秒都为0)

三、固定值为:TO_TIMESTAMP ('2019-2-12 15:24:45.703000', 'yyyy-mm-dd hh24:mi:ss.ff6')

把固定的字段改为变量:

方式一:’||i||’ 例:’{“no”:“111’||i||’”}’(此方式)

方式二:concat 例:concat(concat(’{“blNo”:111"’,i),’"}’)


分享名称:oracle脚本怎么用 oracle命令执行sql脚本
链接URL:http://scyanting.com/article/hhojgd.html