Oracle数据库入门及进阶
文章平均质量分 68
描述Oracle的基础知识以及后续学习工作实战经验。也会涉及一些操作系统知识。
丹心明月
路上,期待不一样的精彩。
展开
-
Oracle的SQL*Plus命令
在设置为ON,再设置字符串时,则每次暂停都将显示该字符串。可对结果进行设置列的标题、定义输出值的显示格式和显示宽度、为报表增加头标题和底标题、在报表中显示当前日期和页号等。在一附加行上继续某个SQL*Plus命令时,SQL*Plus以该设置的字符序列进行提示。设置查询的行数,是SQL*Plus一次从数据库获取的行数,有效值为1到5000。控制START命令是否列出命令文件中的每一命令,若设置为ON时,则列出命令。显示SQL*Plus系统变量的值或SQL*Plus环境变量的值。调整列标题的对齐方式。原创 2023-03-15 13:42:44 · 1284 阅读 · 1 评论 -
Oracle中的锁
简介Oracle的锁原创 2023-02-14 23:50:22 · 3442 阅读 · 0 评论 -
Oracle中for循环的一点想法
今天在执行下面匿名块时,因为时间太久了,我强制关闭了执行,但是检查src.test表的时候,发现表里面已经有了部分数据,很奇怪,但是想一想,我的理解如下:实际上,执行未完成的是insert语句,强制停止匿名块,实际上只是停止了insert语句,而insert语句之后的语句,并没有被忽略,而是继续执行下去了--commit,所以,src.test表就有了数据。也就是说,强制停止,并没有停止掉匿名...原创 2018-03-28 09:33:08 · 638 阅读 · 0 评论 -
数据文件online和offline
归档模式下:SQL> select log_mode from v$database;LOG_MODE------------ARCHIVELOGSQL> alter database datafile 4 offline;数据库已更改。SQL> alter database datafile 4 online;alter database datafile 4 onlin原创 2017-12-13 16:03:03 · 3260 阅读 · 0 评论 -
alert日志文件过大的处理
1.清空 cat /dev/null > alert_sid.log2.截断 tail -n 1000 alert_sid.log > alert_sid.log3.使用echo echo "" > alert_sid.log原创 2017-08-28 16:01:00 · 5172 阅读 · 0 评论 -
设置maxsize的自动扩展数据文件在达到maxsize后是否会继续扩展
创建测试表空间:create tablespace tmaxs datafile 'D:\APP\LIMING\ORADATA\ORCL11S\tmaxs01.DBF' size 1M autoextend on maxsize 1M;查看表空间信息:SQL> select d.file_name,d.tablespace_name,d.maxbytes,d.autoextensible f原创 2017-02-04 09:50:28 · 3465 阅读 · 0 评论 -
不走order by的情况
今天测试下,查询语句忽略order by的情况。创建测试表并插入数据:create table testindx(id number,name varchar2(10),sex varchar2(2),age int,high float,weight float);begin for i in 1..100 loop insert into testindx values(原创 2017-01-24 15:50:04 · 682 阅读 · 0 评论 -
startup
startup命令启动Oracle数据库,执行的操作要经历3个不同的阶段:instance startup:启动Oracle数据库实例--读参数文件database mount:加载数据库 ----读控制文件database open:打开Oracle数据库以供用户活动。 --读数据文件原创 2017-01-16 21:08:26 · 1554 阅读 · 0 评论 -
找出未被使用的索引
--创建测试表并插入数据create table products (prod_id number(3), prod_name_code varchar2(5)); insert into products values(1,'aaaaa');insert into products values(2,'bbbbb');insert into products values原创 2017-01-04 09:53:02 · 1517 阅读 · 0 评论 -
kernel.sem设置过小导致RAC节点无法启动
同时新搭RAC,搭到cluster,成功了,重启了一下,RAC2可以正常启动,但是RAC1起不来了。其实听到这个消息的时候,我是happy的,练手的机会又来了!果断日志看起来!1.操作系统日志---未发现异常2.grid用户下的alert日志:[crsd(3499)]CRS-1013:The OCR location in an ASM disk group is inaccess原创 2016-11-04 09:53:41 · 2467 阅读 · 0 评论 -
CRS-0184: Cannot communicate with the CRS daemon.----一步步解决(OCR问题)
刚刚装好的10g RAC,重启一下,等了很久,数据库还是没起来,然后:[oracle@rac1 ~]$ crs_stat -t -vCRS-0184: Cannot communicate with the CRS daemon.不科学呀,首先习惯性的检查了盘的状况:[root@rac1 log]# ll /dev/raw/*crw-rw---- 1 oracle dba原创 2016-11-02 11:12:25 · 10465 阅读 · 1 评论 -
打完10.2.0.5之后,检查crs版本还是10.2.0.1
在打完10.2.0.5之后,检查crs版本还是10.2.0.1打完前后查询结果:[oracle@rac2 ~]$ crsctl query crs softwareversionCRS software version on node [rac2] is [10.2.0.1.0]后来发现,是因为打完之后,在点图形界面exit之前,有额外的操作,而习惯了完结就exit的我,错原创 2016-11-01 14:20:21 · 1558 阅读 · 0 评论 -
impdp之table_exists_action
参考文档:1358280.1TABLE_EXISTS_ACTION默认为:SKIP(但是如果设定了CONTENT=DATA_ONLY,那么默认的是APPEND)作用:定义了如果要导入的表已经存在,impdp的动作值及其含义:SKIP:不管已经存在的表,直接跳过APPEND:保持现有数据不变,导入源数据TRUNCATE:删掉现有数据,导入源数据REPLACE:删掉现有表,并重建原创 2016-09-26 12:26:54 · 8495 阅读 · 0 评论 -
Session Data Unit
本译文翻译自Net Services Administrator's Guide的第14章Optimizing Performance中对于SDU的介绍。在一个典型数据库配置中,Oracle Net在通过网络发送数据前将数据按照SDU大小放进缓存。Oracle Net当缓存被填满,flushed或者当应用尝试去读取数据的时候发送。调整有关于Oracle Net发送数据的SDU大小可以优化性能、翻译 2016-07-11 13:34:55 · 3493 阅读 · 0 评论 -
查看Oracle中的隐含参数
在sqlplus中使用show parameter xx可以查看到Oracle定义的参数, 它是通过查询v$parameter获得的. 另外Oracle中还有一些隐含的参数 无法直接通过show parameter的方式查询.我们查看select * from v$parameter的执行计划SQL> set autotrace traceonly;SQL> select * from转载 2016-06-30 14:34:56 · 3166 阅读 · 0 评论 -
RHEL7.1配置VNC
1.安装包yum install vnc* -y2.创建密码vncserver3.创建参数文件[root@single ~]# cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service4.修改参数文件[root@single ~]# vi /lib/systemd/system原创 2016-06-28 13:35:30 · 7935 阅读 · 1 评论 -
data block address
这里讨论的不是数据库管理员DBA,而是数据块地址DBA:Data Block Address!A Data Block Address (DBA) is the address of an Oracle data block for access purposes.----源自《Oracle内核技术揭秘》的探索DBA的结构:8以后,DBA中,前10个二进制位是文件号,后面的就是块号了。DB原创 2016-06-23 20:01:43 · 7739 阅读 · 1 评论 -
dump文件的初体验
create table dxmy (id number,name varchar2(100));insert into dxmy values(1,'dxmy');insert into dxmy values(2,'dxmy');insert into dxmy values(3,'dxmy');insert into dxmy values(4,'dxmy');commit;原创 2016-06-23 10:50:22 · 8654 阅读 · 0 评论 -
delete未提交rollback是否会改变行号
今天做个试验,delete未提交rollback是否会改变行号?创建测试表:create table dxmy (id number,name varchar2(100));插入数据insert into dxmy values(1,'dxmy');insert into dxmy values(2,'dxmy');insert into dxmy values(3,'dx原创 2016-06-22 18:54:28 · 7981 阅读 · 0 评论 -
RHEL7安装oracle软件时报错:could not execute auto check for display colors
那就设置DISPLAY变量:在VNC端,netstat -lp | grep -i vnc查到vnc占用的端口号比如6004那么在DISPLAY中,第一个数是6004-6000root下export DISPLAY=:4.0xhost +su - oracleexport DISPLAY=:4.0很简单,但是不知道的话,就是搞不定原创 2016-06-15 10:24:19 · 9363 阅读 · 5 评论 -
wish8.6: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such
运行hammerdb的时候报错:[oracle@rac1 ~]$ cd HammerDB-2.20/[oracle@rac1 HammerDB-2.20]$ ./hammerdb.tcl wish8.6: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such原创 2016-06-12 14:40:37 · 13728 阅读 · 4 评论 -
ORA-15045: ASM file name '+FRA' is not in reference form
进行RMAN作业的时候,报错:RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================原创 2016-06-08 11:41:17 · 11684 阅读 · 0 评论 -
RHRL7.0安装RAC11.2.0.4----Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/1
在创建数据库的时候报错了:Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'.解决:vi $ORACLE_HOME/sysman/lib/ins_emagent.mkSearch for the line$原创 2016-06-02 13:44:18 · 11788 阅读 · 0 评论 -
RHRL7.0安装RAC11.2.0.4----ohasd服务无法启动
RHRL7.0安装RAC11.2.0.4时,安装GI,执行root.sh的时候,会报错无法启动服务,这个时候需要特殊配置:#touch /usr/lib/systemd/system/ohas.servicechmod 777 /usr/lib/systemd/system/ohas.service[root@rac1 init.d]# cat /usr/lib/systemd/syst原创 2016-06-02 10:59:47 · 4120 阅读 · 0 评论 -
重新配置EM(单机)
emca -deconfig dbcontrol dbemca -repos dropemca -config dbcontrol db -repos create原创 2016-06-01 09:55:24 · 5631 阅读 · 0 评论 -
RHRL7.0安装RAC11.2.0.4----安装操作系统
本次测试环境:操作系统:RHEL7.0数据库:11.2.0.4数据库类型:RAC操作系统安装,步骤在文档下载中有,也可自行百度。注意:安装选择软件时,如果想要有图形界面,需要选择最后一个选项,与以前版本不同的是,各个选项是重复递增的。原创 2016-05-30 22:33:51 · 4320 阅读 · 0 评论 -
依靠dba_hist_tbspc_space_usage视图 获得表空间的每日增长量
select a.name, b.* from v$tablespace a, (select tablespace_id, trunc(to_date(rtime, 'mm/dd/yyyy hh24:mi:ss')) datetime, round(max(tablespace_usedsize * 8 / 1转载 2016-05-20 10:13:59 · 2980 阅读 · 0 评论 -
WARNING: POSSIBLE DNS SPOOFING DETECTED! 解决
在进行添加节点,配置用户等效性的时候,报错:[oracle@rac2 ~]$ ssh oracle@rac1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: POSSIBLE DNS SPOOF原创 2016-05-04 14:13:15 · 12994 阅读 · 1 评论 -
oracle与sqlserver的不同:truncate
oracle中,truncate是不可以回滚的SQL> select * from test; ID NAME---------- ---------- 1 SQL> truncate table test; Table truncated SQL> rollback; Rollback complete SQL> select *原创 2016-05-03 11:16:08 · 7437 阅读 · 0 评论 -
oracle与sqlserver关于列别名的一点区别
oracle:SQL> select id "i d" from test; i d---------- 1 SQL> select id [i d] from test; select id [i d] from test ORA-00923: 未找到要求的 FROM 关键字sqlserver:原创 2016-05-03 11:01:17 · 8635 阅读 · 0 评论 -
NHB网络心跳丢失的模拟过程分析
环境:11.2.0.4 RHEL6.5 RAC,两节点问题描述:故意将网络心跳线去掉,分析两节点的心路历程分析过程:1.去掉心跳线2.查看ocssd.log节点1:2016-04-19 00:19:59.407: [ CSSD][299706112]clssnmPollingThread: node rac2 (2) at 50% heartbeat fatal,原创 2016-04-20 15:34:43 · 6686 阅读 · 0 评论 -
由于丢失OLR导致的节点无法启动
环境:RHEL6.5+11.2.0.4 RAC,两节点问题描述:故意把OLR删掉,重启后发现GI无法启动分析过程:1.确认GI启动到了哪一个阶段[grid@rac1 ~]$ crsctl status resource -t -initCRS-4639: Could not contact Oracle High Availability ServicesCRS-4000: C原创 2016-04-19 10:46:07 · 6432 阅读 · 0 评论 -
11.2.0.1升级到11.2.0.4报错之一:UtilSession failed: Patch 9413827
UtilSession failed: Patch 9413827 requires component(s) that are not installed in OracleHome. These not-installed components are oracle.crs:11.2.0.1.0, OPatch failed with error code 73后来查到mos文章:Op原创 2016-04-14 14:56:14 · 4153 阅读 · 0 评论 -
clob变量值无法使用v$sql_bind_capture获得
clob情况:SQL> variable test_c clob;SQL> exec :test_c := 'test';PL/SQL procedure successfully completed.SQL> select * from test_clob where dbms_lob.substr(name,4000)=dbms_lob.substr(:test_c,4000);原创 2016-04-12 18:05:35 · 4220 阅读 · 0 评论 -
如何不做跟踪找到绑定变量值
译自文章:How To Find The Value of a Bind Variable Without Tracing (文档 ID 273121.1)本文目标主要介绍了如何在不启用sql_tracing的情况下确定绑定变量值。范围&使用通常在诊断时需要确认绑定变量的值。查找绑定变量值的方法:SQL> variable bind varchar2(20);SQL> e翻译 2016-04-12 16:08:58 · 1733 阅读 · 0 评论 -
Logmnr的DDL
日志挖掘会挖到DDL环境:11.2.0.4单机在Windows 2008R2开始测试:create table logmntest1 (id number);alter table logmntest1 add name varchar2(100);insert into logmntest1 values(1,'li');然后挖掘出来的结果:--针对DDLSQL_原创 2016-03-29 17:02:34 · 1265 阅读 · 0 评论 -
测试环境归档日志满引发的各种问题
今天在测试锁等待的问题,出现了各种奇葩,锁等待的出现了不理解的地方,详见:http://bbs.csdn.net/topics/391924878但这不是重点,重点是我在自己测试的时候,出现了各种问题:环境:Windows server 2008R2数据库版本:11.2.0.4 单机虚拟机由于表数据量较大,各种delete、update操作之后,归档日志满了:报原创 2016-03-28 18:11:56 · 2059 阅读 · 4 评论 -
Database Vault Administrator的使用
第一次安装Database Vault的时候,先安装好了Database Vault,然后才安装的EM,发现,根本无法访问Database Vault Administrator。后来重新安装,在database configuration的时候,先选择了EM,后配置了Database Vault就可以访问了。在EM上使用具有Database Vault管理权限的用户登录,尝试管理Da原创 2016-03-16 20:45:08 · 2153 阅读 · 0 评论 -
卸载Database Vault
11.2.0.4 on RHEL6.5步骤1:停EM、监听、数据库步骤2:禁用Database Vault[oracle@single1 lib]$ pwd/u01/app/oracle/product/11.2.0/dbhome_3/rdbms/lib[oracle@single1 lib]$ make -f ins_rdbms.mk dv_off ioracle步骤3:启动监听、数原创 2016-03-16 13:37:02 · 1952 阅读 · 0 评论 -
启用Database Vault
步骤1:停止EM、监听、数据库步骤2:启用Database Vault[oracle@single1 ~]$ cd $ORACLE_HOME/rdbms/lib[oracle@single1 lib]$ make -f ins_rdbms.mk dv_on lbac_on ioracle步骤3:启动监听、数据库、EM检查:SQL> select * from v$option wher原创 2016-03-15 13:34:16 · 2247 阅读 · 0 评论