- 浏览: 50184 次
- 性别:
- 来自: 济南
最新评论
-
qq672076266:
editplus sql语法着色 保存为.stx -
xurichusheng:
在第10行加上#NUMBER_PATTERN=cpp
editplus sql语法着色 保存为.stx -
xurichusheng:
#KEYWORD=MethodTO_CHARNVLASCIIC ...
editplus sql语法着色 保存为.stx -
nwpuxueyong:
发个评论真不容易。先得回答问题。第一篇文章不知道写的,完全看不 ...
editplus sql语法着色 保存为.stx -
xuhang1128:
greatwqs 写道现在的oracle 11g都不能用pls ...
PL/SQL Developer的常用技巧
文章列表
(a).分配区和释放区
分配:alter index ix_my_tab allocate extent;(可以指定分配的数据文件区)
释放:alter index ix_my_tab deallocate unused (keep 100m);
(b).修改日志属性
alter index ix_my_tab logging;
alter index ix_my_tab nologging;
(c).修改存储和物理属性
alter index ix_my_tab pctfree 10 pctused 40 initrans 5 storage(next 100k maxextents unli ...
首先:要求归档模式,先将数据库打到归档模式;
其次:将备份的内容置于backup模式下,这是联机热备必需的操作,不然copy备份的数据文件不能用来恢复,即使恢复了也会丢失数据
例如:要备份users表空间,先将users表空间置于backup模式
alter tablespace users begin backup;
将users表空间置于backup模式就是锁定了users表空间对应的数据文件头的change scn。
如果锁定了文件头这个文件头的scn就不会改变,当然数据块还是会变化的还可以做读写,然后就会应用这个scn号到现在的日志,这样
不管后面怎么修改,恢复的时候就是scn锁定的时候 ...
正常来说在完成select语句等一些使用temp表空间的排序操作后,oracle是会自动释放掉临时表时段的,但有时候也会遇到临时时段没有被释放,temp表空间几乎满的状况,下面给出几种处理方案:
方法一:重启数据库,这时smon进程会完成临时段的释放清理temp表空间的操作。
方法二:可以修改一下temp表空间的storage参数,让smon进程关注一下临时段,从而达到清理表空间的目的。
alter tablespace temp increase 1;
alter tablespace temp increase 0;
方法三:用语句查询谁在使用临时段
SELECT se.username,
...
开始 -> 程序 -> Oracle -> Configuration and Migration Tools ->
Net Manager→本地→概要文件→Oracle高级安全性→验证→去掉所选方法中的 "NTS"
结论:
如果数据库是正常shutdown,非当前日志都可以直接clear来重新生成,而且不会丢失数据,因为正常关闭db,数据已经写入dbf文件了。
唯独当前日志不可以,当前日志必须首先从有效的备份中拷贝一个日志文件过来,然后用
alter database clear unarchived logfile group n;
方法二:用cancel模式恢复数据库
recover database until cancel;
alter database open resetlogs; --resetlogs就是根据控制文件让系统自动重新生成redo
结论:
如果数据库是正常关闭的,用reco ...
1.数据库的监控工具:for oracle v1.2
程序主要的功能有:
a.保存数据库配置参数,帮助DBA进行数据库的维护管理
b.保存日常使用的Oracle Script,并能直接在程序内部运行输出结果
c.保存日常收集的文档资料,帮助DBA快速的查找到需要的资料
d.能够按照指定的格式输出查询结果,包括等列分割,html,csv,电子表格格式等,并且能够将输出结果方便的排序。
e.能够定时的收集数据库的信息,并且保存至本地文件或者本地数据库或者直接发送给指定的邮件接收者。
f.能够按照设定的触发条件来执行脚本,比如发送message至指定工作站,发送短信,执行切换脚本等。
g.能够导出导入 ...
14.并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时,SQL查询可能不会去利用索引,如一表中有字段sex,male、female几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用。
18.尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。
20.尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。
21.避免频繁创建和删除临时表,以减少系统表资源的消耗。
23.在新建临 ...
8.应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where num/2=100
应改为:
select id from t where num=100*2
9.应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where substring(name,1,3)='abc'--name以abc开头的id
select id from t where datediff(day,createdate,'2005-11-30')=0-- ...
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0
3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
4.应尽量避免在 where 子句中使用 or 来连接条件 ...
通常情况下,用PL/SQL Developer连接Oracle是需要安装Oracle客户端软件的,这也就意味着你的硬盘将被占用大约1G-2G的空间,对于Windows操作系统来说,你还会多出一些开机自启动的服务。当然对于大部分人来说,并不会在自己的机器上应用所创建的数据库,而只是希望通过他的一些配置来连接访问服务器上的数据库。
其实Oracle为我们提供了轻便的工具Oracle Instantclient package,也有人称他为“Oracle即时客户端”。使用此工具,我们就可以在不安装Oracle客户端软件的情况下访问存在于其他计算机上的数据库了。
首先:下载安装包 ...
1.停止所以oracle的服务:在计算机中的控制面板里的服务中去停止所以以"oracle"开头的所有服务项目.
2.用Universal Install缷载所以oracle产品
3.删除注册表中的oracle入口信息
在命令窗口输入regedit
把"HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE"删除;
把"HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES"下的oracle入口删除; ...
46.厉害的with语句:
WITH
dept_costs AS (--定义了一个临时的表
SELECT d.department_name, SUM(e.salary) AS dept_total--其间定义了一个临时的列dept_total
FROM employees e, departments d
WHERE e.department_id = d.department_id
...
41.使用函数得到数月之后的日期:to_yminterval(‘01-02’)表示加上1年2月,不能够到天!!
select hire_date,hire_date +to_yminterval('01-02') as hire_date_new from employees where department_id=20
得到多少天之后的日期:直接日期加数字!
select hire_date +3 from employees where department_id=20
42.一般的时间函数:
MONTHS_BETWEEN (' ...
21.添加列名同时和约束:alter table EMP add (dept_id number(7) constraint my_emp_dept_id_fk references dept(ID));
22.改变列:alter table dept80 modify(last_name varchar2(30));
23.增加一行:insert into table_name values();
24.添加主键: alter Table EMP add constraint my_emp_id_pk primary key (ID);
25.添加一个有check约束的新 ...