Oracle数据库的日常使用命令_第1页
Oracle数据库的日常使用命令_第2页
Oracle数据库的日常使用命令_第3页
Oracle数据库的日常使用命令_第4页
Oracle数据库的日常使用命令_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle数据库的日常使用命令

1.基本知识错误!未定义书签。

2.启动和关闭数据库错误!未定义书签。

3.控制监听错误!未定义书签。

4.数据库用户管理错误!未定义书签。

5.Oracle的权限管理错误!未定义书签。

6.更改字符集为中文错误!未定义书签。

7.查询语句错误!未定义书签。

8.表空间管理错误!未定义书签。

9.数据文件被误删后的处理错误!未定义书签。

10.查询当前系统的配置参数错误!未定义书签。

11.显示当前用户错误!未定义书签。

12.Oracle排错处理错误!未定义书签。

13.查看表结构错误!未定义书签。

14.查看数据库文件错误!未定义书签。

15.将select查询出的结果保存至一个文件错误!未定义书签。

16.存储过程错误!未定义书签。

17.数据库的备份与恢复错误!未定义书签。

Export转入程序错误!未定义书签。

Import恢复程序错误!未定义书签。

增量卸出/装入错误!未定义书签。

18.如何查看各个表空间占用磁盘情况?错误!未定义书签。

19.如何知道数据裤中某个表所在的tablespace?错误!未定义书签。

20.内核参数的应用错误!未定义书签。

21.如何单独备份一个或多个表?错误!未定义书签。

22.如何单独备份一个或多个用户?错误!未定义书签。

23.如何显示当前连接用户?错误!未定义书签。

24.如何外连接?错误!未定义书签。

25.如何执行脚本SQL文件?错误!未定义书签。

26.如何搜索出前N条记录?错误!未定义书签。

27.为表创建序列错误味定义书签。

28.查看本用户下的各种对象的SQL脚本错误!未定义书签。

29.SQL*Plus系统环境变量有哪些?如何修改?错误!未定义书签。

30.如何在PL/SQL中读写文件?错误!未定义书签。

31.某个数据文件损坏,如何打开数据库?错误!未定义书签。

1.基本知识

一个表空间只能属于一个数据库

每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上)

每个数据库最少有一个表空间(SYSTEM表空间)

建立SYSTEM表空间的目的是尽量将目的相同的表存放在一起,以提高使用效率,只

应存放数据字典

每个数据库最少有两个联机日志组,每组最少一个联机日志文件

一个数据文件只能属于一个表空间

一个数据文件一旦被加入到一个表空间中,就不能再从这个表空间中移走,也不能再加

入到其他表空间中

建立新的表空间需要建立新的数据文件

数据文件被ORACLE格式化为ORACLE块,0racle9i以前版本中,ORACLE块的大

小是在第一次创建数据库时设定的,

并且以后不能改变,要想改变,只能重建数据库

一个段segment只能属于一个表空间,但可以属于多个数据文件

一个区extent只能属于一个数据文件,即区间(extent)不能跨越数据文件

PCTFREE和PCTUSED总和不能大于等于100

单独一个事务不能跨越多个回滚段

索引表不含ROWID值

一个事务即使不被提交,也会被写入到重做日志中。

一个块的最大长度为16KB(有2K、4K、8K、16K)每个数据库最大文件数(按块

大小)2K块20000个文件4K块40000个文

件8K块或以上65536个文件

2.启动和关闭数据库

sqlplus/nolog;

SQL>conn/assysdba;

SQL>startup

(若启动文件名不是ORACLE缺省的文件名,则启动时应带启动目录与文件名)

SQL>startuppfile=<file-pathr/init-file>

SQL>shutdownimmediate

3.控制监听

i.启动监听

Isnrctlstart

2.停止监听

Isnrctlstop

3.查看监听状态

Isnrctlstatus

4.数据库用户管理

I.创建用户

