oracle怎么操作 oracle技巧

Oracle数据库基本常用命令汇总以下是对Oracle中的数据库基本常用命令进行了总结介绍 需要的朋友可以过来参考下
得到数据库名和创建日期SELECT name created log_mode open_mode FROM v$database;
ORACLE数据库的计算机的主机名 ORACLE数据库的实例名及ORACLE数据库管理系统的版本信息SELECT host_name instance_name version FROM v$instance;
为了知道oracle数据库版本的一些特殊信息select * from v$version;
获取控制文件名字select * from v$controlfile;
得到Oracle数据库的重做日志配置信息SELECT group# members bytes status archived FROM v$log; select GROUP# MEMBER from v$logfile;
获取oracle的每个重做日志(成员)文件所存放的具 *** 置select * from v$logfile;
知道ORACLE数据库的备份和恢复策略和归档文件的具 *** 置archive log list
知道ORACLE数据库中到底有多少表空间以及每个表空间的状态select tablespace_name block_size status contents logging from dba_tablespaces; select tablespace_name status from dba_tablespaces;
知道每个表空间存在哪个磁盘上以及文件的名字等信息SELECT file_id file_name tablespace_name status bytes from dba_data_files; select file_name tablespace_name from dba_data_files;
知道Oracle数据库系统上到底有多少用户和都是什么时候创建的select username created from dba_users; select username DEFAULT_TABLESPACE from dba_users;
从控制文件中取出信息涉及到以下一些相关的命令
复制代码代码如下: select * from v$archived select * from v$archived_log select * from v$backup select * from v$database select * from v$datafile select * from v$log select * from v$logfile select * from v$loghist select * from v$tablespace select * from v$tempfile
控制文件由两大部份组成 可重用的部份和不可重用的部分 可重用的部分的大小可用 CONTROL_FILE_RECORD_KEEP_TIME 参数来控制 该参数的默认值为 天 即可重用的部份的内容保留 天 一周之后这部份的内容可能被覆盖 可重用的部份是供恢复管理器来使用的 这部份的内容 可以自动扩展 Oracle数据库管理员可以使用CREAT DATABASE或 CREAT CONTROLFILE语句中的下列关键字(参数)来间接影响不可重用的部份的大小
复制代码代码如下: MAXDATAFILES MAXINSTANCES MAXLOGFILES MAXLOGHISTORY MAXLOGMEMBERS
查看控制文件的配置SELECT type record_size records_total records_usedFROM v$controlfile_record_section;
如果您的显示被分成了两部分 您需要使用类似于set pagesize 的SQL*Plus命令先格式化输出 有关的格式化输出命令有以下这些record_size为每个记录的字节数 records_total 为该段所分配的记录个数 records_used 为该段所使用的记录个数
知道控制文件中的所有数据文件(DATAFILE) 表空间(TABLESPACE) 和重做日志(REDO LOG)所使用的记录情况SELECT type record_size records_total records_used FROMv$controlfile_record_section WHERE type IN ( ‘DATAFILE ‘TABLESPACE ‘REDO LOG );
获取控制文件名字select value from v$parameter where name = control_files ; 或者 select * from v$controlfile
如何在一个已经安装的Oracle数据库中添加或移动控制文件呢?以下是在一个已经安装的Oracle数据库中添加或移动控制文件的具体步骤
a 利用数据字典v$controlfile来获取现有控制文件名字
b 正常关闭Oracle数据库
c 将新的控制文件名添加到参数文件的CONTROL_FILES参数中
d 使用操作系统的复制命令将现有控制文件复制到指定位置
e 重新启动Oracle数据库
f 利用数据字典v$controlfile来验证新的控制文件名字是否正确
g 如果有误重做上述操作 如果无误删除无用的旧控制文件
注 如果您使用了服务器初始化参数文件(SPFILE) 您不能关闭Oracle数据库而且应该在第 步使用alter system set control_files的Oracle命令来改变控制文件的位置
复制代码代码如下: SQL alter system set control_files = ‘D:\Disk \CONTROL CTL ‘D:\Disk \CONTROL CTL ‘D:\Disk \CONTROL CTL SCOPE=SPFILE;
由于控制文件是一个极其种要的文件 除了以上所说的将控制文件的多个副本存在不同的硬盘上的保护措施外 在数据库的结构变化之后 您应立即对控制文件进行备份 可以用Oracle命令来对控制文件进行备份 alter database backup controlfile to ‘D:\backup\control bak ;
您也可将备份到一个追踪文件中 该追踪文件包含有重建控制文件所需的SQL语句 可使用以下SQL语句来产生这一追踪文件 alter database backup controlfile to trace;
lishixinzhi/Article/program/Oracle/201311/19116
oracle常用的快捷键1、Alt F1、Ctrl Escoracle怎么操作:
打开 "Applications"(应用程序)菜单 。
2、Alt F2、Meta R:
显示 "Run Applications"(运行应用程序)对话框 。有关如何运行应用程序oracle怎么操作的更多信息oracle怎么操作,请参见运行应用程序 。
3、Print Screen:
获取整个桌面的屏幕抓图 。有关获取屏幕抓图的更多信息 , 请参见获取屏幕抓图 。
4、Alt Print Screen:
获取当前聚焦窗口的屏幕抓图 。
5、Ctrl Alt 方向键:
按指定方向切换工作区 。有关使用多个工作区的更多信息,请参见工作区概述 。
6、Ctrl Alt D:
最小化所有窗口并将焦点赋予桌面 。
7、Alt Tab:
在窗口间切换 。将显示一个窗口列表,您可以从中进行选择 。释放键可选择一个窗口 。您可以按 Shift 键按相反的顺序循环查看窗口 。
8、AltEsc:
在窗口间切换 。释放键可选择一个窗口 。使用 Shift 键可按相反的顺序循环查看窗口 。
9、Ctrl Alt Tab:
在面板和桌面之间切换焦点 。将显示一个项目列表,您可以从中选择项目 。释放键可选择一个项目 。您可以按 Shift 键按相反的顺序循环查看项目 。
扩展资料
应用程序快捷键——
Ctrl N:创建新文档或窗口 。
Ctrl X:剪切所选的文本或区域并将其放在剪贴板中 。
Ctrl C:将所选的文本或区域复制到剪贴板中 。
Ctrl V:粘贴剪贴板的内容 。
Ctrl Z:取消上次操作 。
Ctrl S:将当前文档保存到磁盘上 。
F1:装入应用程序的联机帮助文档 。
oracle对表的基本操作 子查询目标
子查询是一种把查询的结果作为参数返回给另一个查询的一种查询
子查询可以让你将多个查询绑定在一起
嵌套子查询
多层子查询
相关子查询
可接受外部的引用
exists/any/all
any:与子查询中的每一行与主查询进行比较 并对子查询中的每一行返回一个true值
some 结果与any一样
all 子查询结果都满足条件 才会返回true
DML
数据库插入
insert value
insert select
update update table set col=value
delete
DDL
创建和操作表
create
存储参数 storage(initial size next size minextents value pctincrease value)初始分配空间 追加的长度 最小追加长度 每次追加的百分比或进行下一次追加
用已存在的表创建新表
create table new_t(num name amount) as(select * from old_t where amount )
alter
加入一列到已经存在的表中
修改已经存在的表中的某一列
ALTER TABLE BILLS MODIFY NAME CHAR( );将表中某字段改为长度 个字符
ALTER TABLE NEW_BILLS ADD MENTS CHAR( );向表中加一列
alter不能用于对一个数据库增加或删除字段 但可以将某列由not null改为null
drop
drop table table_name;
创建视图和索引
视图 常被称为虚表 create view 视图是一个数据库对象 他允许用户从一个表或一组表中建立一个 虚表 它本身没有数据 仅仅是一条查询语句 它可以方便的在各个表中进行联合查询 这对用户来说是很方便的 其次 可以增加安全性 屏蔽一些不想让无权限的用户看一些表中的数据即隐藏了基本表 这同时也可以隐藏着其中的复杂性 有时更改起来也很方便而不必涉及到应用程序 如一个表中有 列数据 我只想让其他用户看到 列 这时候视图就会显得十分方便 如表school 有ID name lesson三项 我只需要显示其中 项 实例如下
子查询目标 子查询是一种把查询的结果作为参数返回给另一个查询的一种查询子查询可以让你将多个查询绑定在一起嵌套子查询多层子查询相关子查询可接受外部的引用exists/any/allany:与子查询中的每一行与主查询进行比较 并对子查询中的每一行返回一个true值some 结果与any一样all 子查询结果都满足条件 才会返回true
DML 数据库插入 insert valueinsert selectupdate update table set col=valuedelete
DDL 创建和操作表create存储参数 storage(initial size next size minextents value pctincrease value)初始分配空间 追加的长度 最小追加长度 每次追加的百分比或进行下一次追加用已存在的表创建新表 create table new_t(num name amount) as(select * from old_t where amount )alter 加入一列到已经存在的表中 修改已经存在的表中的某一列ALTER TABLE BILLS MODIFY NAME CHAR( );将表中某字段改为长度 个字符ALTER TABLE NEW_BILLS ADD MENTS CHAR( );向表中加一列alter不能用于对一个 数据库 增加或删除字段 但可以将某列由not null改为nulldropdrop table table_name;
创建视图和索引视图 常被称为虚表 create view 视图是一个数据库对象 他允许用户从一个表或一组表中建立一个 虚表 它本身没有数据 仅仅是一条查询语句 它可以方便的在各个表中进行联合查询 这对用户来说是很方便的 其次 可以增加安全性 屏蔽一些不想让无权限的用户看一些表中的数据即隐藏了基本表 这同时也可以隐藏着其中的复杂性 有时更改起来也很方便而不必涉及到应用程序 如一个表中有 列数据 我只想让其他用户看到 列 这时候视图就会显得十分方便 如表school 有ID name lesson三项 我只需要显示其中 项 实例如下
所以在适当的时候 十分有必要在众多表中建立视图
索引 索引是与磁盘上数据的存储方式不同的另外一组数据的方法 索引的特例是表中记录一句其在磁盘上的存储位置显示 索引可以在表内创建一个列或列的组合 通过对正确的 特定的两个表的归并字段进行索引可以获得明显的好处 create index
ps 视图和索引是两个完全不同的对象 但有一点是相同的 它们都与一个表或数据库相关联 尽管每一个对象只能与一个特定的表相关联 但它们还是通过对数据的预排序和预定义显著地提高了表的工作性能
使用视图 create view view_name(col col ……) as select table_name(col col ……) from table_name;
select规则 不能使用union 不能使用order by 但使用group by有其相同功能
DML的规则 对于多表视图不能使用delete
除非非空列都出现在视图中 否则不能使用insert
对于一个归并(merger)的表插入或更新 所有被更新的记录必须属于同一个物理表
如果创建视图时使用dintinct子句 就不能插入或更新这个视图
不能更新视图中的虚拟列(它是用计算字段得到的)
删除视图:drop view view_name;
使用索引
索引可以让存储于磁盘上的数据进行重新排序
使用索引的原因 在使用unique关键字时前执行的保证数据的完整性
可以容易的用索引字段或其他字段进行排序
提高查询执行速度
索引的概念
两种方法从数据库中获得数据 顺序访问方式 需要sql检查每一个记录以找到与之匹配的 此法效率很低 但它是使记录准确定位的唯一方法使用索引的的直接访问方式 sql采用树形结构来存储和返回所以数据 用以指示的数据存储在树的最末端(也就是叶子) 它们被称为结点(也可以叫叶 子) 每个结点中有一个指向其他结点的指针 结点左边的值只是它的双亲结点 结点右边的值则是孩子结点或叶子 sql将从根结点开始找到所需的数据
ps 当查询没有使用索引的表时 查询通常是全表搜索后才会得到结果 全表搜索会让数据库服务程序遍历过表中的所有记录然后返回给定条件的记录 索引可以让数据库服务程序快速的定位到表中的确定行
create index index_name on table_name(column_name [column_name ] );
SQL Server 和ORACLE允许你创建成簇的索引 Informix和ORACLE允许你指明列名是按升序排列还是按降序排列
使用索引不会对表中的物理存储造成影响
order by和索引的区别
使用order by子句时 每次运行它都需要重新进行排序 而使用索引时 数据库会建立一个物理索引对象(树结构) 每次运行查询时都访问同一个索引
当表被删除时 所有与之相关的索引也将被删除
使用索引的技巧
对于小表来说 使用索引对于性能不会有任何提高
当你的索引列中有极多的不同数据和空值时 索引会使性能有极大的提高
当查询要返回的数据很少时(少于全部数据的 %) 索引可以优化你的查询 如果要返回的数据很多时 索引会加大系统开销
索引可以提高数据的返回速度 但它使得数据的更新操作变慢 (对记录和索引进行更新时请不要忘记先删除索引 当执行完更新操作后 恢复索引即可 对于一次特定的操作 系统可以保存删除的索引 个小时 在这个时间内数据更新完成后你可以恢复它 )
索引会占用数据库空间
可以提高归并速度
大多数数据库系统不允许对视图使用索引
不要对经常需要更新或修改的字段创建索引 否则会降低性能
不要将索引与表存储在同一个驱动器上 分开存储会去掉访问冲突从而使结果返回的更快
复合索引
对多个字段进行索引(一个索引包含多个列)
CREATE INDEX ID_CMPD_INDEX ON BILLS( ACCOUNT_ID AMOUNT );尽量将经常在查询中使用的字段放在最前边
复合索引的性能与单个字段的索引相比是无法判定的
创建索引时使用unique关键字
复合索引通常使用unique关键字来防止有相同数据的多个记录多次出现 (oracle 不支持 从 i开始支持)
索引与归并
当查询中使用了复杂的归并时 你的select语句会好用很长时间
在归并时对字段创建索引可以显著得提高查询反应速度 但创建太多的索引 会使性能下降而不是提高
作为一个规 则你应该对表中的唯一属性的字段或你用以归并操作的字段来创建索引
群集(簇)的使用
当 使用群集索引时 数据在表中的物理排序方式会被修改 使用群集索引通常比传统的不使用群集索引速度要快 ORACLE 中群集的概念与此不同 当使用ORACLE 关系数据库系统时 群集就是一个像数据或表一样的对象 群集一般是存储了表的共有字段以提高对表的访问速度
【oracle怎么操作 oracle技巧】 oracle 的例子
CREATE CLUSTER [schema ]cluster (column datatype [ column datatype] )
[PCTUSED integer] [PCTFREE integer] [SIZE integer [K|M] ]
[INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace]
[STORAGE storage_clause] [!!under!!INDEX | [HASH IS column] HASHKEYS integer]
你随后创建的其于该表的群集的索引会被加入到群集中 然后把表也加入群集中 你应该只将经常需要归并的表加入到群集 不要向群集中加入只需要用简单的SELECT 语句进行个别访问的表
事务处理控制
事务控制
事务控制(事务处理)指关系数据库系统执行数据库事务的能力 (逻辑分组 它有自己的开始和结束)
事务 逻辑上必须完成的一命令序列的单位
单元工作期 事务的开始和结束时期
开始事务处理
SET TRANSACTION {READ ONLY | USE ROLLBACK SEGMENT segment}
可以在下列语句中使用READ ONLY选项 SELECT LOCK TABLE SET ROLE ALTER SESSION ALTER SYSTEM
有些数据库支持SET AUTOMIT [ON | OFF]
结束事务处理
MIT [WORK][ MENT text | FORCE text [ integer] ] ;
MIT (TRANSACTION | TRAN | WORK) (TRANSACTION_NAME)
取消事务处理
这必须是在MIT 之前 ROLLBACK 语句必须在一个事务之中运行 它可以一直撤消到事务的开始
在事务中使用保存点
SAVEPOINT savepoint_name;
ROLLBACK TO SAVEPOINT savepoint_name;
数据库安全
技巧要带着下边的问题去规划你数据库系统的安全性
谁应该得到数据库管理员权限?
有多少个用户需要访问数据库系统?
每个用户应该得到什么样的权限与角色?
当一个用户不再访问数据库时应该如何去删除它?
oracle使用三个结构来实现安全性 用户 角色 权限
用户
CREATE USER user
IDENTIFIED {BY password | EXTERNALLY}
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace]
[QUOTA {integer [K|M] | UNLIMITED} ON tablespace]
[PROFILE profile]
如 果选择了EXTERNALLY 选项 ORACLE 将会依赖于你登录进入计算机系统的用户名和密码 也就是说当你登录进行计算机时你就已经登录进行了ORACLE 我们推荐你使用IDENTIFIED BY 子句强制用户在登录进行系统时输入密码IDENTIFIED BY PASSWORD
角色
GRANT role TO user [WITH ADMIN OPTION];
REVOKE role from user;
lishixinzhi/Article/program/Oracle/201311/16734
Oracle数据库基本操作步骤是怎样的呢手动创建数据库通常包含如下操作步骤: 1、确定新建数据库名称和实例名称; 2、确定数据库管理员的认证方式; 3、创建初始化参数文件; 4、创建实例; 5、连接并启动实例; 6、使用create database语句创建数据库; 7、创建附加的表空间;
oracle数据库入门教程oracle是块结构语言,oracle程序划分成几个部分,并在每个部分中写入逻辑代码块,每个块由三个子部分组成 。
声明部分:此部分是以关键字DECLARE开头 。这是一个可选部分,并定义了程序中要使用的所有变量,游标,子程序和其他元素 。
可执行命令部分:此部分包含在关键字BEGIN和END之间 , 这是一个强制性部分 。由程序的可执行oracle语句组成 。应该有至少一个可执行代码行,可以只是一个NULL命令,表示不执行任何操作 。
异常处理部分 :此部分以关键字EXCEPTION开头 。这是一个可选部分,包含处理程序中错误的异常 。
每个oracle语句以分号(;)结尾 。使用BEGIN和END可以将oracle块嵌套在其他oracle块中 。以下是Poracle块的基本结构 。
Hello World示例:
END;行表示oracle块的结尾 。要从oracle命令行运行代码,需要在代码的最后一行之后键入/字符 。当上述代码在oracle提示符下执行时 , 它会产生以下结果:
oracle标识符:oracle标识符是常量,变量,异常,过程,游标和保留字 。标识符包括一个字母,可选地后跟多个字母,数字,美元符号,下划线和数字符号 , 不得超过30个字符 。
默认情况下,标识符不区分大小写 。例如,可以使用integer或INTEGER来表示一个数值 。不能使用保留关键字作为标识符 。
扩展资料
oracle注释程序:注释可以在编写的oracle代码中包含的说明性文字,并帮助其他人阅读源代码 。所有编程语言都允许某种形式的注释 。
oracle支持单行和多行注释 。注释中的所有字符都被oracle编译器忽略 。oracle单行注释以分隔符开头 --(双连字符),多行注释由/*和*/括起来 。
当上述代码在oracle提示符下执行时,会产生以下结果:
oracle变量的名称由可选的字母,数字 , 美元($)符号,下划线和数字符号组成 , 不能超过30个字符 。默认情况下,变量名不区分大小写 。不能将保留的oracle关键字用作变量名称 。
oracle编程语言允许定义各种类型的变量,如:日期时间数据类型 , 记录,集合等,我们将在后面的章节中介绍 。在本章中仅学习基本的变量类型 。
oracle怎么操作的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle技巧、oracle怎么操作的信息别忘了在本站进行查找喔 。

    推荐阅读