
Database
wengyupeng
在等待中爆发
展开
-
oracle最常用的命令
1.数据库的启动、关闭 startup nomount alter database mount; ----alter database archivelog/noarchivelog 切换数据库的归档/非归档方式 alter database open; conn /as sysdba disc shutdown immediate原创 2008-07-29 12:32:00 · 821 阅读 · 0 评论 -
Oracle备份与恢复
一. 理解什么是数据库恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与恢复(Recov转载 2008-07-29 13:44:00 · 873 阅读 · 0 评论 -
oracle远程备份数据库
1、先进入dos窗口,输入下列红色命令(注意参数) 如果要备份的远程数据库ip为 192.168.1.21 数据库名为orcl exp USERID=websitecms/123456@192.168.1.21/orcl FILE=D:/TEST.DMP原创 2008-08-07 14:38:00 · 2035 阅读 · 1 评论 -
oracle删除某个用户所有表
1、select Drop table ||table_name||; from all_tables where owner=要删除的用户名(注意要大写); 2、删除所有表以用户test为例for example:declare cursor cur1 is select table_name原创 2008-08-07 12:57:00 · 20751 阅读 · 1 评论 -
ORACLE数据库备份与恢复
Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,转载 2008-08-07 14:55:00 · 1038 阅读 · 0 评论 -
oracle高版本向低版本导数据
理论基础:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件) 低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器 解决办法: 用低版本的客户端,远程导高版本的数据库,然后还用低版本的客户端恢复exp USERID=websitecms/123456@192.168.原创 2008-08-19 16:39:00 · 1074 阅读 · 0 评论 -
PL/SQL 不能登录,提示错误:ora-12154:tns:无法解析指定的连接标识符
这个问题基本都是tnsnames.ora文件惹得祸。如果先装了服务器、后来又装了客户端可能D:/oracle/product/10.1.0/Client_3/NETWORK/ADMIN下面没有tnsnames.ora文件。解决办法:将服务器D:/oracle/product/10.2.0/db_1/NETWORK/ADMIN下面的tnsnames.ora文件copy到D:/orac原创 2008-08-19 16:43:00 · 1388 阅读 · 0 评论 -
pl/sql 游标 简单示例
set serveroutput on;declarevarno varchar2(32);varpid varchar2(32);varsql varchar2(100);varexp varchar2(200); //声明变量CURSOR mycur is select id_ from t_cms_catalog a where a.parent_id_ =tjtggov_p0a;原创 2008-08-19 16:57:00 · 794 阅读 · 0 评论 -
RMAN 入门
一、Oracle RMAN快速入门指南 前言 这篇文章主要介绍RMAN的常用方法,其中包含了作者一些自己的经验,里面的实验也基本全在WIN 2K和ORACLE 8.1.6环境下测试成功(因为这个环境比较容易实现)。 本文借鉴了网上一些高手的相关文章,希望大侠们不要见怪,此处一并谢过。 这篇文章主要是在北京出差期间写的,回到家后整理修改了一下,时间比较仓促,同时因为篇幅有限,一些技术细节不能一一覆转载 2008-08-20 11:06:00 · 812 阅读 · 0 评论 -
rman备份恢复数据库 基础(一)
原创 2008-08-20 14:16:00 · 572 阅读 · 0 评论 -
rman 命令
1、切换服务器归档模式,如果已经是归档模式可跳过此步:%sqlplus /nolog (启动sqlplus)SQL> conn / as sysdba (以DBA身份连接数据库)SQL> shutdown immediate; (立即关闭数据库)SQL> startup mount (启动实例并加载数据库,但不打开)SQL> alter database a转载 2008-08-20 14:23:00 · 784 阅读 · 0 评论 -
ORA-01207:文件比控制文件更新 - 旧的控制文件 解决办法
问题:ORA-01122: 数据库文件 6 验证失败 ORA-01110: 数据文件 6: E:/ORACLE_DATABAK/RMAN/CATALOG.DBF ORA-01207: 文件比控制文件更新 - 旧的控制文件 原因:把控制文件移到不同的位置,自己操作问题,数据库startup的时候出现下面错误。原创 2008-08-22 10:50:00 · 7540 阅读 · 1 评论 -
ORA-01033: ORACLE initialization or shutdown in progress 解决办法
我在冷备份恢复后,连接数据库出现了ORA-01033: ORACLE initialization or shutdown in progress错误。ORA-01033: ORACLE initialization or shutdown in progress意思是数据库正在关闭或初始化当中。所以 1 、我先 SQL> shutdown immediate原创 2008-08-22 10:09:00 · 4807 阅读 · 0 评论 -
Oracle冷备份
1、 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完 整的数据库。冷备份是将关键性文件拷贝到另外位置的一种做法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。值得注意的是冷备份必须是数据库关闭的情况下完成,当数据库开着的时候,执行数据库文件系统备份无效。2、冷备份所需备份的文件包括以下几种:l 所有数据文件l转载 2008-08-22 10:48:00 · 10959 阅读 · 0 评论 -
oracle job的用法
这个job 执行的功能: 向某张表中定时插入一条记录(比如一分钟插入一条)step 1: 首先创建一张表 a, create table a(a date);step 2: 创建一个proc test ,这个 test 就是取出系统的当前时间值,然后插入到 a 表中 SQL> create or replace procedure test as转载 2008-08-25 15:04:00 · 800 阅读 · 0 评论 -
oracle 删除正在连接的用户
oracle 正在连接的用户不能删除,确实要删除的话 1、select sid,serial#,username from v$session where user=USERNAME;2、alter system kill session sid,serial#;3、drop user username cascade;原创 2008-08-25 11:23:00 · 3523 阅读 · 1 评论 -
如何启动 oracle EM
可能出现的错误如下,没有ORACLE_SID的 环境变量, 可能网络地址和环境发生变化,比如主机名修改等.oracle@Martin:~/product/10.2/db_1/bin> ./emctl start dbconsoleTZ set to PRCEM Configuration issue. /opt/oracle/product/10.2/db_1/localhost_o转载 2008-08-27 17:01:00 · 1532 阅读 · 0 评论 -
XP Oracle Enterprise Manager 没法启动
C:/Documents and Settings/Administrator>emctl status dbconsoleEnvironment variable ORACLE_SID not defined. Please define it.C:/Documents and Settings/Administrator>set oracle_sid=testdb Micros转载 2008-08-27 17:31:00 · 1488 阅读 · 0 评论 -
Oracle10g em 主机身份证明 登陆失败
解决办法:如果是win2000可以把administrator从设置-控制面板-管理工具-本地安全策略-本地策略-用户权利指派-作为批处理作业登陆中加入就ok,首选身份证明是oracle的一种认证策略,即下次就用改用户登陆信息认证按照这个办法即可解决。我这里试过了,XP下也可以成功. 设置 “作为批处理作业登陆 ”出现了 未能保存本地策略库 问题 解决办法:原创 2008-08-27 19:12:00 · 1419 阅读 · 1 评论 -
Oracle 字符串函数,数学函数,日期函数,逻辑运算函数,其他函数
SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR 给出整数,返回原创 2008-09-04 15:25:00 · 804 阅读 · 0 评论 -
oracle 树型结构查询分析
转载 2008-09-04 16:22:00 · 1639 阅读 · 1 评论 -
ORACLE 树形查询(connect by...start with...)的应用
Create table balance_sheet (BS_ID INTEGER ,BS_PID INTEGER ,BS_NAME VARCHAR2(100) ,BS_VALUE NUMBER(10) );BS_ID 项目代码 BS_PID 项目父代码 BS_Name 项目名称 BS_VALUE 数据列插入测试数据insert into balance_sheet value转载 2008-09-04 16:17:00 · 1076 阅读 · 0 评论 -
ORA-01502: 索引或这类索引的分区处于不可用状态
这个错误是由于索引失效造成的,重建索引后,问题就解决了。 alter index PK_T_CMS_CATALOG rebuild; PK_T_CMS_CATALOG 是报错的那个索引的名字原创 2008-09-06 15:24:00 · 2484 阅读 · 0 评论 -
oracel MINUS 的用法
就是“减”的意思。 select * from table1 where rownum minus select * from table1 where rownum 用集合的观点来看是差集,如: select id from table1 minus select id原创 2008-09-09 21:48:00 · 791 阅读 · 0 评论 -
ORA-12516错误 解决方案
这个问题有很多种原因,比如pfile文件、tnsnames.ora的配置,如果都正确,下面是一种常见的原因解决过程:查看一下数据库现有的进程数,是否已经达到参数processes的大小。 a.select count(*) from v$process; 取得数据库目前的进程数。 b.select val转载 2008-09-11 14:23:00 · 1813 阅读 · 0 评论 -
执行存储过程,报ORA-01031: 权限不足
执行下了存储过程,成功执行 create or replace procedure p_createseq(tablename in varchar2)isstrsql varchar2(500);beginstrsql:=create sequence seq_||tablename|| minvalue 1000 maxvalue 99999999 start with 1原创 2008-09-23 16:04:00 · 1828 阅读 · 0 评论 -
ORA-00257: archiver error. Connect internal only, until freed
在Oracle10g开始又采用了一种新的FlashBack日志来实现这个功能,而且更为强大,可以将数据库退回到过去某个时间点去。这个文件默认最大为2g。但是在一段时间过后,很快就达到了2G,这个时候就会出现ORA-00257错误了。 如何去解决呢,有两种方法,第一种就是关闭闪回日志的功能,这种对于开发环境中不失为一种好方法,因为开发环境中,并不追求数据的可安全性的。大家可以通过下面的语句改变原创 2008-09-23 14:51:00 · 1085 阅读 · 0 评论 -
Oracle 序列用法
创建序列create sequence seq_a minvalue 1000 maxvalue 99999999 start with 1000 increment by 1 nocache;查询序列select seq_a.nextval from dual;删除序列drop sequence seq_a为每张表生成对应的序列--创建存储过程create or replace原创 2008-09-23 16:12:00 · 1034 阅读 · 0 评论 -
oracle 字段递增 表插入数据,id自动增1
1、创建表 create table test(id int, name varchar(32)) 2、创建序列 create sequence TID_seq minvalue 1 maxvalu原创 2008-09-23 16:51:00 · 5110 阅读 · 0 评论 -
ORA-04098: 触发器无效且未通过重新验证
问题 1、创建序列create sequence T1ID_SEQ minvalue 1 maxvalue 999999 start with 1 increment by 1 cache 20 ;原创 2008-09-23 16:18:00 · 46297 阅读 · 1 评论 -
sqlplus可以连接,pl/sql 报ORA-12154: TNS:无法解析指定的连接标志符
经常遇见这问题 ,今天找到答案了 我是先安装的oracle 10.2 servers, 过了段时间,安装oracle 10.1 client,然后用pl/sql 报ORA-12154: TNS:无法解析指定的连接标志符 我把servers段安装目录的NETWORK/ADMIN下的TNSNAMES.O原创 2008-11-21 14:23:00 · 5181 阅读 · 0 评论 -
Oracle: Update .... Join
这个和 SqlServer的UPDATE .. FROM 语法相似 比如: update employee_bonus set bonus = 0 from employee_bonus b inner join employees e on b.employee_id = e.employee_id where e.bonus_eligible = N转载 2009-04-27 12:37:00 · 7417 阅读 · 1 评论 -
SQL:merge 用法
merge主要用于两表之间的关联操作oracle中 merge:从oracle 9i开始支持merge用法,10g有了完善create table a (id_ integer,count_ integer);insert into a values(1,3);insert into a values(3,6);create table b (...原创 2009-06-20 09:45:00 · 9921 阅读 · 1 评论 -
Oracle数据字典表查询
/*显示当前用户*/show user在sql plus中可用,在pl sql中不可用/*查看所有用户名*/ select username,user_id,created from all_users;/*查看当前用户的用户详情*/ select username,user_id,account_status,lock_date,expiry_date,default_tablespace,te转载 2009-07-09 21:19:00 · 3210 阅读 · 0 评论 -
oracle 检查被锁的表及解锁
处理方法一 : 检查那个表被锁select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_mode from v$locked_object lo,dba_objects ao,v$session sess where ao.object_id = lo.object转载 2009-07-10 11:24:00 · 843 阅读 · 0 评论 -
PLSQL 存储过程动态创建表
1、SQLPLUS登录 SQLPLUS又叫SQL*plus, 是oracle数据库操作最重要的工具,它既可以编辑SQL语句,也可以编辑和调试pl/sql的程序。 在“开始”的“运行”中敲入‘cmd’,在DOS里面输入‘sqlplus /nolog’,再回车,接着输入 conn sys/wengyupeng原创 2010-03-20 12:02:00 · 6291 阅读 · 0 评论 -
oracle 实例与数据库
1、“实例”(instance)和“数据库”(database)定义。 ORACLE实例 = 进程 + 进程所使用的内存(SGA)实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态。数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件数据库是永久的,是一个文件的集合。 2、ORACLE实例和数据库之间的区别 1)临时性和原创 2010-03-21 11:34:00 · 1470 阅读 · 0 评论 -
oracle win7下安装,程序异常终止,发生未知错误
oracle win7原创 2010-10-28 23:05:00 · 1680 阅读 · 0 评论 -
Oracle synonyms(同义词)
Oracle synonyms(同义词)原创 2011-03-06 10:07:00 · 1564 阅读 · 0 评论 -
ECC ORA-12560: TNS:protocol adapter error ORA-01034: ORACLE not available
ECC ORA-12560: TNS:protocol adapter error ORA-01034: ORACLE not available原创 2011-05-11 23:08:00 · 1486 阅读 · 0 评论