如:

createuserimuse203

identifiedbyimuse203

defaulttablespaceIMUSE01

temporarytablespaceIMUSE01_TMP

2.修改用户

将imuse203的口令改为hello:

alteruserimuse203identifiedbyhello;

将imuse203的缺省表空间改为IMUSE02:

alteruserimuse203defaulttablespaceIMUSE02;

将imuse203的临时表空间改为IMUSE02_TMP:

alteruserimuse203temporytablespaceIMUSE02_TMP;

3.删除用户

删除用户的命令为:

DROPUSER用户名[CASCADE]

若不使用CASCADE选项,则必须在该用户的所有实体都删除之后,才能删除该用

户。使用CASCADE后,则不论用户实体有多大,都一并删除.

5.Oracle的权限管理

1.系统权限

ORACLE7提供了80多种系统权限,每种系统权限允许用户执行特定的数据库操作。

系统权限的授予命令为GRANT,例如把创建任何表视图的权限授予imuseOl用户:

GRANTcreateanyviewTOimuseOl;

系统权限的回收命令为REVOKE,例如将createanyview权限从imuseOl用户手中收叵1:

REVOKEcreateanyviewFROMimuseOl;

2.实体权限

每种类型的实体有与之相关的实体权限。

授予实体权限的命令举例(将basetab表上的Select和Insert权限授给imuseOl):

GRANTselect,insertONbasetabTOimuseOl;

回收实体权限的命令举例(将basetab表上的Select权限从imuseOl手中回收):

REVOKEselectONbasetabFROMimuseOl;

3.管理角色

角色是许多权限和角色的组合。它极大地方便了ORACLE的权限管理。

•创建角色,如创建一个名为deptl的角色,口令为hello:

CREATEROLEROLEiMUSEOlIDENTIFIEDBYhello;

使用角色,可以通过修改用户的缺省角色来使用角色,或通过授权的方法来将角色授

予其它角色或用户。如将imuseOl用户的缺省角色修改为RoleTmp:

ALTERUSERimuseOlDEFAULTROLERoleTmp;

将角色RoleTmp角色授予imuseOl:

GRANTRoleTmpTOimuseOl;

使角色生效或失效,DBA可以通过控制角色的生效或失效,来暂时回收用户的一部分

权限。如使RoleTmp角色失效:

SETROLERoleTmpDISABLE;

删除角色,这将会影响到拥有该角色的用户和其它角色的权限。用DROPROLE命令

删除角色,如:

DROPROLERoleTmp;

6.更改字符集为中文

sqlplus/nolog;

SQL>conn/assysdba;

SQL>SHUTDOWNIMMEDIATE;

SQL>STARTUPMOUNT;

SQL>ALTERSYSTEMENABLERESTRICTEDSESSION;

SQL>ALTERSYSTEMSETJOBQUEUE_PROCESSES=O;

SQL>ALTERDATABASEOPEN;

SQL>ALTERDATABASECHARACTERSETZHS16GBK;

(这一步一般会出错,所以需要重复执行上面从SHUTDOWNIMMEDIATE开始的所有语句)

SQL>SHUTDOWNIMMEDIATE;

SQL>STARTUP;

7.查询语句

当前存在哪些表空间

Select*fromv$tablespace;

表空间有多大

Selecttablespace_name,sum(bytes)/1024/1024fromdba_data_filesgroupbytablespace_name;

表空间还剩多少空闲空间

Selecttablespace_name,sum(bytes)/1024/1024fromdba_free_spacegroupbytablespace_name;

查询imuseOl用户所使用的缺省表空间

selectdefault_tablespacefromdba_userswhereusemame=,imuseOr;

查询imuseOl用户所使用的临时表空间

selecttemporary_tablespacefromdba_userswhereusername='imuseOl

查询当前用户所拥有的角色

select*fromsession_roles;

查看违反唯一索引的表及列:

如果插入数据时系统提示::uniqueconstraint(IMUSE01.SYS_C)v⑹ated.则魏明在为

IMUSE01用户插入数据时违反了唯一索引SYS_Co

查看违反唯一索引的表:

selecttable_namefromuser_indexeswhereindex_name=,SYS_C9;

查看违反唯一索引的列:

selectcolumn_namefromuser_ind_columnswhereindex」iame二'SYS_C';

查看编译无效的存储过程:

selectobject_namefromuser_objectswherestatus=91NVALID?and

object_type=9PROCEDURE*;

查看当前运行的实例名:

selectinstance_namefromv$instance;

8.表空间管理

1.创建表空间

createtablespacelMUSEO1

datafileVexport/home/oracle/oradata/mdspdata/imuseO1_datl*

size100M;

2.增加表空间的大小

如将表空间IMUSE01增加100M:

altertablespaceIMUSE01

adddatafileVexport/home/oracle/oradata/mdspdata/imuse01_dat2,

size100M;

3.修改表空间的大小

如将表空间IMUSE01改为1000M:

alterdatabase

datafile7export/home/oracle/oradata/mdspdata/imuse01_dat19

resize1000M;

4.删除表空间

DROPtablespaceBPOS01_temp;

5.创建临时表空间

createTEMPORARYTABLESPACEBPOSOl.temp

tempfile7opt/oracle/oradata/orcl/bposO1_dat3*

size100M;

9.数据文件被误删后的处理

如果不小心物理上删除了一Oracle的数据文件,比如说,某应用表空间所对应数据文

件”adc.dbF,,Oracle读控制文件时,和打开数据库时所面对的参数不一致,Oracle数据库将

启动不了,解决这种问题的方法是把该文件对应的表空间先卸下,再删除,以保证控制文件

描述和物理上存在文件一致。

以sys用户登录并进入Sql*Plus:SQL>startupmountSQL>alterdatabasedatafile

Vdirectory/abc.dbfoffline;

SQL>alterdatabaseopen;

SQL>droptablespaceabc;

10.查询当前系统的配置参数

有三种查询方法:

1.静态查询:

即直接查询initXXXX.ora文件(XXXX为ORACLE的SID)。因为有很多系统参数使用的是

缺省值,并未在该文件中给出,所以该方法不能看到所有参数及其含义。

2.在SQL*PLUS中用命令查询

1)显示所有数据库参数值

SQL>showparameters;

2)显示含有“sort”的参数的值

SQL>showparametersort;

3.在SQL*PLUS中用SQL语句查询

SQL>selectname,type,valuefromv$parameterwherename='db_block_buffers';

11.显示当前用户

sql>showuser;

12.Oracle排错处理

1.错误说明

ORACLE中出现的错误的格式为:错误类型-错误代码:错误信息,例如:

aORA-1652:unabletoextendtempsegmentby128intablespaceTEMP”

一般来说,这种错误信息比较简单,但是可以根据这个信息用。err命令得到更详细的信息。

2.查看错误详细说明

oerr是ORACLE提供的一个在服务器端使用的错误信息帮助命令。使用该命令前,必须先

用ORACLE用户登录到服务器上,命令格式为:

oerr错误类型错误代码

返回信息格式为:

错误代码,''通用错误信息”

〃*错误原因

〃*应采取的动作

如对上面的错误可用如下命令:

oerrora1652

3.alert_XXXX.ora(XXXX为ORALE的SID)文件的说明

alert_XXXX.ora是ORACLE中一个十分有用的的文件,该文件在服务器的具体位置由

initXXXX.ora中的参数“background_dump_dest"的值决定。该文件中的信息有:数据库每次

STARTUP>SHUTDOWN的具体信息;在数据库中进行的各种DML操作;数据库中出现的

各种错误的信息等等,内容十分详细,并且有各种信息发生的具体时间。如果遇到问题,可

