oracle系统

登录 oracle 时 ORA-01034 和 ORA-27101 的解决办法

别说谁变了你拦得住时间么 提交于 2019-12-24 18:22:44
本文转载自: https://www.cnblogs.com/0xcafebabe/archive/2012/08/05/2623834.html 作者:0xcafebabe 转载请注明该声明。 . . . . . 昨天刚刚装完系统(Win7 32位旗舰版),重装了一下 登录 +oracle+时+ORA+01034+和+ORA+27101+的解决办法.html' target='_self'>Oracle 10g 数据库。由于原来数据库中的数据没有备份,所以新建了一个与原来相同SID的数据库。然后停止oracle服务,把新建的数据库删除,再把原来的数据库复制到新建的数据库的路径下,数据库搬家就算完成了,数据库服务启动成功就没有太在意其它的事情。 今天启动服务也没有异常,可是使用 PL/SQL Developer 登录 Oracle 的时候发现报异常: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 于是乎开始请教Google老师,网上说是数据库实例没有启动,于是手动启动数据库实例: C:\Users\bx>sqlplus /nolog SQL*Plus: Release 10.2.0.3.0 - Production on 星期日 8月 5 13:57:27 2012

面对HP MSA存储中硬盘掉线的情况,学会这种解决方式至关紧要

好久不见. 提交于 2019-12-24 11:09:22
一、HP MSA存储设备信息 1、存储空间由8块450GB SAS的硬盘组成。 2、7块硬盘组成一个RAID5的阵列,1块作为热备盘。 二、HP MSA存储设备故障描述 1、RAID5阵列中出现2块硬盘损坏,而此时只有一块热备盘成功激活,因此导致RAID5阵列瘫痪,上层LUN无法正常使用。 2、RAID阵列中某些磁盘掉线,导致整个存储不可用。因此需要先对所有磁盘做物理检测,检测完后确认硬盘无物理故障。接着使用坏道检测工具检测磁盘坏道,发现也无坏道。 三、HP MSA存储备份数据 考虑到数据的安全性以及可还原性,在做数据恢复之前需要对所有源数据做备份,以防万一其他原因导致数据无法再次恢复。使用dd命令或winhex工具将所有磁盘都镜像成文件。备份完部分数据如下图: 四、HP MSA存储故障分析 1、分析故障原因 经推断可能是由于某些磁盘读写不稳定导致故障发生。因为HP MSA2000控制器检查磁盘的策略很严格,一旦某些磁盘性能不稳定,HP MSA2000控制器就认为是坏盘,就将认为是坏盘的磁盘踢出RAID组。而一旦RAID组中掉线的盘到达到RAID级别允许掉盘的极限,那么这个RAID组将变的不可用,上层基于RAID组的LUN也将变的不可用。目前初步了解的情况为基于RAID组的LUN有6个,均分配给HP-Unix小机使用,上层做的LVM逻辑卷,重要数据为Oracle数据库及OA服务端。

CentOS7安装Oracle-12c

假如想象 提交于 2019-12-24 01:57:13
1、给虚拟机添加一块硬盘,并格式化 [root@localhost ~]# systemctl stop firewalld.service ##关闭防火墙 [root@localhost ~]# setenforce 0 [root@localhost ~]# systemctl disable firewalld.service ##开启不自动启动 Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~]# fdisk /dev/sdb ##分区 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xbb26ef93 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n ##创建 Partition type: p primary (0 primary, 0 extended

Oracle数据库的备份方法

巧了我就是萌 提交于 2019-12-23 18:54:04
1、引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺点和适用的场合,并给出自动执行这些备份方案的脚本文件。 2、三种备份方案的比较   冷备份 冷备份是Oracle最简单的一种备份;执行冷备份前必须关闭数据库;然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。 优点:能简单快速地备份。能简单快速地恢复。执行简单。 缺点:必须关闭数据库,不能进行点恢复。 热备份 热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。 优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。 缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件

php5.6下连接Oracle的配置

