当前位置:文档之家› Oracle数据库

Oracle数据库

Oracle数据库
Oracle数据库

Oracle数据库

1、登陆Oracle数据库

A)配置监听文件目录Home\Oracle\ora92\network\admin\listener.ora

Protocol=TCP

SID_NAME=实例名

GLOBAL_DBNAME=https://www.doczj.com/doc/113507593.html,

B)启动监听服务OracleOraHome92TNSListener

C)启动实例服务OracleService[实例名]

2、用户

1)Scott/tiger

2)system/

3)sys/

创建用户:create user 用户名

identified by “密码”

default tablespace 表空间名(默认表空间)

temporary tablespace 表空间名(临时表空间);

修改密码:alter user 用户名 identified by “密码”;

删除用户:drop user 用户名cascade;

用户登陆:conn 用户名/密码;

3、扩展知识点

a)用“I”或“/”看缓冲区

b)用$+dos命令执行dos命令

c)用@+目录+脚本文件.sql,执行sql脚本

d)在运行窗口输入sqlplusw /nolog 运行sqlplusw时无登陆窗口

e)在dos窗口输入net start/stop 服务名称,可开启/关闭服务

f)找回密码

●Sqlplusw /nolog 运行窗口

●Conn / as sysdba;

●Alter user 用户名 identified by“密码;

g)设置sqlplusw窗口格式

●Set pagesize 100;

●Set linesize 100;

●Set serverout on/off;

●Column 列名 format a数字;//调整列宽

h)Desc查看表结构

i)Raise 自定义异常名抛出一个自定义异常

j)Show error 显示错误信息

4、创建表空间

Conn system/welcome;

Create tablespace 表空间名

Datafile ‘目录+文件名.DBF’

Size 大小[K/M]

autoExtend off/on(自动扩展on,反之off);

5、授权

Grant connection to 用户名允许用户连接数据库

Grant resource to用户名允许用户使用数据库中的空间

Grant sequence to用户名允许用户创建序列(标识列)

Grant select/update/insert/delete/all on 表名 to 用户名

6、SQL支持的命令类别

DDL数据定义语言create(创建)、alter(改变)、drop(删除)

DML数据操纵语言insert(插入)、select(选择)、delete(删除)、update(更新)

◆Select distinct(列名)from table;//类似分组,取出不重复的数据

◆系统表:all_tables,all_tab_columns,user_tab_columns

TCL事务控制语言commit(提交)、savePoint(保存点)、rollback(撤消)

◆Commit[work];

◆savePoint savePoint_ID;

◆rollback[work]/RollBack to [savePoint] savePoint_ID

DCL数据控制语言grant(授予权限)、revoke(收回权限)、

◆Grant 权限 on object_name to用户

◆Revoke 权限 on object_name from 用户

7

表以行为存储单位

行的限制小于8K

列的限制小于4K

1个8k的区空间,可以存储多行,但一行不能跨多个块空间

8、where和having区别

Where 作用于分组之前,对于表内的数据进行条件过滤

Having 作用于分组之后,对于分组以后的结果进行条件过滤

9、伪列

RowId 行在表内唯一的标识符,行在表中的地址的标识

RowNum 缓冲区中表的行号

10、集合操作

1)union联合

例:select orderno from order_master

Union

Select orderno from order_detail;

返回两个查询选定的所有不重复的行,也就是重复的行只有一次

2)union all 联合所有

例:select orderno from order_master

Union all

Select orderno from order_detial;

返回两个查询选定的所有行,包括重复行,也就是重复的行有两条或多条记录

3)interrsect 交集

例:select order from order_master

Intersect

Select orderno from order_detail;

返回两个查询中相同的行。

4) minus 减集

例:select order from order_master

minus

Select orderno from order_detail;

返回第一个查询中不在第二个查询中的行

11、连接操作符(||)

用于连接两个或多个字符串,合并成为一个字符串,或者将字符串与数字合并在一起

12、SQL函数

1)日期函数

2) 字符串函数

3

4)转换函数

A)to_char(d|n [,fmt]) d:日期,n:数字,fmt:d/n的格式

