如果查询整库的话得以DBA权限查询数据字典dba_tab_columns
非DBA用户只能查看自己有读取权限的表
可以这样写查询
select owner, table_name
from dba_tab_columns
where lower(column_name)='firstname';
查询出哪些表包含firstname字段以及这些表属于哪个用户
注:dba_tab_columns是一个属于SYS用户的一个View ......
oracle补丁下载
关键字: oracle
9.2.0.4 = 3095277
9.2.0.5 = 3501955
9.2.0.6 = 3948480
9.2.0.7 = 4163445
9.2.0.8 = 4547809(9i最终)
10.1.0.3 = 3761843
10.1.0.4 = 4163362
10.1.0.5 = 4505133
10.2.0.2 = 4547817
10.2.0.3 = 5337014
10.2.0.4 = 6810189
下载补丁时,可进入cmd,使用ftp命令直接登录网站下载。相同版本,针对不同的操作系统,会有不
同的补丁。每个补丁大小约在500MB~1.3GB之间。下面以oracle 10.2.0.2 补丁为例:
ftp updates.oracle.com
user metalib_user 输入密码
cd 4547817
dir
p4547817_10202_AIX64-5L.zip
p4547817_10202_HP64.zip
p4547817_10202_HPUX-IA64.zip
p4547817_10202_LINUX.zip
p4547817_10202_Linux-IA64.zip
p4547817_10202_Linux-x86-64.zip
p4547817_10202_MVS.zip
p4547817_10202_SOLARIS.zip
p4547817_10202_SOLARIS64.zip
p4547817_10202_WINNT.zip
p4547817_10202_WINNT64.zip
使用mget命令下载即可。
结合迅雷,可以取得事半功倍的效果,链接如下:
oracle 9206 patchset:
ftp://updates.oracle.com/3948480/p3948480_920 ......
oracle 多表删除 同时删除多表中关联数据
2009-04-27 14:40
1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉
DELETE t1 from t1,t2 WHERE t1.id=t2.id 或DELETE from t1 USING t1,t2 WHERE t1.id=t2.id
2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉
DELETE t1 from t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或
DELETE from t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL
3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉
DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25
注意此处的delete t1,t2 from 中的t1,t2不能是别名
如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)
上述语句改写成
delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)
多表连接查询很相似,不详加说明了
......
在Oracle8i或以上版本中,可以创建以下两种临时表:
1。会话特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
ON COMMIT PRESERVE ROWS;
2。事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE MyTempTable
所建的临时表虽然是存在的,但是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧,我把下面两句话再贴一下:
--ON COMMIT ......
例如我在oracle10g里配置了2个数据库xljc和xldb,期控制太浏览器种启动分别为:xljc在浏览器中输入 http://zhang:5500/em xldb在浏览器中输入 http://zhang:1158/em如果忘记了启动端口号,可以查询文件
例如我在oracle10g里配置了2个数据库xljc和xldb,期控制太浏览器种启动分别为:xljc在浏览器中输入 http://zhang:5500/em
xldb在浏览器中输入 http://zhang:1158/em如果忘记了启动端口号,可以查询文件
portlist.ini
下面是portlist.ini的内容:
***********************************
iSQL*Plus HTTP 端口号 =5560
Enterprise Manager Console HTTP 端口 (xldb) = 1158
Enterprise Manager 代理端口 (xldb) = 3938
Enterprise Manager Console HTTP 端口 (xljc) = 5500
Enterprise Manager 代理端口 (xljc) = 1830
***********************************
可以在dos命令窗口中用命令修改端口号。
emca -reconfig ports -dbcontrol_http_port 1159
emca -reconfig ports -agent_port 3939
......
一、安装(略)
服务器端
1、windows:(略)
2、linux:待续...
客户端
待续...
--包括配置--
二、登陆
1、sqlplus方式:
client→
用户名:sys
口令: ***
主机字符串:orcl_192.168.1.88 as sysdba //orcl为主机字符串(在tnsnames.ora配置);ip为服务器ip地址
server→
用户名:sys
口令: ***
主机字符串:orcl as sysdba //加上as sysdba 是为了防止“connection as sys should be as sysdba or sysoper”的错误;
2、oracle Enterprise Manager console方式:
&n ......