
Oracle
Hello Oracle
卜塔
但行好事,莫问前程
展开
-
【Oracle】分区表中索引状态为N/A
我遇到的问题:1. 表为range分区加list子分区2. 表上建本地分区索引3. dba_ind_partitions中查询索引状态为N/A4. 即使删除重建索引,状态依旧为N/A问题解决说明:分区索引在dba_ind_partitions中状态为N/A,说明索引有子分区,去dba_ind_subpartitions表中查询索引状态。...原创 2019-08-15 16:34:17 · 6468 阅读 · 0 评论 -
【Oracle】创建概要文件
任务1:创建profile 创建概要文件my_profile 1)密码复杂性要求:启用; 2)密码长度最小值:8位; 3)密码错误输入三次,锁定账户,2分钟后自动解锁任务2: 1)修改siebel用户的概要文件为my_profile 2)修改siebel密码(自行设定) 任务3: 设置profile失效操作过程: 任务1: –创建密码复杂度校验函数 @?/rdbms/admi原创 2016-12-07 15:31:30 · 4372 阅读 · 0 评论 -
【Oracle】利用trace文件重建控制文件
重建步骤: 1、生成trace文件:alter database backup controlfile to trace;2、找到生成的trace文件:show parameter dumpuser_dump_dest 文件对应的路径即为trace文件的路径 3、关闭数据库shutdown immediate4、查看trace文件(我的trace文件路径为:/u01/app/oracle/di原创 2016-12-07 16:09:45 · 1495 阅读 · 0 评论 -
【Oracle】查看用户的信息(状态、默认表空间等)
查看dba_users数据字典:desc dba_usersSYS@LGR> selectusername,password,account_status,default_tablespace from dba_users where username='LGR';原创 2016-12-07 17:45:23 · 1371 阅读 · 0 评论 -
【Oracle】权限
授予权限:GRANT privilege[, privilege...]TO user [, user| role, PUBLIC...];①DBA授予用户系统权限GRANT create session, create table,create sequence, create viewTO LGR;②创建角色并授权SYS@LGR> create role manager; Role c原创 2016-12-07 18:12:58 · 419 阅读 · 0 评论 -
【Oracle】Drop表后闪回
1.删除表后直接从回收站闪回SCOTT@LGR> drop table emp1;Table dropped.SCOTT@LGR> select object_name,original_name,operation from recyclebin where original_name='EMP1';OBJECT_NAME ORIGINAL_NAME O原创 2016-12-07 20:05:26 · 821 阅读 · 0 评论 -
【Oracle】DBA_AUDIT_TRAIL表SES_ACTIONS字段对应的操作列表
SES_ACTIONS字段共包含16个字符,初始状态都为“-”,当被审计的对象被操作后,SES_ACTIONS会在相应的位置作出标识,标识为“S”的代表操作成功,标识为“F”的代表操作失败,16个位置的字符所代表的操作依次如下:原创 2016-12-08 15:50:50 · 3930 阅读 · 0 评论 -
【Oracle】审计
1、审计的功能:监控用户在database 的 action (操作) 2、审计分类: 1) session :在同一个session,相同的语句只产生一个审计结果(默认) 2) access : 在同一个session,每一个语句产生一个审计结果 3、启用审计(默认不启用)SYS@LGR> show parameter audit;NAME原创 2016-12-08 18:54:20 · 576 阅读 · 0 评论 -
【Oracle】管理还原数据(undo)
查看undo相关参数SYS@LGR> show parameter undoNAME TYPE VALUE------------------------------------ ----------- ------------------------------undo_management原创 2016-12-10 01:29:51 · 686 阅读 · 0 评论 -
【Oracle】数据库热备
—-创建脚本 注:脚本第三行中的DB_NAME,需要改为自己的数据库名(show parameter name;); oracle用户下新建目录:/home/oracle/DB_NAME/hot_bak(DB_NAME为自己的数据库名字) [oracle@localhost ~]$ vi hot.sqlset feedback off pagesize 0 heading off verify原创 2016-12-13 00:08:12 · 917 阅读 · 0 评论 -
【Oracle】RMAN备份
—-完全备份RMAN> backup as backupset database;Starting backup at 14-DEC-16allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=16 device type=DISKchannel ORA_DISK_1: starting full datafile backup setcha原创 2016-12-14 18:19:35 · 487 阅读 · 0 评论 -
【Oracle】恢复临时表空间数据文件
临时表空间文件是可以在重启数据库以后自动生成的,模拟实验如下: 1)—删除临时表空间数据文件SYS@ENMOEDU> select file_name from dba_temp_files;FILE_NAME------------------------------------------------------/u01/app/oracle/oradata/ENMOEDU/temp01.原创 2016-12-14 18:58:20 · 896 阅读 · 0 评论 -
【Oracle】使用logmnr工具挖掘日志
—查看日志状态及位置col member for a45select group#,status from v$log;select group#,member from v$logfile;—修改数据库启用补充日志alter database add supplemental log data;—添加日志文件exec dbms_logmnr.add_logfile('/u01/app/orac原创 2016-12-15 17:46:10 · 519 阅读 · 0 评论 -
【Oracle】闪回技术
1.闪回技术描述2.数据库的准备: —undo表空间要设置成AUTO,设置合适的保存时间、undo表空间:SYS@ENMOEDU> show parameter undoNAME TYPE VALUE------------------------ ----------- -----undo_managem原创 2016-12-15 20:08:04 · 470 阅读 · 0 评论 -
【Oracle】ORA-30042: Cannot offline the undo tablespace
特别注意:此办法只用于实在没有办法的时候,因为需要加入oracle中的隐含参数,慎用!!!—先查一下是什么在占用undoSYS@ENMOEDU>select segment_name,owner,tablespace_name,status from dba_rollback_segs where tablespace_name='UNDOTBS1' and status = 'ONLINE';SE原创 2016-12-16 15:04:29 · 1893 阅读 · 0 评论 -
【Oracle】查询当前SCN
介绍两种方式: 一、sys用户下:select current_scn from v$database;select dbms_flashback.get_system_change_number as scn from dual;二、普通用户下: —普通用户需要有dbms_flashback的权限---授权给lgr用户SYS@ENMOEDU> grant execute on dbms_fl原创 2016-12-16 15:46:02 · 6851 阅读 · 0 评论 -
【Oracle】回收站
☆回收站概念 oracle从10g开始,引入回收站(Recycle Bin)概念。回收站的全称叫:Tablespace Recycle Bin。回收站是一个逻辑区域,oracle并没有为它分配物理空间。当表被Drop后,如果回收站中 空间够用的话,表并没有被立即删除,oracle会给表加上一个被删除的标记。只有当回收站空间不足,或者手动清理回收站,这些被删除的表才会被彻底删除。所以当我们误删除以原创 2016-12-16 16:54:42 · 563 阅读 · 0 评论 -
【Oracle】手工建库时启动到nomount状态时错误ORA-09925,ORA-01017
配置好pfile和口令文件后启动数据库到nomount状态下出现错误: [oracle@localhost ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Thu Dec 1 19:23:55 2016Copyright (c) 1982, 2013, Oracle. All rights reserved.ER原创 2016-12-16 17:24:12 · 2076 阅读 · 0 评论 -
【Oracle】创建角色
任务:创建角色 1)创建角色sse_role,授予create session 权限 2)创建角色tblo_role,授予CREATE PROCEDURE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE TRIGGER, CREATE TYPE, CREATE VIEW 权限操作过程:create role sse_role;gra原创 2016-12-07 14:41:56 · 775 阅读 · 0 评论 -
【Oracle】创建用户
任务: 1)创建用户siebel,密码oracle 2)授予sse_role,tblo_role角色 3)siebel用户没有对system,sysaux的使用权限 4)默认表空间ts_users,无限制使用此表空间 5)默认临时表空间TMP_GRP 6)使用默认的profile 7)授予sse_role、tblo_role角色操作过程:create user siebel ident原创 2016-12-07 14:39:02 · 405 阅读 · 0 评论 -
【Oracle】glogin.sql脚本模板
vi $ORACLE_HOME/sqlplus/admin/glogin.sqldefine _editor=viset serveroutput on size 1000000 set trimspool onset long 5000 set linesize 200原创 2016-12-07 00:22:13 · 1050 阅读 · 0 评论 -
【Oracle】ORA-14758: Last partition … cannot be dropped
[oracle@master ~]$ oerr ora 1475814758, 00000, "Last partition in the range section cannot be dropped"// *Cause: An attempt was made to drop the last range partition of an interval// parti...原创 2019-08-06 19:00:52 · 926 阅读 · 0 评论 -
【Oracle】ORA-06510: PL/SQL: 用户定义的异常错误未得到处理
异常除了定义,还需要有代码块去处理异常。详见参考文章:https://www.techonthenet.com/oracle/errors/ora06510.php原创 2019-08-13 15:30:52 · 3801 阅读 · 0 评论 -
【Oracle】ORA-27369: job of type EXECUTABLE failed with exit code: Key has expired
问题描述:在使用DBMS_SCHEDULER调用shell时报错ORA-27369: job of type EXECUTABLE failed with exit code: Key has expired解决办法:shell脚本中要使用绝对路径,不能有相对路径。参考文章:https://community.oracle.com/thread/2252702...原创 2019-07-08 14:08:52 · 1874 阅读 · 0 评论 -
【Oracle】ORA-30659: too many locations specified for external table
虽然这是一个“特别特别特别”难遇到的报错,但还是写出来吧,没准有同样和我一样,好奇外部表可以加载多少文件的童鞋呢。oracle官方文档是这样解释的:ORA-30659: too many locations specified for external tableCause: An attempt was made to create an External Organized table...原创 2019-05-23 18:40:22 · 304 阅读 · 0 评论 -
【Oracle】表级别分区操作对索引(本地分区索引,全局分区索引,非分区索引)的影响
--参考自《Oracle索引技术》先贴上结论吧:下面对以上几种操作分别测试:创建测试表及索引--创建测试分区表CREATE TABLE employees_parttest( employee_id NUMBER(6) not null, first_name VARCHAR2(20), last_name VARCHAR2(25),...原创 2019-05-17 22:16:01 · 633 阅读 · 0 评论 -
【Oracle】官方文档:spool
SPOOLSyntaxSPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]Stores query results in a file, or optionally sends the file to a printer.Termsfile_name[.ext]Represents t...原创 2019-05-22 20:23:20 · 1169 阅读 · 0 评论 -
【Oracle】删除不存在表时避免报错
在drop table时,Oracle中没有类似MySQL和PostgreSQL中的"IF EXISTS"选项,但可以通过存过实现:CREATE OR REPLACE PROCEDURE prc_dropifexists(p_owner varchar2, p_table varchar2)AS v_count varchar2(5);BEGIN SELECT COUNT(*)...原创 2019-05-13 16:56:15 · 3940 阅读 · 0 评论 -
【Oracle】11g外部表指定oracle_datapump引擎,不能使用preprocessor预处理子句。
oracle 11g官方文档解释如下:意思是:如果想用预处理特性,必须把preprocessor子句放在access parameters里面,并且指定oracle_loader引擎。原创 2019-05-20 11:04:08 · 371 阅读 · 0 评论 -
ORA-24247
Oracle存储过程中执行utl_inaddr.get_host_address,报错ORA-24247按如下步骤解决:1.创建 ACLbegin dbms_network_acl_admin.create_acl ( acl => 'UTL_INADDR.xml', description => 'utl_inaddr', principal => 'S...原创 2019-05-08 14:41:21 · 1338 阅读 · 0 评论 -
【Oracle】数据库范式
为了规范化关系型数据模型,关系型数据库系统在设计时必须遵循一定的规则,这种规则称为关系型数据库系统范式。范式的主要目的是降低数据冗余,设计结构合理的数据库。1. 第一范式(1NF):字段必须具有唯一属性特征,不可再拆分简单理解为“列不可再分”,比如,员工表中的姓名字段,如果只包含中文姓名则符合1NF,如果包含中文和英文姓名则此字段是可以拆分的,那么就不符合1NF。2.原创 2017-12-29 10:34:09 · 372 阅读 · 0 评论 -
【Oracle】添加注释(COMMENT ON)
在数据库中创建表以后,有时需要添加表或者列的描述信息,也就是注释。这样当后来者查看表结构时,就可以清楚的知道表或者字段的含义。1. 语法COMMENT ON { TABLE [ schema. ] { table | view } | COLUMN [ schema. ] { table. | view. | materialized_view. }原创 2017-12-20 14:57:58 · 9906 阅读 · 0 评论 -
【Oracle】ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
今天在修改表字段类型时出现错误:ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired,看报错应该是锁导致的。报错如下:SQL> alter table a modify (x varchar2(10));alter table a modify (x varchar2(10))原创 2017-09-28 09:29:41 · 888 阅读 · 0 评论 -
【Oracle】sqlplus中 删除键backspace时出现^H
当oracle进入sqlplus后,输入命令时候出现错误,我们按平时的习惯使用backspace键删除错误信息,此时会出现^H解决办法:进入sqlplus之前,使用stty erase '^H'命令后,再次进入sqlplus即可。原创 2016-11-13 11:17:40 · 3182 阅读 · 0 评论 -
【Oracle】ERROR: ORA-28000: the account is locked
登录oracle数据库时有时会显示ERROR:ORA-28000: the account is locked,这是因为所登录的账号被锁定了。解决办法:sqlplus / as sysdba;startup;conn sys/sys as sysdba;以上命令是启动数据库,以dba账号登录。然后输入以下命令修改被锁定的账号:alter user user_na原创 2016-11-13 12:59:22 · 935 阅读 · 0 评论 -
【Oracle】解决oracle sqlplus 中上下左右backspace不能用
一. 解决输入 BACKSPACE 键变成 ^h 的问题#su - oracle $stty erase ^h.要永久生效,可以加入到用户环境配置文件.bash_profile中(vi .bash_file),加入如下一行:stty erase ^h立即生效:source .bash_profile 二. 解决上下左右键问题1. 安装 readlin转载 2016-11-13 13:15:37 · 1884 阅读 · 0 评论 -
【Oracle】服务器端监听配置
一、静态注册创建端口为1521的监听,静态注册,本机ip:192.168.10.2[oracle@localhost ~]$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.oraLISTENER = (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST原创 2016-12-06 16:25:02 · 1089 阅读 · 0 评论 -
【Oracle】配置客户端监听
首先找到oracle软件安装的目录,找到\product\11.2.0\client_1\network\admin,打开tnsnames.ora文件: 粘贴一下内容: LISTENER= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL = TCP)(HOST = 192.168.10.2)(PORT = 1521))原创 2016-12-06 16:55:27 · 4542 阅读 · 0 评论 -
【Oracle】非RMAN恢复数据文件、控制文件
实验环境:OEL 5.6 oracle 11g(11.2.0.4.0)注意:system表空间数据文件不能在线recover,需要启动到mount状态再recover;undo表空间数据文件可以在线recover;用到的命令:ps -ef |grep dbw |grep -v grepps -ef |grep ckpt |grep -v grepll /原创 2016-12-17 00:30:57 · 555 阅读 · 0 评论 -
【Oracle】Rman简介
1.备份和恢复功能的用途: –保护数据 -介质故障 -用户错误 -应用程序错误 –数据保存和历史数据保留 –数据传输 2.典型的备份和恢复任务 –通过配置数据库实现可恢复 –定义备份计划 –对不同类型的故障情形进行计划和测试 –对备份和恢复环境进行监控、调整和故障排除 –从备份还原数据 –将事务处理恢复到所需的时间点一、Rman基本概念 Rman(Rcover原创 2016-12-18 14:44:36 · 1134 阅读 · 0 评论