吃可爱长大的小学妹 提交于 2019-12-23 13:53:26
php5.6下连接Oracle的配置 2014年09月03日 php开发 暂无评论 阅读460次 首先说明下,我是在windows下,系统是win7 64位 这个升级跨度有点大,一直用apache2.2的,apache2.4发布了很久都没去安装 可能是处女座的缘故,不想安装wamp,xamp之类的集成包,他们很早就出了apache2.4,php5.5这些包了 一直想升级php到新一点的版本的,但一直觉得麻烦,懒,不想动,纠结了好久,终于在今天换了apache2.4,php5.6 都是自己下单独的包配置的 这其中有几个问题 第一 apache2.4 在官方 即 httpd.apache.org不提供windows的版本,这也是一直没把apache2.2升级到2.4的一个重要原因 答案:看了官方一个安装说明文档,apache2.4的手册里介绍,发现以前认为的第三方,实际是官方推荐的第三方,于是放心的去下载了 地址奉上:http://httpd.apache.org/docs/2.4/platform/windows.html 在downing apache for windows小节里有下载地址 第二,你需要安装vc2011 答案:这个在上面那个连接里的下载页有对应下载链接,我32位和64位的都装了,虽然我系统是64位的,但是我一直装的32位的apache和php

Oracle命名规范

三世轮回 提交于 2019-12-23 04:51:22
1、编写目的   使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。   2、适用范围   本规范适用于公司范围内所有以 ORACLE 作为后台数据库的应用系统和项目开发工作。   3、对象命名规范   3.1 数据库和SID   数据库名定义为系统名+模块名   ★ 全局数据库名和例程SID 名要求一致   ★ 因SID 名只能包含字符和数字,所以全局数据库名和SID 名中不能含有“_”等字符   3.2 表相关   3.2.1 表空间   ★ 面向用户的专用数据表空间以用户名+_+data命名 ,如Aud 用户专用数据表空间可命名为Aud_data   ★ 面向用户的专用索引表空间以用户名+_+idx命名   ★ 面向用户的专用临时表空间以用户名+_+tmp命名   ★ 面向用户的专用回滚段表空间以用户名+_+rbs 命名   ★ 面向应用的表空间以应用名+_data/应用名+_idx/应用名+_tmp/应用名+_rbs 命名   ★ LOB 段数据专用表空间以其数据表空间+_+lobs 命名,如上例中数据表空间为Aud_data,则LOB 段表空间可命名为Aud_data_lobs   3.2.2 表空间文件   表空间文件命名以表空间名+两位数序号(序号从01开始)组成,如Aud_data01 等   3.2.3 表   表命名要遵循以下原则:

Oracle基础(三) 表空间

你说的曾经没有我的故事 提交于 2019-12-23 03:39:09
数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构。 物理结构是指现实存储单元,由一组文件组成如数据文件、日志文件、控制文件。   数据文件:用于存储数据的文件。如表,索引和数据等都存储在数据文件中。   日志文件:用于记录对数据库的修改信息。   控制文件:用于存储 Oracle实例信息、数据文件信息和日志文件信息的二进制文件。由于存储了数据文件和日志文件的信息,所以 Oracle启动时必须访问呢控制文件。   逻辑结构式是指数据概念性的组织。包括 表空间、表、行等概念组成。 一、表空间(tablespace)的概念 表空间是Oracle特殊的发明,用于存储数据库表,索引等对象的磁盘逻辑空间。在物理上表空间由1个或者多个数据文件组成,而数据库在逻辑上由1个或者多个表空间组成。 表空间在Oracle10g中北分为一下3类:   1、永久性表空间:一般保持基表、视图、存储过程和索引等数据。SYSTEM、SYSAUX、USERS、EXAMPLE表空间是默认安装的。   2、临时性表空间:用于保存系统中短期活动的数据,如排序数据等。   3、撤销表空间;用来帮助回退未提交的事务数据,已提交了的数据在这里是不可以恢复的。   一般不需要建立临时表空间和撤销表空间,除非把它们转移到其他磁盘以提高性能。   表空间的目的:   1