以仔细浏览该文件,根据问题发生的时间来寻找相应的信息。

13.查看表结构

SQL>desc表名

14.查看数据库文件

共有三种数据库文件:控制文件、数据文件、日志文件

L查看控制文件

select*fromv$controlfile;

2.查看数据文件

selectstatus,bytes,namefromv$datafile;

3.查看日志文件

selectnamefromv$logfile;

15.将select查询出的结果保存至一个文件

SQL>spool/result.txt

SQL>select*frombasetab;

SQL>spooloff

则从basetab查询出的结果都被保存到当前路径下的result.txt文件中

16.存储过程

1.存储过程的写法:

createorreplaceprocedureproc_name

(

ifield1innumber,

sfield2outvarchar

)

as

v_err_codeint;

v_err_msgvarchar2(2048);

begin

selectfield2intosfield2fromtabSpwherefield1=ifieldl;

DBMS_OUTPUT.PUT^LINE(sfield2);

exception

whenothersthen

begin

v_err_code:=sqlcode;

v_err_msg:=sqlerrm;

DBMS_OUTPUT.PUT_LINE(v_err_code||'||v_err_msg);

rollback;

end;

endproc_name;

注意:

1)存储过程的输入输出参数以逗号间隔,局部变量部分以分号间隔;

2)存储过程的输入输出参数部分:最后一个参数后没有逗号;

3)存储过程的局部变量部分:最后一个变量后有分号;

4)可把多个存储过程保存到一个文件中,文件名必须用.sql后缀;

5)每个存储过程结束后,要用“/”作为提交;

2.存储过程的创建:

sqlplus用户名/密码©数据库标识@存储过程文件名

(这里的存储过程文件名可以省略.sql后缀,因为文件后缀缺省是.sql)

3.存储过程的执行

sql>execute存储过程名字(参数)

注意:

1.如果执行存储过程时提示:必须说明标识符,存储过程名',则表明该存储过程不存在或

编译未成功。可用如下命令重新编译该存储过程:

SQL>alterprocedure存储过程名compile;

2.如果执行存储过程时提示:未找到数据在,imuseOl.tesjadduser',有可能是在该存储过程

中存在类似“selectcol_nameintotmpfromtable_namewhere”这样的语句,而查询出的结

果为空的缘故。

3.如果执行存储过程时提示:SQL缓冲区中无可执行的程序,说明此时缓冲区是空的。如

在执行上面找不到相应记录的脚本后会提示该错误。

4.如果执行存储过程时提示:输入被截为1个字符,表明某个“/“之后少一个回车符。

5.如果执行存储过程时提示:创建的过程带有编译错误,可能是某个存储过程结束处少一

个“/"。

6.如果执行存储过程时提示:缺少表达式,有可能是某个变量没被赋值。

17.数据库的备份与恢复

ORACLE系统提供的Export/转入(备份)、Import/转出(恢复)应用程序实现备份与恢复功

能。

Export是在数据库打开并能使用的情况下备份数据库数据的实用程序。用Export将数据库

中的数据写到以二进制形式表示的操作系统文件中(ORACLE),该文件叫卸出文件。用

Export可实现应用程序失败时的恢复,例如可把某个表或某些表恢复到执行该Export时的状

态。

由于卸出文件的特殊格式,所以只能用Import实用程序将其读入数据库中。

Export转入程序

ORACLE数据库有两类备份方法,第一类为物理备份,该方法实现数据库的完整恢复,但

数据库必须运行在归档模式下,且需要极大的外部存储设备,例如磁带机;第二类备份方式

为逻辑备份,客户服务中心业务数据库就是采用这种方式,这种方法不需要数据库运行在归

档模式下,不但备份简单,而且可以不需要外部存储设备。

逻辑备份又分为三种模式。

表模式(T):这种模式可以卸出当前用户数据库模式下的表,甚至是所有的表。具有特权

的用户可根据所指定的数据库模式来(限制表)卸出他们所包含的表。缺省情况是卸出属于

当前正在进行卸出的用户的所有表。

用户模式(U):这种模式可以卸出当前用户数据库模式下的所有实体(表、数据和索引)。

全数据库模式(F):只有具有EXP_FULL_DATABASE角色的用户才可能以这种模式卸出。

以这种模式进行卸出的用户,除SYS模式下的内容之外,数据库中所有实体都可以卸出。下

下面列出给用户赋予EXP_FULL_DATABASE角色的方法。

要选择表、用户或全数据库方式,可相应指定TABLES=tablelist、OWNER=userlist或FULL

=y。

1.表模式

EXPimuseOl/imuseOlBUFFER=8192(或64000)

FILE=imuseO1.dmp或(磁带设备/dev/rmtO)

TABLES=imuse01.basetab

(或imuseOl.basetab,imuseOl.serviceinfb.....)

ROWS=Y

COMPRESS=N

LOG=EXP_IMUSEO1_SERVICEINFO.LOG

参数说明:

BUFFER缓冲区大小

FILE由Export创建的输出文件的名字

TABLES将要卸出的表名列表

ROWS指明是否卸出表中数据的行数,缺省为“Y”。

COMPRESS指明在装入期间是否将表中数据压缩到一个区域中。如果

在卸出数据时,指定参数COMPRESS=Y,那么装入时,就

会将数据压缩到一个初始区域中。这种选择可以保持初始

化区域的原始大小。缺省为“Y”。

LOG指定一个接收有用信息和错误信息的文件

2.用户模式

EXPimuseOl/imuseOlOWNER=imuse01BUFFER=8192(或64000)

FILE=imuse01.dmp或(磁带设备/dev/rmtO)

ROWS=Y

COMPRESS=N

LOG=EXPJMUSEO1.LOG

参数说明:

OWNER将要卸出的用户名列表

BUFFER、FILE、ROWS、COMPRESS>LOG同上

3.全数据库模式

EXPimuseOl/imuseOlBUFFER=8192(或64000)

FILE=EXPJMUSE01.dmp(或磁带设备/dev/rmtO)

FULL=YROWS=YCOMPRESS=N

LOG=EXP_IMUSEO1_DB.LOG

对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。

增量备份命令:

EXPICDMAIN/ICDBUFFER=8192(或64000)

FILE=EXP_ICDMAIN_DB.DMP(或磁带设备/dev/rmtO)

FULL=YINCTYPE=incrementalROWS=YCOMPRESS=N

LOG=EXP_ICDMAIN_DB.LOG

参数说明:

BUFFER、FILE、ROWS、同上

COMPRESS、LOG

FULL指明是否卸出完整的数据库。如果

FULL=Y,将以全数据库模式进行缶1

卸出。

INCTYPE增加卸出的类型,有效值有

