Oracle 常用SQL语句(8)

2019-03-22 09:05

WHERE a.department_id = b.department_id AND a.salary > b.salavg;

41exists语句的使用:

SELECT employee_id, last_name, job_id, department_id

FROM employees outer--下面的 exists里面的select选择出来的是随便的一个字符或者数字都可以

WHERE EXISTS ( SELECT 'X' FROM employees WHERE manager_id = outer.employee_id);

42厉害的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 GROUP BY d.department_name),/*注意这里有逗号*/ avg_cost AS (

SELECT SUM(dept_total)/COUNT(*) AS dept_avg

FROM dept_costs)--这里的第二张临时表里面就引用了前面定义的临时表和之间的列!

SELECT * FROM dept_costs WHERE dept_total > (SELECT dept_avg FROM avg_cost) ORDER BY department_name;---最后的查询语句中使用了前面的临时表

43遍历树:

SELECT employee_id, last_name, job_id, manager_id FROM employees

START WITH employee_id = 101

CONNECT BY PRIOR manager_id = employee_id ;--自底向上的遍历树。

44.更新语句

UPDATE employees SET

job_id = 'SA_MAN', salary = salary + 1000, department_id = 120 WHERE first_name||' '||last_name = 'Douglas Grant';

UPDATE TABLE (SELECT projs

FROM dept d WHERE d.dno = 123) p SET p.budgets = p.budgets + 1 WHERE p.pno IN (123, 456);

11.导入导出dmp文件:

imp 用户名/密码@数据库 ignore=y file=备份文件 log=D:\\DBtest\\db_bak\\imp.log

exp system/manager@TEST file=d:\\daochu.dmp full=y

Oracle 如何使用超过1.7G的内存

2010-08-03 11:34

如果你的ORACLE 版本是32位的,如果不做一些配置你是无论如何使用不到1.7G以上内存的。

前两天公司里一个软件系统,需要配置这样的环境,对于我这样的ORACLE所谓的高手,有点不知所措,甚至要硬着头皮去搞定它, 这可是到新公司接到的第一件活。必须搞定,否则ORACLE DBA就图有虚名了。 于是马上上网搜一下,文章果然,但是大都雷同,

而且针对的是ORACLE9I 的。我在实验的时候,也把客户的环境搞杂了,实在惭愧呀。不过经过一天多的折腾,也算是搞出来了。 软件环境:

Oracle 10.2.0.1

OS:Windows 2003 Server SP2 32bit 硬件环境: 内存:4G

CPU:Intel Core(TM)2 6300 1.86Ghz

这个环境很重要,特别是ORACLE的版本,跟ORACLE9i的配置肯定是不一样的。

1) 操作系统配置AWE,主要是修改boot.ini文件

右击\我的电脑\,选择\属性\高级选项卡,找到“启动与故障恢复”,单击“设置”,然后单击“编辑”,

加/PAE选项,修改后的文件如下: [boot loader] timeout=30

default=multi(0)disk(0)rdisk(0)partition(2)\\WINDOWS [operating systems]

multi(0)disk(0)rdisk(0)partition(2)\\WINDOWS=\Windows Server 2003, Enterprise\/pae

multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS=\XP Professional\

2) 配置oracle可以使用的内存,修改注册表。 找到ORACLE的注册表项

HKEY_LOCAL_MACHINE\\SOFTWARE\\ORACLE\\KEY_OraDb10g_home1,再你的机器上KEY_OraDb10g_home1不是这个名称,

添加一个字符串值项:AWE_WINDOW_MEMORY ,这个值是你准备分配给数据库用的最大内存数(以BYTE为单位),例如你想分配4G,那这个值就是

4*1024*1024*1024

3) 获取可编辑的ORACLE初始化参数文件 Windows 命令行

Sqlplus \REM (如果登陆不进去将当前用户加入到ora_dba组中)

SQLPLUS>CREATE PFILE='初始化参数文件的路径' from spfile SQLPLUS>Shutdown immediate SQLPLUS>exit

4) 编辑ORACLE初始化参数文件

请用Ulatra editor(当然其他的也可以,但是千万不要用记事本) 打开在第三步生成的初始化参数文件(最好能备份一下,以便出现差错的时候还可以使用最初的文件启动) 第一注销掉以下行: sga_max_size

sga_target

DB_CACHE_SIZE

修改或者添加以下参数

*.db_block_buffers=262144 #等于原来的

DB_CACHE_SIZE/db_block_size, 例如你希望DB_CACHE_SIZE的大小是2G,则此值是2*1024*1024K/8K= 262144

*.SHARED_POOL_SIZE=419430400 #是以byte为单位的 400M(这个参数设置过大会报错的,因为ORACLE AWE的配置不是针对他的) *.log_buffer=73400320 #是以byte为单位的 70M(这个参数设置过大会报错的,因为ORACLE AWE的配置不是针对他的)

*.use_indirect_data_buffers=true # 这个参数的含义是我们是通过设置db_block_buffers来计算得到DB_CACHE_SIZE


Oracle 常用SQL语句(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:暖通空调CAD技术及相关软件的开发

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: