![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Oracle基本操作
文章平均质量分 73
介绍Oracle的一些基本的操作技巧
睿思达DBA_WGX
从事数据库理论教学工作,有多年管理和维护Oracle、MySQL、SQL Server数据库的相关经验。
展开
-
Oracle 数据库内存不足导致的停库问题
oracle dg服务器内存不足问题原创 2022-11-10 00:27:43 · 2643 阅读 · 2 评论 -
Oracle 的开窗函数使用详解(二)
开窗函数原创 2022-08-10 17:48:41 · 685 阅读 · 16 评论 -
Oracle 的开窗函数使用详解(一)
开窗函数原创 2022-08-08 13:58:31 · 2144 阅读 · 10 评论 -
把 Oracle 数据库从 Windows 系统迁移到 Linux Oracle Rac 集群环境(4)—— 修改 oracle11g rac 集群的 scanIP
修改 oracle rac 集群的scanIP原创 2022-06-22 13:59:50 · 916 阅读 · 2 评论 -
把 Oracle 数据库从 Windows 系统迁移到 Linux Oracle Rac 集群环境(2)——将数据库转换为集群模式
oracle数据迁移原创 2022-06-17 13:19:31 · 472 阅读 · 1 评论 -
把 Oracle 数据库从 Windows 系统迁移到 Linux Oracle Rac 集群环境(1)——迁移数据到节点1
oracle数据迁移原创 2022-06-17 13:16:41 · 440 阅读 · 2 评论 -
把 Oracle 数据库从 Windows 系统迁移到 Linux 系统(虚拟机环境测试可用)
oracle数据迁移原创 2022-06-16 09:05:48 · 3080 阅读 · 1 评论 -
Oracle 表空间不足导致的系统无法登陆问题及解决方法
Oracle 表空间不足导致的系统无法登陆问题及解决方法某医院的 HIS 系统突然无法登陆,并且出现以下提示信息:初步判断时表空间不足导致的问题,登录服务器查看表空间信息如下:一、查看表空间信息SQL> select tablespace_name,file_name,user_bytes/1024/1024 sizeMB from dba_data_files order by tablespace_name;TABLESPACE_NAME原创 2022-02-13 13:19:02 · 3146 阅读 · 6 评论 -
使用 DBCA 命令 删除 Oracle 数据库
使用 DBCA 命令 删除 Oracle 数据库一、修改应答文件1、查看应答文件[oracle@oracle response]$ pwd/home/oracle/soft/database/response[oracle@oracle response]$ ll总用量 80-rwxr-xr-x. 1 oracle oinstall 44533 8月 27 2013 dbca.rsp-rw-r--r--. 1 oracle oinstall 25116 8月 27 2013 db_in原创 2021-11-29 01:44:49 · 2441 阅读 · 3 评论 -
Oracle Sqlplus 设置数据显示的行数、行宽等
Oracle Sqlplus 设置数据显示的行数、行宽等在使用 Oracle Sqlplus 对数据库进行操作时,通过设置数据显示的行数、行宽以及某些列的显示宽度,可以使数据的显示更加美观。一、设置页面显示的行数(pagesize)1、查看 pagesize 的当前值SQL> show pagesizepagesize 1002、设置页面显示的行数并查看效果SQL> set pagesize 8;SQL> select empno,ename,job,sal from e原创 2021-07-27 17:02:56 · 5472 阅读 · 3 评论 -
安装与配置 Oracle 11g RAC(16)—— 安装完成后重启系统 login 死循环问题
安装与配置 Oracle 11g RAC(16)—— 重启系统后导致 login 死循环问题在安装 Oracle 之后,重启系统后登录时出现 login 死循环,表现形式为:输入用户名和密码,回车确认后仍然提示输入用户名和密码。但使用 Xshell 可以正常登录。如下图所示:通过网上查询资料发现是因为配置 /etc/pam.d/login 文件错误导致的。原因如下:1、在安装 Oracle 之前配置系统环境时,在 /etc/security/limits.conf 文件中配置了一些系统限制(打开文原创 2021-07-20 12:35:55 · 461 阅读 · 1 评论 -
Oracle 表空间的扩容
Oracle 表空间的扩容一、表空间信息查询查询数据文件与表空间的信息,命令如下:select tablespace_name, round(bytes / (1024 * 1024), 0) total_space, blocks, autoextensible auto_ext, file_name from dba_data_files;TABLESPACE_NAME TOTAL_SPACE BLOCKS AUT原创 2021-07-01 14:05:01 · 478 阅读 · 1 评论 -
移动 oracle 数据文件和日志文件的方法
移动 oracle 数据文件和日志文件的方法数据库在运行过程中,由于某种原因(比如磁盘空间不足)需要移动数据文件或日志文件的位置。移动文件位置可以采用两种方法:(1)关闭数据库,移动数据文件或日志文件的位置。然后启动数据库到 mount 状态,使用 alter database 命令更改文件的位置信息。(2)不关闭数据库,修改表空间为 offline 状态,移动数据文件的位置。使用 alter tablespace 命令修改表空间对应的数据文件的位置信息。一、使用 alter database 命原创 2021-06-29 22:41:20 · 732 阅读 · 1 评论 -
使用RMAN备份与恢复数据库(10)——修复损坏的数据块
使用RMAN备份与恢复数据库(10)——修复损坏的数据块如果某个数据文件正常,但数据文件中的某些数据块损坏,可以使用RMAN修复。一、模拟数据块损坏1、新建表空间data03新建一个表空间data03,文件大小5M。SQL> create tablespace data03 datafile '/usr/local/oradata/orcl/data03.dbf' size 2m;...原创 2020-04-12 18:57:38 · 453 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(9)——增量备份
使用RMAN备份与恢复数据库(9)——增量备份增量备份的中心思想就是减少备份的数据量,我们不需要从头开始备份,只需要备份自上次已备份之后的数据块即可。一、增量备份原理Oracle的每一个数据块都包含一个SCN,SCN可以标示最近一次对于数据块的改变。在增量备份的过程中,RMAN读取每一个数据块的SCN与之前备份的SCN相比较,从而判断出数据块是否发生了变化,然后据此进行备份。1、增量备份的...原创 2020-04-12 17:45:34 · 1420 阅读 · 1 评论 -
利用Oracle种子恢复数据库(3)——不停库修改数据文件的位置
利用Oracle种子恢复数据库(3)——不停库修改数据文件的位置除了停库使用alter database命令更改数据文件的位置意外,还可以通过设置表空间为offline修改数据文件的位置。但是该方法不能修改system表空间对应的数据文件。下面以users表空间为例:一、查看数据文件的信息SQL> select name from v$datafile;NAME---------...原创 2020-04-11 23:12:20 · 274 阅读 · 0 评论 -
利用Oracle种子恢复数据库(2)——修改数据库名称
利用Oracle种子恢复数据库(2)——修改数据库名称利用Oracle种子恢复的数据库名称为seeddata,可以把数据库名称修改为自己所需的数据库名。以下步骤把seeddata数据库名称修改为student。一、修改实例名为student1、停库,修改环境变量ORACLE_SID为student[oracle@wgx ~]$ vim .bash_profile ------------...原创 2020-04-11 22:55:20 · 273 阅读 · 0 评论 -
利用Oracle种子恢复数据库(1)
利用Oracle种子数据库恢复自己所需的数据库Oracle提供了一个种子数据库的备份,存放在ORACLE_HOME目录下。包含的文件如下:[oracle@wgx templates]$ lltotal 285308-rw-r--r-- 1 oracle oinstall 5106 Aug 15 2009 Data_Warehouse.dbc-rwxr-xr-x 1 oracl...原创 2020-04-11 21:02:38 · 365 阅读 · 0 评论 -
修改oracle实例的名称
修改oracle实例的名称修改oracle实例的名称相对比较简单,只需要修改环境变量ORACLE_ID,口令文件及参数文件的名称即可,步骤如下:step 1:停止实例SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> exitDisconnec...原创 2020-04-10 23:09:01 · 2112 阅读 · 0 评论 -
修改oracle数据库的名称
修改oracle数据库的名称修改oracle数据库的名称需要同时在控制文件和参数文件中进行修改。修改控制文件中数据库的名称使用操作系统命令nid,修改参数文件中数据库的名称使用alter system命令。step 1:查看数据库的状态所有的数据文件、临时文件和表空间状态必须是online或offline。查看数据库是否处于归档模式,如果不是,修改为归档模式。1、查看数据文件的状态SQL...原创 2020-04-10 22:02:10 · 3553 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(8)——数据库的备份与恢复
使用RMAN备份与恢复数据库(8)——数据库的备份与恢复备份数据库时会自动备份参数文件和控制文件。实际上,只要备份system表空间就会自动备份参数文件和控制文件。一、使用RMAN备份数据库1、备份数据库命令以下:RMAN> backup as compressed backupset database format '/home/oracle/rmanbak/database_%...原创 2020-04-10 12:57:02 · 672 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(7)——管理备份集
使用RMAN备份与恢复数据库(7)——管理备份集通过RMAN有两种不同类型的备份方式:使用镜像备份和使用备份集备份。镜像备份(Image Copies):镜像复制其实就是创建数据文件、控制文件或归档文件的副本,与用户通过操作系统命令创建的备份一样,RMAN利用目标数据库中的服务进程来完成文件复制。备份集(Backup Sets):为RMAN默认的备份选项。备份集是RMAN创建的具有特定格式的...原创 2020-04-10 11:03:11 · 543 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(5)——表空间的备份与恢复
使用RMAN备份与恢复数据库(5)——表空间的备份与恢复一、使用RMAN备份表空间1、备份表空间RMAN> backup as compressed backupset tablespace data01 format '/home/oracle/rmanbak/ts_%d_%I_%s_%p_%T';Starting backup at 2020-04-09 19:35:35us...原创 2020-04-09 23:52:49 · 611 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(4)——数据文件的备份与恢复
使用RMAN备份与恢复数据库(4)——数据文件的备份与恢复备份数据文件可以使用copy和backup命令,两者的区别在于:使用copy命令备份时,备份数据文件中的所有数据块(包括空白块),而backup命令,则备份高水位以下的块(忽略空白块)。一、使用copy命令备份数据文件1、备份数据文件RMAN> copy datafile 5 to '/home/oracle/rmanbak/...原创 2020-04-09 22:37:19 · 1034 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(3)——控制文件的备份与恢复
使用RMAN备份与恢复数据库(3)——控制文件的备份与恢复控制文件是一个跟踪数据库的二进制文件,每个数据库有唯一的控制文件,可以维护多个相同的拷贝。控制文件是oracle数据库用来查找数据库文件,并从总体上管理数据库状态的文件。控制文件包含以下信息:(1)数据库名称和数据库唯一标识符(DBID);(2)创建数据库的时间戳;(3)有关数据库文件、联机重做日志、归档日志的信息;(4)表空间的...原创 2020-04-09 20:48:49 · 896 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(2)——参数文件的备份与恢复
使用RMAN备份与恢复数据库(2)——参数文件的备份与恢复Oracle有两类参数文件:(1)pfile:文本格式的参数文件,文件名通常为init.ora;(2)spfile:二进制格式的参数文件,不能直接修改,可以使用alter system修改,文件名通常为spfile.ora,支持RMAN备份。一、使用RMAN备份参数文件1、备份参数文件命令如下:RMAN> backup ...原创 2020-04-09 19:53:29 · 846 阅读 · 0 评论 -
使用RMAN备份与恢复数据库(1)——RMAN基本命令
使用RMAN备份与恢复数据库(1)——RMAN基本命令RMAN(Recovery Manager)称为恢复管理器,是ORACLE进行数据库备份(backup)、修复(restore)和恢复(recover)的一个常用工具。一、RMAN备份对象的分类使用RMAN可以备份以下对象:(1)整个数据库;(2)数据文件;(3)表空间;(4)归档重做日志文件;(5)控制文件;(6)初始化参数文件。二、...原创 2020-04-09 10:20:52 · 3390 阅读 · 0 评论 -
Oracle数据库逻辑备份与恢复(1)——exp、imp命令
Oracle逻辑备份与恢复(exp | imp)命令详解逻辑备份是指从数据库中导出数据并写入一个输出文件。逻辑备份只能用来对数据库进行逻辑恢复,即数据导入,而不能按数据库原来的存储特征进行物理恢复。逻辑备份可以使用exp命令来完成,逻辑导入可以使用imp命令来完成。exp和imp命令的用法如下:一、使用exp命令进行数据备份该命令的常用参数如下:1、USERID:指定用户名和口令,格式为:...原创 2020-04-04 17:46:15 · 5704 阅读 · 0 评论 -
Oracle中使用connect by rownum生成序列
Oracle中使用connect by rownum生成序列一、ROWNUMROWNUM是一个伪列,即先查到结果集之后再加上去的一个列,它的取值从1开始排依次递增。ROWNUM其实是oracle数据库从数据文件或缓冲区中读取数据的顺序。取得第一条记录则rownum值为1,第二条为2,依次类推。二、connect byconnect by用于构造递归查询,其语法如下:SELECT ... ...原创 2020-03-15 19:10:16 · 4364 阅读 · 0 评论 -
LInux环境变量的配置
LInux环境变量的配置环境变量简单地说就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。如果没有把某一个目录添加到环境变量中,要访问该目录中的文件,则必须进入到该目录或者指定路径为该目录。否则就会提示文件不存在或命令不存在。一、环境变量的分类按环境变量的生存周期来划分,Linux环境变量可分为两类:(1)永久设置:需要修改配置文件,环境变量永久生效。(2)临时设置:使...原创 2020-03-15 12:10:56 · 418 阅读 · 0 评论 -
Oracle查询练习题
Oracle查询举例基于Oracle数据库scott用户的emp表和dept表,完成以下查询操作:1、查询所有工种为CLERK的员工的姓名及其部门名称。SQL> SELECT e.ename, d.dnameFROM emp e inner join dept dON e.deptno=d.deptnoWHERE e.job='CLERK...原创 2020-03-14 17:50:42 · 1287 阅读 · 0 评论 -
Oracle临时表的创建与使用
Oracle临时表的创建与使用临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前会话可见。临时表不存在并发行为,因为他们对于当前会话都是独立的。oracle中的临时表分为会话级临时表和事务级别临时表。一、会话级临时表会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话的时候,Oracle自动清除临时表中数据。创建会话级临时表的语法如下:create global...原创 2020-03-05 15:24:17 · 953 阅读 · 0 评论 -
Oracle的redo log(重做日志)
Oracle的redo log(重做日志)Oracle日志文件是Oracle数据库存储信息的重要文件,主要用来存储数据库变化的操作信息。Oracle的重做日志分为在线重做日志和归档重做日志:(1)online Redo log files(在线重做日志):又称联机重做日志,在线重做日志实时记录数据库的数据更新。(2)Archive Redo log files(归档重做日志):简称归档日志,...原创 2020-03-03 17:00:32 · 1318 阅读 · 0 评论 -
查看Oracle的执行计划
查看Oracle的执行计划当我们在客户端执行SQL语句时,客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理该条语句。也就是说,Oracle客户端的主要任务就是把客户端产生的SQL语句发送给服务器端,服务器进程对SQL语句进行相关的处理,并返回最终的处理结果。一、SQL语句的执行过程第一步:解析SQL语句当客户端把SQL语句传送到服务器后,服务器进程会对该语句进行解析,具体需要...原创 2020-03-02 15:27:03 · 389 阅读 · 0 评论 -
Oracle伪列的使用总结
Oracle伪列的使用总结伪列是指在创建表时不用我们自己创建,而是由Oracle自动创建的列。Oracle可以使用的伪列分为以下几种:(1)在普通查询中使用的伪列:ora_rowscn,rowid,rownum;(2)在Flashback Version Query查询中使用的伪列:versions_starttime,versions_endtime,versions_startscn,v...原创 2020-02-26 12:17:59 · 1100 阅读 · 0 评论 -
Oracle的代码块(5)——触发器
Oracle的代码块(5)——触发器触发器和存储过程与存储函数相似,也是一个PL/SQL代码块。触发器与存储过程和存储函数不同的是,存储过程与函数需要用户调用才执行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动运行。一、触发器概述1、Oracle触发器的分类Oracle的触发器分为三类:(1)DML触发器,在DML操作前或操作后进行触发,DML触发器又分为语句级触发器和...原创 2020-02-20 11:43:08 · 932 阅读 · 0 评论 -
Oracle的代码块(4)——Package(包)
Oracle的代码块(4)——Package(包)PL/SQL为了满足程序模块化的需要,引入了包的构造。通过使用包可以分类管理过程和函数等。一、包的概念包是一种数据库对象,相当于一个容器。将逻辑上相关的过程、函数、变量、常量和游标组合成一个更大的单位。用户可以从其他 PL/SQL 块中对其进行引用。使用包来管理数据库对象具有以下优点:(1)包类似于C++和JAVA语言中的类,其中变量相当于...原创 2020-02-18 18:21:41 · 932 阅读 · 0 评论 -
Oracle代码块(3)——存储函数
Oracle代码块(3)——存储函数函数与存储过程相似,也是数据库中存储的已命名PL-SQL程序块。函数的主要特征是它必须有一个返回值。通过returns来指定函数的返回类型,返回类型必须和声明的返回类型一致。存储函数定义之后,可以象使用系统函数一样来使用存储函数。一、存储函数的语法存储函数的语法如下:create [or replace] function 函数名 [(参数列表)] ...原创 2020-02-18 12:08:27 · 841 阅读 · 0 评论 -
Oracle使用EXECUTE IMMEDIATE命令动态执行SQL语句
Oracle使用EXECUTE IMMEDIATE命令动态执行SQL语句动态执行SQL语句指先把一个SQL命令保存到一个字符串中,然后通过execute immediate命令动态执行字符串中的SQL语句,以实现SQL语句的动态生成。一、动态SQL语句的使用方式DECLARE 字符串变量名 varchar2(n); --定义一个字符串类型的变量,用以保存SQL语句BE...原创 2020-02-18 09:49:44 · 10169 阅读 · 0 评论 -
oracle存储过程的定义者权限与调用者权限
oracle存储过程的定义者权限与调用者权限当某个用户定义的存储过程由另一个用户调用时,需要指定存储过程的Definer(定义者权限 )与Invoker(调用者权限)。一、存储过程的定义者权限存储过程默认为该权限,也可以在定义存储过程的is|as之前添加authid definer参数,格式如下:create [or replace] procedure 名称[(参数1 in | out...原创 2020-02-17 20:30:27 · 3799 阅读 · 0 评论