
oracle_basic
文章平均质量分 57
rudy_gao
这个作者很懒,什么都没留下…
展开
-
Oracle 散列(HASH)聚簇表
Oracle 散列(HASH)聚簇表散列聚簇表Hash clustered table与索引聚簇表非常相似,只有一个主要区别:聚簇键索引被一个hash函数所取代,表中的数据就是索引.所以没有物理索引hash clustered table也有副作用,如果不对表加一个传统索引,将无法对表进行range scan比如 select * from emp where deptno转载 2013-08-25 09:32:27 · 3912 阅读 · 1 评论 -
oracle 查找执行过的sql
---正在执行的select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXTfrom v$session a, v$sqlarea b where a.sql_address = b.address ---类似的sql文本select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXTfrom v原创 2013-08-25 17:46:30 · 1071 阅读 · 0 评论 -
oracle重组收缩表
当对表进行大量delete的操作后,表中会有很多的碎片,此时应该重组收缩表alter table t enable row movement;alter table t shrink space;原创 2013-08-25 17:57:50 · 2005 阅读 · 0 评论 -
oracle临时表
、oracle创建的临时表时,global表示该临时表对所有用户可见,会话退出后自动删除ON COMMIT PRESERVE ROWS 类型的临时表,退出会话时Truncate表内数据;ON COMMIT DELETE ROWS 类型的临时表,退出当前事务时Truncate表内数据。如果要删除临时表,必须使用drop table语句。原创 2013-08-25 19:26:25 · 746 阅读 · 0 评论 -
查看数据库的打开状态
想知道数据库是那种状态,要用到V$instance这个试图。。select status from v$instance;started -------- nomount状态mounted --------mount状态open --------open状态原创 2013-08-26 22:22:00 · 1443 阅读 · 1 评论 -
安装oracle编辑.bash_profile
[oracle@oracledb ~]$ vi .bash_profile ORACLE_BASE=/u01 ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=orcl //注意文件名 PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin export ORACLE_BASE ORACLE_原创 2013-08-27 20:00:27 · 6317 阅读 · 2 评论 -
linux ORACLE_SID查看与设置
1、在Linux下查看 oracle sid : echo $ORACLE_SID2、在Linux下设置 oracle sid : export ORACLE_SID=your_current_sid原创 2013-08-27 21:14:07 · 9229 阅读 · 0 评论 -
oracle实例名,数据库名,服务名等概念区别与联系
oracle实例名,数据库名,服务名等概念区别与联系数据库名、实例名、数据库域名、全局数据库名、服务名 这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。一、数据库名什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库转载 2013-08-29 22:00:30 · 1233 阅读 · 0 评论 -
ORACLE 角色、授权、表空间授权、授予用户使用表空间、dba的赋予与取消
授权某个权限给某个角色:GRANT DELETE ANY TABLE TO "UCITROLE"; 将DELETE ANY TABLE 权限授权给UCITROLE角色权限:ALTER ANY INDEX ALTER ANY TABLE ALTER ANY TRIGGER CREATE ANY INDEX CREATE ANY JOB CREATE ANY SEQUE转载 2013-09-07 12:25:43 · 2499 阅读 · 0 评论 -
oracle数据库是归档模式
查看oracle数据库是否为归档模式 SQL> select name,log_mode from V$database; NAME LOG_MODE ------------------ ------------------------ TEST NOARCHIVELOG SQL> archive log list Database log mode No Archive转载 2013-09-07 09:17:05 · 801 阅读 · 0 评论 -
查看归档文件路径
查看初始化参数show parameter log_archive_dest看到是哪个目录就是它了如果没有值,再查show parameter db_recovery_file_dest转载 2013-09-08 17:46:30 · 1955 阅读 · 0 评论 -
standby密码文件
1.创建standby数据库时,一定要确保主数据库的密码文件与备数据库文件的密码一致原创 2013-09-08 19:34:35 · 858 阅读 · 0 评论 -
lsnrctl 写日志
1. 在写alert日志后,应该把监听器打开,由其在data guard 环境中转载 2013-09-08 17:50:14 · 903 阅读 · 0 评论 -
解锁scott
在新安装的oracle上scott账户是锁定的解决:(1)conn sys/sys as sysdba;//以DBA的身份登录(2)alter user scott account unlock;// 然后解锁(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了原创 2013-09-05 21:37:40 · 612 阅读 · 0 评论 -
oracle参数文件、控制文件、数据文件、日志文件存放位置查看
1.参数文件和网络连接文件SQL> show parameter spfile;NAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string /u01/app/oracle/product/11.2.0/dbhome_2/转载 2013-09-15 16:45:46 · 1629 阅读 · 0 评论 -
rman & lsnrctl 监听器
1. 在以rman target sys/password@test,连接rman时,此时必须lsnrctl start在数据库实例被mount时先启动,否则会报RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE ST原创 2013-09-15 07:44:04 · 979 阅读 · 0 评论 -
oracle 移动数据文件
1.先将相应的数据文件 offline ALTER DATABASE DATAFILE'D:/ORACLE/ORADATA/DBA/TEST01.DBF' OFFLINE;--(在oracle11g中可以省略)2.把数据文件 copy 到新位置3. alter database rename file'D:/ORACLE/ORADATA/DBA/TEST01.DBF' to 'D:/T原创 2013-09-15 10:56:28 · 903 阅读 · 0 评论 -
了解你的oracle
1、先要了解当前的Oracle 数据库的版本和平台和相关信息 这个很重要,忙乎了半天还知道你的数据库是哪个版本,跑在什么系统上,那岂不是很悲哀,所以我个人认为这是第一步需要了解的。下面的这些脚本可以帮助你获取你需要的相关信息。 select * from v$version; select * from dba_registry_database; select d原创 2013-10-08 20:55:47 · 653 阅读 · 0 评论 -
Oracle DBA职责及日常工作分析
DBA 职责及日常工作职责: 1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境. 2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案. 3.根据开发人员设计的应用系统需求创建数据库存储结构. 4.根据开发人员设计的应用系统需求创建数据库对象5.根据开发人员的反馈信息,在必要的时候修改数据库的结构 6.管理数据库的转载 2013-10-08 20:57:20 · 900 阅读 · 0 评论 -
oracle count函数
1. count函数1.1. count查询结果count(*)是以所有字段做countcount(1)是以查询结果第一个字段做count,两者的结果是一样的这里的1应该不是位置变量,相当于给*的结果加一个值为1伪列,再count 1的数量所以结果和count(*)是一样的,即count(rowid)count(1),你可以理解成有个字段,这个字段就是固定值1,那么也是原创 2013-10-25 08:53:48 · 3456 阅读 · 0 评论 -
Oracle group by 用法实例详解
1. Group by的语法Select [filed1,fild2,]聚合函数(filed),[Grouping(filed),][Grouping_id(filed1,filed2,…)]From tablenameWhere condition[Group by {rollup|cube}(filed,filed2)][having c转载 2013-10-25 09:17:33 · 1411 阅读 · 0 评论 -
oracle清除缓存
SQL>ALTER SYSTEM FLUSH SHARED_POOL/BUFFER_CACHE/GLOBAL CONTEXT原创 2013-10-25 09:04:50 · 1533 阅读 · 0 评论 -
ORACLE中获得受影响记录行数
create table rzl(uuid varchar2(32)) ;declare cot number ;begin delete from rzl where 1=1; cot := sql%rowcount; dbms_output.put_line(sql%rowcount); dbms_output.p转载 2013-10-25 11:47:38 · 9072 阅读 · 0 评论 -
Oracle 过程中执行动态 SQL 或 DDL 语句
如果你用的是 Oracle 8i 及以上的版本,那简单,在过程中用 execute immediate sql_str 就行, sql_str 是一个拼凑的 SQL 语句,但这个动态语句中带参数,或 Select 的结果要 into 到变量中时就要稍加留心一下了。而在 8i 以前的版本(谁还用这么古老的玩艺,总有些不得已的地方,老系统考虑升级成本遗留下来的,应用软件所伴随着的等),都没法用 exe转载 2013-10-25 12:06:08 · 2642 阅读 · 0 评论 -
异常结束后继续执行
当你运行一个过程,例如: DeclearBegin DELETE TABLE t_a where .....; UPDATE t_b set .....; DELETE TABLE t_c where .....;Exception WHEN OTHERS THEN转载 2013-10-25 11:38:25 · 2159 阅读 · 0 评论 -
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name
解决方法: 在启动的时候先设置一下oracle_unqname set oracle_unqname=$ORACLE_SID如果还是失败,在环境变量中添加: vi ~/.bash_profile (在oracle home目录下,如:cd /u01/oracle) 在最后添加:export ORACLE_UN转载 2013-10-20 21:51:26 · 1340 阅读 · 0 评论 -
oracle/product/10.2.0/dbhome_1/oc4j/j2ee/OC4J_DBConsole_localhost.localdomain_orcl not found.
要想打开OEM的web管理程序,必须先启动Database listener,再启动Datebase Control端口监控程序,但是碰到下面的情况 问题: [oracle@localhost OC4J_DBConsole]$ emctl start dbconsole TZ set to PRC OC4J Configuration issu转载 2013-10-20 22:07:50 · 1259 阅读 · 0 评论 -
oracle常用命令
1. select * from user_tables;2. select * from user_triggers;3. select * from user_views;4. select * from user_sequences;5. select * from user_objects where object_type='FUNCTIO原创 2013-10-21 15:15:35 · 633 阅读 · 0 评论 -
oracle redo undo
通常对undo有一个误解,认为undo用于数据库物理地恢复到执行语句或事务之前的样子,但实际上并非如此。数据库只是逻辑地恢复到原来的样子,所有修改都被逻辑地取消,但是数据结构以及数据库块本身在回滚后可能大不相同。原因在于:在所有多用户系统中,可能会有数十、数百甚至数千个并发事务。数据库的主要功能之一就是协调对数据的并发访问。也许我们的事务在修改一些块,而一般来讲往往会有许多其他的事务也在修改这些块转载 2013-10-26 11:22:49 · 736 阅读 · 0 评论 -
sql plus登陆
1. 直接登陆sqlplus "username/passord@id"2. 先进入sqlplusC:\Documents and Settings\Administrator>sqlplus用户名:username@ip原创 2013-10-21 18:47:48 · 809 阅读 · 0 评论 -
oracle 基本统计信息
1. 查看表统计信息select table_name, num_rows from user_tables;原创 2013-10-21 18:33:57 · 780 阅读 · 0 评论 -
user_tables 行数与真实行数
1. 通过查询SELECT COUNT(ID) FROM user;SELECT u.NUM_ROWS FROM user_tables u WHERE u.TABLE_NAME=UPPER('user');两者之间的数据会有一定的误差2. 此时如果差距太大,需要进行表的信息统计.原创 2013-10-30 14:21:29 · 4024 阅读 · 0 评论 -
Oracle创建表时Storage参数具体含义
在Oracle数据库创建新表时Storage的参数具体含义。 可用于:表空间、回滚段、表、索引、分区、快照、快照日志参数名称缺省值最小值最大值说明INITIAL5(数据块)2(数据块)操作系统限定分配给Segment的第一个Extent的大小,以字节为单位,这个参数不能在alter语句中改变,如果指定的值小于最小值,转载 2013-10-30 20:51:53 · 4309 阅读 · 0 评论 -
Oracle的directory详细路径查看、创建及修改
directory对象所定义的路径可以在EM中的“管理”-“方案”-“目录对象”进行查看、创建或修改 用命令来创建directory,则为如下语句:SQL>create directory dumpdir as '/home/dumpdata/';要更改dumpdir目录的路径,则为如下语句:SQL>create or replace directory dumpdir as '/原创 2013-10-31 18:00:10 · 48313 阅读 · 0 评论 -
oracle 查看所在操作系统版本
1. SELECT * FROM v$osstat; 2. SELECT * FROM PRODUCT_COMPONENT_VERSION;原创 2013-11-22 13:28:01 · 6660 阅读 · 1 评论 -
oracle 查看表注释,列注释,列类型
在我们接触一个新的系统时,往往要接触系统的数据库,要了解系统表,最好可以全局的浏览整个系统select t.TABLE_NAME as 表名, a.comments as 表注释, t.COLUMN_NAME as 列名, s.DATA_TYPE || '(' || s.DATA_LENGTH || ')' as 列类型, t.COMMENT原创 2013-11-28 15:41:25 · 2349 阅读 · 0 评论 -
ROWNUM伪列:
ROWNUM伪列:1、使用SELECT语句返回的结果集,希望按特定条件查询前N条记录,可以使用伪列ROWNUM。ROWNUM是对结果集加一个伪列,先查到结果集后再加上一个列,是符合条件结果的序列号;从1开始排起,只能用 = !=这些比较符合。ROWNUM对于等于某值的查询条件,比如查询第一条记录,可以使用ROWNUM=1作为条件;但是如果查询第二条记录写ROWNUM=2则查询不到数据,RO转载 2013-11-29 16:12:59 · 851 阅读 · 0 评论 -
两种分页排序比较
1. select a.* from (select t.*, rownum rownum_ from (select * from project c order by c.project_name) t where rownum <= 20) a where rownum_ >= 1;由执行计划可知,其先进行全表扫描,原创 2013-11-29 16:43:01 · 1229 阅读 · 0 评论 -
Oracle字符串连接的方法
和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。比如执行下面的SQL语句:SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_EmployeeWHERE FName IS NOT NULL除了“||”,Oracle还支持使用CONCAT()函数进转载 2013-11-29 17:28:08 · 1124 阅读 · 0 评论 -
Oracle序列
总结几点(1)序列适合生成唯一且连续的主键值,但是个人认为不太适合生成具有业务意义的字段,在这个业务中用生成的序列作为用户抽奖编号,以此判断用户是否中奖,具有业务意义的字段,是否用max函数去生成这个编号会更好,但是使用max函数的话会不会有并发问题。使多个用户抽到同一个编号(2)当使用到序列的事务发生回滚。会造成序列号不连续。在用生成的序列值作为抽奖编号做插入数据库操作时,可能遇到事务提转载 2013-11-29 12:36:23 · 763 阅读 · 0 评论