complete(完全)、comulative(固

定)和incremental(增量和

complete输出所有表

comulative将输入第一次完全输出后修改过的

incremental将输出前一次输出后修改过的表

说明:

关于增量备份必须满足下列条件:

只对数据库备命有效,且箫一次需要FULL=Y参数,以后需要

INCTYPE=INCREMENTAL参数。

用户必须有EXP_FULL_DATABASE权限。

Import恢复程序

Import和Export是两个相配套的实用程序,Export把数据库中的数据卸出到操作系统文件

中,而Import实用程序则把Export卸出的数据恢复到数据库中。

按备份方案确定恢复方案,例如:采用表逻辑备份方案,则恢复方案也采用恢复到表的方式

(不应恢复到用户)。

要使用Import,必须具有CREATESESSION特权,以便能注册到ORACLERDBMS中去。

这一特权属于在数据库创建时所建立的CONNECT角色。

如果卸出文件是由某用户利用EXP_FULL_DATABASE角色创建的全数据库卸出,那么只有

具有IMP_FULL_DATABASE角色的用户才能装入这样的文件。

数据库的逻辑恢复分为表、用户、数据库三种模式。

1.表模式

恢复方法为:

IMPimuseOl/imuseOlFILE=文件名LOG=LOG文件名

ROWS=YCOMMIT=YBUFFER=YIGNORE=Y

TABLES=(表名1,表名2,表名3,表名4,.......)

参数说明:

BUFFER缓冲区大小

FILE用于装入的卸出文件名字

TABLES将要装入的表名列表

ROWS指明是否装入表数据的行数,缺省为

IGNORE指明如何处理实体创建错误。指定IGNORE=Y,当试图创建

数据库实体时,忽略实体存在错误。对除了表之外的其他实

体,指定IGNORE=Y,Import不报告错误,继续执行。而指

定IGNORE=N时,Import在继续执行前报告实体创建错误。

COMMIT指明在每个矩阵插入之后是否提交。缺省时,Import在装入

每个实体之后提交。指定COMMIT=N时,如有错误产生,

Import在记录装入下一个实体之前,完成一个回退。指定

COMMIT=Y时,可以抑制回滚字段无限制增大,并改善大量

装入时的性能,表具有唯一约束时,这种选择比较好。如果

再次开始装入,将拒绝装入已经装入的任何行,原因是非致

命性错误。表具有非唯一约束时,指定COMMIT=N可能是

比较好的选择。因为重新装入可能会产生重复行。

LOG指定一个接收有用信息和错误信息的文件

2.用户模式

如果备份方式为用户模式,采用下列恢复方法:

IMPsystem/managerFROMUSER=imuseO1TOUSER=imuse01

FILE二文件名LOG=LOG文件名ROWS=YCOMMIT=Y

BUFFER=YIGNORE"

参数说明同上。

3.数据库模式

如果备份方式为数据库模式,采用下列恢复方法:

IMPsystem/managerFULL=Y

FILE二文件名LOG=LOG文件名ROWS=YCOMMIT=Y

BUFFER=YIGNORE=Y

字符集转换

对于单字节字符集(例如US7ASC1I),恢复时,数据库自动转换为该会话的字符集

(NLA_LANG参数);对于多字节字符集(例如ZHS168CGB),恢复时,应尽量使字符集

相同(避免转换),如果要转换,目标数据库的字符集应是输出数据库字符集的超集。

增量卸出/装入

下面介绍利用Export/Import实用程序对ORACLE数据库进行备份、恢复的方法:增量卸出

/装入。增量卸出是一种常用的数据备份方法,包括3个子类:

(1)“完全”增量卸出

就是对整个ORACLE数据库进行完全卸出。如:

$expsystem/口令inctype=completefull=yfile=today.dmp

(1)“增量型”增量卸出

即从ORACLE数据库中卸出上次卸出操作之后所有数据库的变化信息。如:

$expsystem/口令inctype=incrementalfile=today.dmp

增量型卸出文件的大小,可能只是完全卸出文件大小的1%,具体要看“新信息或更新过的

信息”的总量而定。

(2)“累积型”增量卸出

累积型卸出方式只是卸出自上次“完全”卸出之后数据库中变化了的信息。用法如下:

$expsystem/口令inctype=cumulativefile=today.dmp

DBA可以排定一个备份日程表,用数据卸出的三个不同方式合理高效地完成数据库的备份

任务。比如DBA作如下安排:

星期一:完全卸出(F1)

星期二:增量卸出(II)

星期三:增量卸出(12)

星期四:累积卸出(C1)

星期五:增量卸出(13)

星期六:增量卸出(14)

如果在星期日,数据库遭到意外破坏,DBA可按以下步骤来恢复数据库:

・用命令CREATEDATABASE重新生成你的数据库结构;

最近增量装入14:$impsystem/口令inctype=systemfull=yfile=I4

完全增量装入Fl:$impsystem/口令inctype=restorefull=yfile=Fl

累积增量装入Cl:$impsystem/口令inctype=restorefull=yfile=Cl

・对于由累积装入或完全装入尚未能装入的信息,作增量装入:

$impsystem/口令inctype=restorefull=yfile=I3

Simpsystem/口令inctype=restorefull=yfile=I4

A注意:

在II和12中的信息已包括在Cl中了。

18.如何查看各个表空间占用磁盘情况?

SQL>coltablespaceformata20

SQL>select

b.file_id文件工D号,

b,tablespace_name表空间名,

b.bytes字节数,

(b.bytes-sum(nvl(a.bytes,0)))已使用,

sum(nvl(a.bytes,0))剩余空间,

sum(nvl(a.bytes,0))/(b.bytes)*100剩余百分比

fromdba_free_spacea,dba_data_filesb

wherea.file_id=b.file_id

groupbyb.tablespace_name,b.file__idzb.bytes

orderbyb.file_id

19.如何知道数据裤中某个表所在的tablespace?

selecttablespace_namefromuser_tableswheretable_name=*TEST*;

select*fromusejtabl㊀s中有个字段TABLESPACE_NAME,(oracle);

select*fromdba_segmentswhere

20.内核参数的应用

shmmax

含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决

定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。

设置方法:0.5*物理内存

例子:Setshmsys:shminfo_shmmax=

shmmin

含义:共享内存的最小大小。

设置方法:一般都设置成为1。

例子:Setshmsys:shminfo_shmmin=l:

shmmni

含义:系统中共享内存段的最大个数。

例子:Setshmsys:shminfo_shmmni=100

shmseg

含义:每个用户进程可以使用的最多的共享内存段的数目。

例子:Setshmsys:shminfo_shmseg=20:

semmni

含义:系统中semaphoreidentifierer的最大个数。

设置方法:把这个变量的值设置为这个系统上的所有Oracle的实例的init.ora中的

最大的那个processes的那个值加10o

例子:Setsemsys:seminfo_semmni=100

semmns

含义:系统中emaphores的最大个数。

设置方法:这个值可以通过以下方式计算得到:各个Oracle实例的initS工D.ora

里边的processes的值的总和(除去最大的Processes参数)+最大的那个Processes

X2+lOXOracle实例的个数。

例子:Setsemsys:seminfo_semmns=200

semmsl:

含义:一个set中semaphore的最大个数。

设置方法:设置成为10+所有Oracle实例的InitSID.ora中最大的Processes

的值。

例子:Setsemsys:seminfo_semmsl=-200

21.如何单独备份一个或多个表?

exp用户/密码tables=(表1,…,表2)

22.如何单独备份一个或多个用户?

expsystem/managerowner=(用户1,用户2,…,用户n)£1.10=导出文件

23.如何显示当前连接用户?

SHOWUSER

24.如何外连接?

Selecta.*frombsempmsa,bsdptmsbwherea.dpt_no=b.dpt_no(+);

Selecta.*frombsempmsa,bsdptmsbwherea.dpt_no(+)=b.dpt_no;

25.如何执行脚本SQL文件?

SQL>@$PATH/filename.sql;

如:/opt/oraclc/下建立sql目录,存放待执行的SQL文件

oracle@linux66:­/sql>11

total192

-rw-r-r—1wwzusers5802009-11-1209:46bme_creatc_seq.sql

-rw-r—r—1wwzusers780272009-11-1209:46bine_oracle_data.sql

-rw-r-r—1wwzusers267312009-11-1209:46bme_oracle.sql

-rw-r-r—1wwzusers204662009-11-1209:46BPOS_create_table.sql

-rw-r-r—1wwzusers13092009-11-1209:46BPOS_drop_t^le.sql

-rw-r-r-1wwzusers7322009-11-1209:46createtablespace.sql

-rw-r-r—1wwzusers15432009-11-1209:46drop_tables.sql

-rw-r—r-1wwzusers1322009-11-1209:46drop_talbe_list.sql

-rw-r-r-1wwzusers18652009-11-1209:46init_BPOS.sql

-rw-r—r-1wwzusers163122009-11-1209:46init_dic.sql

-rw-r-r—1wwzusers3662009-11-1209:46init_oracle_list.sql

-rw-r—r-1wwzusers11942009-11-1209:46init_order.sql

-rw-r—r—1wwzusers61982009-11-1209:46init_right.sql

-rw-r—r-1wwzusers2542009-11-1209:46oraclejist.sql

以bposuser用户登录,执行SQL文件

oracle@linux66:-/sql>sqlplusbposuser/bposuser

SQL*Plus:Release11.1.0.7.0-ProductiononThuNov1213:49:282009

Copyright(c)1982,2008,Oracle.Allrightsreserved.

Connectedto:

OracleDatabase11gEnterpriseEditionRelease11.1.0.7.0-MbitProduction

WiththePartitioning,OracleLabelSecurity,OLAP.DataMining,

OracleDatabaseVaultandRealApplicationTestingoptions

SQL>@sql/init_oracle_lisl.sql

26.如何搜索出前N条记录?

SELECT*FROMempLOYEEWHEREROWNUM<n;

27.为表创建序列

CREATESEQUENCEEMPSEQ.・,;

SELECTempseq.currvalFROMDUAL;

自动插入序列的数值

INSERTINTOempVALUES(empseq.nextval,'LEWIS','CLERK',79

02,SYSDATE,1200,NULL,20);

28.查看本用户下的各种对象的SQL脚本

表:

select*fromcat;

select*fromtab;

selecttable_namefromuser_tables;

视图:

selecttextfromuser_viewswhereview_name=upper(f&view_name1);

索引:

selectindex_name,table_owner,table_name,tablespace_name,status

fromuser_indexesorderbytable_name;

触发器:

selecttrigger_name,trigger_type,table_ownerztable_namezstatus

fromuser_triggers;

快照:

selectowner,name,master,table_name,last_refresh,nextfrom

user_snapshotsorderbyownerznext;

同义词:

select*fromsyn;

序列:

select*fromseq;

数据库链路:

select*fromuser_db_links;

约束限制:

selectTABLE_NZkMEfCONSTRAINT_N/kMEzSEARCH_CONDITION,STATUSfrom

user_constraints;

本用户读取其他用户对象的权限:

select*fromuser_tab__privs;

本用户所拥有的系统权限:

select*fromuser_sys_privs;

用户:

select*fromall_usersorderbyuser_id;

表空间剩余自由空间情况:

selecttablespace_namezsum(bytes)总字节数,max(bytes),count(*)

fromdba_free_spacegroupbytablespace_name;

数据字典:

selecttable_namefromdietorderbytable_name;

锁及资源信息:

select*fromv$lock;不包括DDL锁

数据库字符集:

selectname,value$fromprops$wherename=1NLS_CHARACTERSET1;

inin.ora参数:

selectname,valuefromv$parameterorderbyname;

SQL共享池:

selectsql_textfromv$sqlarea;

数据库:

select*fromv$database

控制文件:

select*fromV$controlfile;

重做日志文件信息:

select*fromV$logfile;

来自控制文件中的日志文件信息:

select*fromV$log;

来自控制文件中的数据文件信息:

select*fromV$datafile;

NLS参数当前值:

select*fromV$nls__parameters;

ORACLE版本信息:

select*fromv$version;

描述后台进程:

select*fromv$bgprocess;

查看版本信息:

select*fromproduct_component_version;

29.SQL*Plus系统环境变量有哪些?如何修改?

show和set命令是两条用于维护SQL*Plus系统变量的命令

SQL>showall-查看所有68个系统变量值

SQL>showuser一显示当前连接用户

SQL>s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论