例:select to_char(sysdate,

` 'YYYY"年"fmMM"月"fmDD"日"HH24:MI:SS')

From dual;

输出当前系统时间,并以fmt格式显示

B)to_date(char [,fmt])将char转换成为日期类型,fmt为描述char的格式5

6)分析函数

1、Row_number() over ([partition by column] order_by_子句)

例:

A):select ename,job,row_number() over(

order by sal desc) as sal_rank

From scott.emp;

B):select ename,job,row_number() over(

partition by deptno order by sal desc) as sal_rank

from scott.emp;

2、rank() over ([partition by column] order_by_子句)

3、dense_rank() over([partition by column] order_by_子句)

Rank():排位是以1开头的连续整数,具有相同的值,排号相同,序数跳

跃相应数值,即:如果两行的序数为1,则没有序数2,下一行

序数为3。

Dense_rank():类似rank(),只是具有相等值的行排位相同,并且排位是连续

的。

13、簇

创建表时指定使用簇,表创建后不能创建簇。

2、创建主键表

3、创建外键表

4、为簇创建索引

5、插入数据

作用:防止两个集合的乘积出现多于的错误的数据,增加查询的速度。

14、锁

在事务提交时取消。

行级锁:select … for update [of column_list] [wait n/no wait]

表级锁:lock table table_name in lock_mode mode [no wait]

Lock_mode

15、表分区

1)在创建表结构时指定,不能对一个结构已创建的表创建分区

2)分区创建的分区方式不能修改

3) 不能具有long、longRaw数据的列

表分区的分区方法

A 范围分区B散列分区C复合分区D列表分区

1)范围分区(maxvalue为最大值)

Partition by range(列名)

(

Partition 分区名 value less than (分区边界值)[talbeSplace 表空间]

[,……]

)

2) 散列分区

Partition by hash(列名) partition 分区数 [store in 表空间列表]

Partition by hash(列名)

Partition 分区名 [tableSpace 表空间名]

[,……]

3)复合分区

Partition by range(列名)

subPartition by hash(列名)

subPartitions 分区数 [store in 表空间列表]

Partition 分区名 value less than (分区边界值)

[,……]

4)列表分区(default允许存储前面的分区不存在的记录)

Partition by list(列名)

Partition 分区名 values(分区边界值列表),

[……,]

Partition 分区名 values(default)

操作数据

Insert:无变化

Select:select * from 表名 partition(分区名)

分区维护操作

1)添加分区

Alter table 表名 add partition 分区名 values less than (范围) 2)删除分区

Alter table 表名 drop partition 分区名

3)截断分区

Alter table 表名 truncate partition 分区名

4)合并分区

Alter table 表名 merge partition 分区1,分区2 into 新分区名5)拆分分区

Alter table 表名 split partition 分区名 at(分区边界值)

into(分区1,分区2)

6)重命名

Alter table 表名 rename partition 旧名 to 新名

16、同义词

Create [or replace] [public] synonym [用户名.] 同义词名称for [用户名.]同义词对象的名称(如:表名,视图等)drop [public] synonym [用户名.]同义词

17、序列

Create sequence 序列名

[start with 整数]

[increment by 整数]

[maxValue 整数|noMaxValue]

[minValue 整数|noMinValue]

[cycle | noCycle]

[cache 整数|noCache];

Cycle :指定序列达到最大或最小后重新从头开始生成值

Cache :预先分配一组

属性:

nextValue:用序列名.该属性得到下一个序列的值

currValue:用序列名.该属性得到当前序列(最后一次序列)的值

18、索引

Create [unique] [bitmap] index 索引名

on 表名(列名列表)[tableSpace 表空间]

[reverse]

Reverse :倒序索引

19、游标

作用:一段存储区域,存放游标声明时所绑定的select语句查询的结果。

操作:

声明 cursor cursor_name is select ……

打开 open cursor_name

取值 fetch cursor_name into 行类型变量

关闭 close cursor_name

声明:申请一个空间,申请以后游标里面没有值

打开:执行select语句,游标指向第一行的上一行

取值:游标指针下移,取值

关闭:将游标值暂时放到缓冲区中

属性:

访问属性:

游标名%属性(显示游标)

Sql%属性(隐式游标)

REF游标

强型:有强制类型的返回值

弱型:无强制类型的返回值

声明:type 类型名 is REF cursor [return 记录类型]

20、子程序

Procedure:无返回值可以在参数名与类型名之间加out修饰

Create or replace procedure 过程名(参数数据类型 [:=默认值])

As

Begin

Null

Execption

End;

/

Function :有返回值

Create or replace function 函数名(参数数据类型 [:=默认值])

return 返回类型

As

Begin

Null

Execption

End;

/

Exec 过程名----在java或oracle中调用

Call 过程名() ----在C#或oracle中调用

21、plsql表

模访数组的非永久的索引表(多行单列)

声明:type 类型名 is table of 用户列类型(长度) index by binary_integer;

变量名类型名;

访问:变量名(下标)

Plsql表的方法

22、record

存储一行的记录(单行多列)

声明:type 类型名 is record (列名类型名);

变量名记录类型;

访问:变量名.属性

23、包

数据库提供的管理对象,处理相关问题的变量、常量、临时子程序包内变量的范围是:在当前会话周期内

声明:

实现

24、触发器

Create or replace trigger触发器名称

[before | after | instead of]

{insert | delete | update [of column [,column…]]}

On 表名/视图名

[referencing [new as 新行名称] [old as 旧行名称]]

[for each row]

[when(条件)]

[declare]

Begin

[exception]

End;

/

oracle常用命令及格式

oracle常用命令及格式 一:关于日志管理的 1.切换日志:sql> alter system switch logfile; 2.切换checkpoints:sql> alter system checkpoint; 3.增加日志组:sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size1m; 4.增加日志成员 sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5.改变日志文件名字或路径 sql> alter database rename file 'c:/oracle/oradata/oradb/re do01.log' sql> to 'c:/oracle/oradata/redo01.log'; (此处注意,那个文件路径的输入格式) 6.删除日志文件组:sql> alter database drop logfile group 3;

7.删除日志文件成员 sql> alter database drop logfile member 'c:/oracle/oradata/ redo01.log'; 8.清除日志文件内容 sql> alter database clear [unarchived] logfile 'c:/oracle/l og2a.rdo'; 二、关于表空间管理的 1.创建表空间 sql> create tablespace tablespace_name datafile 'c:\oracle\ oradata\file1.dbf' size100m, sql> 'c:\oracle\oradata\file2.dbf' size100mminimum extent 5 50k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0) sql> [online/offline] [permanent/temporary] [extent_managem ent_clause]

Oracle数据库编程

《Oracle数据库编程》练习 一、选择题(未标明多选的均为单选题) 1.关于Oracle中的实例描述,下列说法正确的是(多选):(cd ) A.实例是保存在硬盘上的文件,它不会随着数据库的启动/关闭而存在或消失。 B.实例是内存中的结构,是一种访问数据库的方式。 C.可以用语句Select instance_name FROM v$instance获得实例名。 D.一个实例可以访问多个数据库。 2.关于数据类型Char和Varchar2的描述,下列说法正确的是(多选):(bd )A.Char和varchar2都是字符型数据,Char是变长字符型,Varchar2是定长字符型。 B.某个字段类型为Char(200),那么对于这个字段的任何记录来说,所占的实际长度都为200个字符。 C.某个字段类型为Varchar2(200),那么对于这个字段的任何记录来说,所占的实际长度都为200个字符。 D.对于相同长度的Char和Varchar2类型数据,char的性能通常要比varchar2高。3.关于对空值的描述,下列说法正确的是:( a ) A.包含空值的任何算术表达式结果都等于空。 B.包含空值的连接字符串|| 等于与空字符串连接,结果还是空值。(实践过,不是空值) C.空值做为判断条件是写法是:判断字段=null。(is null / is not null ) D.表Emp中有5条记录,empID分别为1,2,3,4,5,那么查询语句Select * from Emp where empID not in (2,3,4,null)的执行后结果是2条记录。(实践过,为0条记录) 4.已知05年7月25日是星期一,那么函数

Oracle数据库试题及答案word版本

O r a c l e数据库试题及 答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。 (A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from scott.wz where wunit is null and rownum<5; (B)select*from myuser.wz where wunit = null and rownum<5; (C) select*from myuser.wz where wunit is null and rownum<6; (D)select*form scott.wz where wunit is null and rownum<6; 4、若当前日期为’25-5月-06’,以下( D )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5))

Oracle数据库操作命令

Oracle数据库操作命令 1.登录数据库: SQL Window 与Command Window Sqlplus system/密码@orcl 2.关闭数据库: Sqlplus/as sysdba Shutdown immediate 3.启动数据库: Sqlplus/as sysdba(已登录时可不用再写) Startup 4.查看参数 ①查看数据库:show parameter db_name; ②查看实例:show parameter instance; ③查看实例名:show parameter instance_name; ④查看Oracle数据库中当前用户所拥有的表: select table_name from user_tables; ⑤查看Oracle数据库中当前用户所能访问的表: Select user,table_name from all_tables; ⑥查看Oracle数据库中本用户下所有的列: Select table_name,column_name from user_tab_columns; Oracle表空间: 5.在数据库orcl中,创建表空间的命令: Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M; 6.为表空间中添加数据文件命令格式: Alter tablespace 表空间名add datafile ‘D:\表空间名.dbf’ size 100M; 7.创建表空间后,在数据字典中获得其相关信息(查看表空间的数据文件): Select tablespace_name,file_name from dba_data_files; 8.创建表空间时,还可指定数据文件自动扩展机制(指定每次增长尺寸为5M) Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M; 允许物理文件无限制增长存在一定风险,此时可在创建时设定表空间的最大大小(如500M) Create tablespace 表空间名datafile ‘C:\表空间名.dbf’ size 20M autoextend on next 5M maxsize 500M; 9.修改数据库的默认表空间: Alter database default tablespace 表空间名; 查看某用户的缺省表空间: Select username,default_tablespace from dba_users where username=’用户名’; 修改某用户的缺省表空间: Alter user 用户名default tablespace 表空间名; 10.创建数据库用户: Create users 用户名identified by 密码default tablespace 表空间名; 修改用户的密码:

oracle数据库试题

ORACLE数据库试题 74 姓名:戴希引 一、选择题(总分50分,每题1分,*为多选)42 1.下列不属于ORACLE的逻辑结构的是(C) A 区 B 段 C 数据文件 D表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户( A ) A . SYSDBA B. SYSTEM C. SCOTT D. SYS 3 下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(A ) A 授予了CONNECT的角色,但没有授予RESOURCE的角色 B没有授予用户系统管理员的角色 C数据库实例没有启动 D数据库监听没有启动 4. 在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是( C ) A 游标打开 B游标关闭 C当前记录的数据加载到变量中 D创建变量保存当前记录的数据 5. 在Oracle中,下面关于函数描述正确的是( A D)* A SYSDATE函数返回Oracle服务器的日期和时间 B ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数 C ADD_MONTHS日期函数返回指定两个月份天数的和 D SUBSTR函数从字符串指定的位置返回指定长度的子串 6. 阅读下面的PL/SQL程序块: BEGIN INSERT INTO employee(salary,last_name,first_name)VALUES(35000,’Wang’,'Fre d ’); SAVEPOINT save_a; INSERT INTO employee(salary,last_name,first_name) VALUES(40000,’Woo’,'David’); SAVEPOINT save_b; DELETE FROM employee WHERE dept_no=10; SAVEPOINT save_c; INSERT INTO employee(salary,last_name,first_name) VALUES(25000,’Lee’,'Bert’); ROLLBACK TO SAVEPOINT save_c;

Oracle SQLPlus 常用命令及解释

Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

Oracle数据库定时自动备份批处理代码

echo off set pweek=%date:~-1% set fn=e:\bakdb\gdosys_dqgis%Date:~0,4%%Date:~5,2%%Date:~8,2% if %pweek% equ 日( exp system/sysorcl file=%fn%.dmp owner=gdosys,dqgis log=%fn%.log rar a %fn%.rar %fn%.* del %fn%.dmp del %fn%.log ) else ( exp system/sysorcl file=d:\bakweek\%date:~8,2%.dmp owner=gdosys,dqgis log=d:\bakweek\%date:~8,2%.log rem exp system/sysorcl file=d:\bakweek\%date:~11,3%.dmp owner=gdosys log=d:\bakweek\%date:~11,3%.log ) ———————————————————————————————————————————— hi.baidu./lvns/blog/item/beb171d3c2fa2cd6a8ec9a2d.html 这是最近写的一个Oracle数据库自动备份的批处理,经过测试正常运行,记录如下。包括两部分,逻辑备份和冷备份,如有不完整之处,还往看到本文的高手指导! 注:这些容是本人经过一番学习和多次测试调试后的结果,如果想,请以连接的形式,合作!第一部分,逻辑备份 下面是:AutoBackup_Logic.bat --逻辑备份的主文件,直接在计划任务中调用就可以了。echo off rem rem 需要配置的参数说明: rem BAT_HOME:即本批处理所在的目录; rem DUMP_DIR:即要备份到的数据文件目录,存在与数据字典表:dba_directories 中。 rem set BAT_HOME=E:\BAT set DUMP_DIR=E:\Temp\DBBackup set BKFILE=%Date:~0,4%%Date:~5,2%%Date:~8,2% set HHMMSS=%time:~0,2%%time:~3,2%%time:~6,2% call %BAT_HOME%\LogicBackup.bat %DUMP_DIR% >%BAT_HOME%\LogicBackup_%BK FILE%%HHMMSS%.log echo Completed! 下面是:LogicBackup.bat echo off rem call LogicBackup.bat %DUMP_DIR% rem ====================================================================== ==================== rem 本批处理实现支持expdp数据泵的Oracle数据库版本的数据库逻辑备份,流程为:导出数据到

oracle数据库基本命令

oracle数据库基本命令 oracle安装后 sys:超级管理员(dba),默认密码为:change_on_install system:系统管理员(dbaoper),默认密码为:manager; sys与system的不同在于sys能够create datebase而system则不能。scott:普通用户,默认密码:tiger 1.切换用户:conn 用户名/密码; SQL> conn system/manager; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as system SQL> conn sys/change_on_install as sysdba; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS 注意:sys与其他用户在命令窗口切换时的不同。 2.修改密码:passw username;(普通用户可以修改自己密码,管理员可以修改其他人的密码) 3.显示当前用户。show user; 4.断开数据库同时推出:exit; 文件操作 5.运行sql脚本,start d:\a.sql; 6.编辑指定的sql脚本。Edit d:\a.sql; 7.将屏幕上指定的内容输出到指定文本中去。spool e:\b.sql;执行语句;spool off;

8.显示设置环境变量; 可以用来控制输出的各种格式,如果希望永久保存可以修改glogin.sql脚本。 Linesize(行宽): show linesize;显示行宽 set linesize 90;设置行宽为90个字符。 Pagesize(页面大小): Show pagesize;显示页面大小 Set pagesize 180;设置页面的小。 (做报表时可以用。一页设定几行。)

Oracle数据库实例及其相关概念

Oracle数据库实例及其相关概念2010-11-24 00:00 出处:中国IT实验室作者:佚名 完整的Oracle数据库通常由两部分组成:Oracle数据库实例和数据库。 用数据库安全策略防止权限升级攻击 C++虚函数的显式声明 完整的Oracle数据库通常由两部分组成:Oracle数据库实例和数据库。 1)数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等); 2)Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。 在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。Oracle有一个很大的内存快,成为全局区(SGA)。 一、数据库、表空间、数据文件 1.数据库 数据库是数据集合。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。 通常情况了我们称的“数据库”,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。 数据库的数据存储在表中。数据的关系由列来定义,即通常我们讲的字段,每个列都有一个列名。数据以行(我们通常称为记录)的方式存储在表中。表之间可以相互关联。以上就是关系模型数据库的一个最简单的描述。

当然,Oracle也是提供对面象对象型的结构数据库的最强大支持,对象既可以与其它对象建立关系,也可以包含其它对象。关于OO型数据库,以后利用专门的篇幅来讨论。一般情况下我们的讨论都基于关系模型。 2.表空间、文件 无论关系结构还是OO结构,Oracle数据库都将其数据存储在文件中。数据库结构提供对数据文件的逻辑映射,允许不同类型的数据分开存储。这些逻辑划分称作表空间。 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。 每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。在Oracle7.2以后,数据文件创建可以改变大小。创建新的表空间需要创建新的数据文件。数据文件一旦加入到表空间中,就不能从这个表空间中移走,也不能与其它表空间发生联系。 如果数据库存储在多个表空间中,可以将它们各自的数据文件存放在不同磁盘上来对其进行物理分割。在规划和协调数据库I/O请求的方法中,上述的数据分割是一种很重要的方法。 3.Oracle数据库的存储结构分为逻辑存储结构和物理存储结构: 1)逻辑存储结构:用于描述Oracle内部组织和管理数据的方式; 2)物理存储结构:用于描述Oracle外部即操作系统中组织和管理数据的方式。 二、Oracle数据库实例

oracle11g常用命令.

第一章:日志管理 1. forcing log switches sql> alter system switch logfile; 2. forcing checkpoints sql> alter system checkpoint; 3. adding online redo log groups sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo' size 1m; 4. adding online redo log members sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5. changes the name of the online redo logfile sql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log' sql> to 'c:/oracle/oradata/redo01.log'; 6. drop online redo log groups sql> alter database drop logfile group 3; 7. drop online redo log members

sql> alter database drop logfile member 'c:/oracle/oradata/redo01.log'; 8.clearing online redo log files sql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo'; https://www.doczj.com/doc/113507593.html,ing logminer analyzing redo logfiles a. in the init.ora specify utl_file_dir = ' ' b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log'; c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log', sql> dbms_logmnr.new; d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log', sql> dbms_logmnr.addfile; e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora '; f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters sql> v$logmnr_logs; g. sql> execute dbms_logmnr.end_logmnr; 第二章:表空间管理 1. create tablespaces sql> create tablespace tablespace_name datafile 'c:\oracle\oradata\file1.dbf' size 100m,

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实例。( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务,非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可以访问多行。( F )

Oracle数据库的空间数据类型

Oracle数据库中空间数据类型随着GIS、CAD/CAM的广泛应用,对数据库系统提出了更高的要求,不仅要存储大量空间几何数据,且以事物的空间关系作为查询或处理的主要内容。Oracle数据库从9i开始对空间数据提供了较为完备的支持,增加了空间数据类型和相关的操作,以及提供了空间索引功能。 Oracle的空间数据库提供了一组关于如何存储,修改和查询空间数据集的SQL schema与函数。通过MDSYS schema规定了所支持的地理数据类型的存储、语法和语义,提供了R-tree空间数据索引机制,定义了关于空间的相交查询、联合查询和其他分析操作的操作符、函数和过程,并提供了处理点,边和面的拓扑数据模型及表现网络的点线的网络数据模型。 Oracle中各种关于空间数据库功能主要是通过Spatial组件来实现。从9i版本开始,Oracle Spatial空间数据库组件对存储和管理空间数据提供了较为完备的支持。其主要通过元数据表、空间数据字段(即SDO_GEOMETRY字段)和空间索引来管理空间数据,并在此基础上提供一系列空间查询和空间分析的函数,让用户进行更深层次的GIS应用开发。Oracle Spatial使用空间字段SDO_GEOMETRY存储空间数据,用元数据表来管理具有SDO_GEOMETRY字段的空间数据表,并采用R树索引和四叉树索引技术来提高空间查询和空间分析的速度。 1、元数据表说明。 Oracle Spatial的元数据表存储了有空间数据的数据表名称、空间字段名称、空间数据的坐标范围、坐标参考信息以及坐标维数说明等信息。用户必须通过元数据表才能知道ORACLE数据库中是否有Oracle Spatial的空间数据信息。一般可以通过元数据视图(USER_SDO_GEOM_METADATA)访问元数据表。元数据视图的基本定义为: ( TABLE_NAME V ARCHAR2(32), COLUMN_NAME V ARCHAR2(32), DIMINFO MDSYS.SDO_DIM_ARRAY, SRID NUMBER

Oracle数据库简介

oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用SQL数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle 数据库而言,在处理大量数据方面有些不如。 Oralce数据库的发展历程 Oralce数据库简介 Oracle简称甲骨文,是仅次于微软公司的世界第二大软件公司,该公司名称就叫Oracle。该公司成立于1979年,是加利福尼亚州的第一家在世界上推出以关系型数据管理系统(RDBMS)为中心的一家软件公司。 Oracle不仅在全球最先推出了RDBMS,并且事实上掌握着这个市场的大部分份额。现在,他们的RDBMS被广泛应用于各种操作环境:Windows NT、基于UNIX系统的小型机、IBM大型机以及一些专用硬件操作系统平台。 事实上,Oracle已经成为世界上最大的RDBMS供应商,并且是世界上最主要的信息处理软件供应商。由于Oracle公司的RDBMS都以Oracle为名,所以,在某种程度上Oracle己经成为了RDBMS的代名词。 Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。 Oracle数据库是基于“客户端/服务器”模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。 Oracle数据库有如下几个强大的特性: 支持多用户、大事务量的事务处理 数据安全性和完整性的有效控制 支持分布式数据处理 可移植性很强 Oracle大体上分两大块,一块是应用开发,一块是系统管理。 开发主要是写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力。管理则需要对Oracle 数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会丢失整个数据库,相对前者来说,后者更看重经验。 Oracle数据库服务器: Oracle数据库包括Oracle数据库服务器和客户端 Oracle Server是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个 Oracle DB和一个 Oracle Server实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优

oracle命令行大全

SQL*PLUS命令的使用大全 Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus 语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6.显示一个表的结构 SQL> desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MA T] format

Oracle数据库的日常使用命令(SAG_考核)

Oracle数据库的日常使用命令 1.基本知识 (2) 2.启动和关闭数据库 (3) 3.控制监听 (3) 4.数据库用户管理 (3) 5.Oracle的权限管理 (4) 6.更改字符集为中文 (5) 7.查询语句 (5) 8.表空间管理 (6) 9.数据文件被误删后的处理 (7) 10.查询当前系统的配置参数 (7) 11.显示当前用户 (8) 12.Oracle排错处理 (8) 13.查看表结构 (8) 14.查看数据库文件 (8) 15.将select查询出的结果保存至一个文件 (9) 16.存储过程 (9) 17.数据库的备份与恢复 (10) Export 转入程序 (10) Import 恢复程序 (12) 增量卸出/装入 (14)

18.如何查看各个表空间占用磁盘情况? (15) 19.如何知道数据裤中某个表所在的tablespace? (15) 20.内核参数的应用 (15) 21.如何单独备份一个或多个表? (16) 22.如何单独备份一个或多个用户? (16) 23.如何显示当前连接用户? (16) 24.如何外连接? (16) 25.如何执行脚本SQL文件? (17) 26.如何搜索出前N条记录? (18) 27.为表创建序列 (18) 28.查看本用户下的各种对象的SQL脚本 (18) 29.SQL*Plus系统环境变量有哪些?如何修改? (20) 30.如何在PL/SQL中读写文件? (20) 31.某个数据文件损坏,如何打开数据库? (21) 1. 基本知识 一个表空间只能属于一个数据库 每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上) 每个数据库最少有一个表空间(SYSTEM表空间) 建立SYSTEM表空间的目的是尽量将目的相同的表存放在一起,以提高使用效率,只应存放数据字典 每个数据库最少有两个联机日志组,每组最少一个联机日志文件 一个数据文件只能属于一个表空间 一个数据文件一旦被加入到一个表空间中,就不能再从这个表空间中移走,也不能再加入到其他表空间中 建立新的表空间需要建立新的数据文件

Oracle数据库应用

Oracle账户解锁 Oracle数据库自带了许多账户,但默认情况下,Oracle只对其中5个账户进行了解锁,分别是sys、system、dbsnmp、sysman和mgmt_view,而其他账户出于锁定状态,其中sys、system具有管理员权限。 查看Oracle账户的锁定状态: SQL>select username, account_status from dba_users; (expired)表示账户为过期状态(需要设置口令才能解除此状态) SQL>alter user scott account unlock; SQL>alter user scott identified by tiger; (为scott账户设置口令) SQL>select username, account_status from dba_users where username = 'SCOTT'; (通过数据字典dba_users查看scott账户的状态) Oracle数据库体系结构 一般Oracle数据库在物理上主要由3种类型的文件组成,分别是数据文件(*.dbf)、控制文件(*.ctl)和重做日志文件(*.log)。还有参数文件、备份文件、归档重做日志文件,以及警告、跟踪日志文件等。

Oracle数据库从逻辑存储结构上来讲,主要包括表空间(tablespace)、段(segment)、区(extent)和数据块(block)。其中数据块都具有相同的结构:块头部、表目录、行目录、空闲空间、行空间。 Oracle进程结构: DBWn(Database Writer,数据库写入)进程 LGWR(Log Writer,日志写入)进程 CKPT(Check Point,检查点或检验点)进程 SMON(System Monitor,系统监控)进程 PMON(Process Monitor,进程监控)进程 ARCn(Archive Process,归档)进程 RECO(Recovery,恢复)进程 数据字典 Oracle数据字典的视图类型

登录oracle数据库时常用的操作命令整理

oracle系统默认的用户和密码是 创建数据库是创建的用户 scott 密码是 tiger sys 密码是 change_on_install system 密码是 manager sysman 密码是 oem_temp 也可以 sqlplus / as sysdba 不用密码登录!! 登录oracle数据库时常用的操作命令整理 1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。 2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i; 3、SQL>connect / as sysdba ;(as sysoper)或 connect internal/oracle AS SYSDBA ;(scott/tiger) conn sys/change_on_install as sysdba; 4、SQL>startup; 启动数据库实例 5、查看当前的所有数据库: select * from v$database; select name from v$database; desc v$databases; 查看数据库结构字段 7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限: SQL>select * from V_$PWFILE_USERS; Show user;查看当前数据库连接用户 8、进入test数据库:database test; 9、查看所有的数据库实例:select * from v$instance; 如:ora9i 10、查看当前库的所有数据表: SQL> select TABLE_NAME from all_tables;

Oracle数据库简答题_考试重点

1.简单描述Oracle数据库体系结构的组成及其关系? 答:Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。其中物理存储结构描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等组成。逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。实例是数据库运行的软件结构,由内存结构和后台进程组成。数据库运行过程中,用户的操作在内存区中进行,最终通过后台进行转化为对数据库的操作。 2、说明Oracle数据库物理存储结构的组成? Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、口令文件等。在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做日志文件的名称与位置,以及数据文件、重做日志文件的状态等。 3、说明Oracle数据库数据文件的作用? 数据文件中保存了数据库中的所有数据,包括数据字典以及用户数据。 4、说明Oracle数据库控制文件的作用? 控制文件保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做日志文件的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件。 5、说明Oracle数据库重做日志文件的作用? 重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。如果用户只对数据库进行查询操作,那么查询信息是不会记录到重做日志文件中的。 6、说明数据库逻辑存储结构的组成和相互关系。 Oracle9i数据库的逻辑存储结构分为数据块、区、段和表空间四种。其中,数据块是数据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。 7、说明数据库表空间的种类,以及不同类型表空间的作用。 数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间包括撤销表空间、临时表空间和用户表空间等。 SYSTEM表空间主要用于存储数据库的数据字典、PL/SQL程序的源代码和解释代码、数据库对象的定义。撤销表空间专门进行回退信息的自动管理。临时表空间是专门进行临时段管理的表空间。用户表空间用于分离不同应用的数据,而且能够减少读取数据文件时产生的I/O冲突。 8、说明数据库、表空间、数据文件以及数据库对象之间的关系。 一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数

相关主题
文本预览
相关文档 最新文档