oracle 手动 备份 恢复

南笙酒味 提交于 2019-12-22 03:02:47
手工备份, 我只考虑全备, 即 control file, redo log file, datafile, password file, spfile(pfile), listener.ora, tnsnames.ora 等全部备份. 这样,在数据库恢复时, 啥文件都全了, 能够很顺利的恢复到备份的时间点. 手动备份 分为全备 或部分备份, 一致性备份和 非一致性备份. 一致性全备: (一种冷备份) 操作方法: 目前我们系统使用的这种, 就是将数据库正常关闭, 然后在操作系统下, copy 所有的 control file, data file 等 到别的地方. 最好将 online redo log file , parameter file, password file 一起备份, 因为这样恢复的时候就会非常简单, 直接将文件copy 回来就可以了, 不用备份的是 archivelog file. 这种备份的好处是 : 操作简单. 这种备份的缺点是 :不支持 7 * 24 小时系统, 即数据库不能被关闭的情况. copy 数据需要很长时间, 恢复时直到最后的全备时刻. 剩下的内容可以依靠archilve log 文件操作. 非一致性备份(热备) : 可以单独备份 tablespace 或者 datafile 等内容. (必须在 archivelog 模式下) 这种备份不好,

ORACLE冷备份及恢复

青春壹個敷衍的年華 提交于 2019-12-22 03:01:55
方法一:最简单的方法(需建库) 备份: 直接拷贝oracle目录下的admin、oradata两个文件夹,ora92目录下database,到其他存储实现备份。 恢复: 1.创建一个和原来一样的数据库。(安装路径和数据库名必须和原来一致) 2.用管理员连入数据库后停止数据库。 3.把安装目录下的admin和oradata复制过去覆盖(如果存在多个数据库,估计只需要复制下面的XJJ目录就行了)。 4.复制ora92下面的database目录(密码文件)。 5.启动数据库。 上述备份了数据库所有信息包括数据 用户 密码。。。 如果针对某个数据库 直接备份oradata下该数据库文件即可。 方法二:(不需建库,稍麻烦点) 冷备份数据必须是数据库不在open状态下,对数据库进用数据备份。 具体操作: (1): 关闭DB : shutdown immediate; (2):copy oradata目录下的所有文件, 包括数据文件, 控制文件,redo,等,还需要copy 密码文件 在目录ora92下 的database 中的pwd 文件.全部copy到一个安全目录中。在sql 下可以直接加一个 host 然后使用dos命令。如host copy ............. (3):如果是操作系统的重新安装,只要是同样系统,同样数据库版本,是可以做冷备恢复。一下谈的是系统的重新安装后的步骤。

Oracle Trigger触发器

旧城冷巷雨未停 提交于 2019-12-22 01:58:30
一、触发器背景简介 触发器的定义就是说 某个条件成立 的时候,触发器里面所定义的语句就会被自动的执行。 因此触发器不需要人为的去调用,也不能调用。 然后,触发器的触发条件其实在你 定义的时候 就已经设定好了。 这里面需要说明一下,触发器可以分为 语句级触发器 和 行级触发器 。 简单的说就是: 语句级的触发器可以在某些语句执行前或执行后被触发。 而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。 具体举例: 1、 在一个表中定义语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个【删除表的操作】就是触发器执行的条件。 2、 在一个表中定义行级的触发器,那当【这个表中一行数据发生变化】的时候,比如删除了一行记录,那触发器也会被自动执行了。 二、创建触发器 触发器语法: create [or replace] trigger 触发器名 触发时间 触发事件 on 表名 [for each row] begin pl/sql语句 end 其中: 触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。 触发时间:指明触发器何时执行,该值可取: before:表示在数据库动作之前触发器执行; after:表示在数据库动作之后触发器执行。 触发事件:指明哪些数据库动作会触发此触发器: insert