oracle 数据管理
一:
使用Profile对用户Session会话进行资源限制
--但是如果使用了连接池之类的东东,就会出些问题,比如前台连接不上之类的
--http://www.eygle.com/archives/2008/10/profile_session_limit.html
sqlplus "/ as sysdba"
SQL> show parameter resource
SQL> alter system set resource_limit=true;
SQL> SELECT * from DBA_PROFILES;
--创建一个允许3分钟IDLE时间的PROFILE:
SQL> CREATE PROFILE KILLIDLE LIMIT IDLE_TIME 3;
Profile created.
SQL> col limit for a10
SQL> select * from dba_profiles where profile='KILLIDLE';
SQL> alter user eygle profile killidle;
SQL> select username,profile from dba_users where username='EYGLE';
二:
如何把数据导入不同的表空间
--http://www.eygle.com/archives/2005/04/ecineeeeiaeioae.html
回收用户unlimited tablespace权限
这样就可以导入到用户缺省表空间
SQL> create user bjbbs identified by passwd
2 default tablespace bjbbs
3 temporary tablespace temp
4 /
User created.
SQL> grant connect,resource to bjbbs;
Grant succeeded.
SQL> grant dba to bjbbs;
Grant succeeded.
SQL> revoke unlimited tablespace from bjbbs;
Revoke succeeded.
SQL> alter user bjbbs quota 0 on users;
User altered.
SQL> alter user bjbbs quota unlimited on bjbbs;
User altered.
SQL> exit
重新导入数据
$ imp bjbbs/passwd file=bj_bbs.dmp fromuser=jive touser=bjbbs grants=n
SQL> select table_name,tablespace_name from user_tables;
则可以查看到数据导入了bjbbs
三:
Oracle中模拟及修复数据块损坏
--http://www.eygle.com/faq/Block_corruption.htm
一个数据块损坏后查询会出现如下错误提示
SQL> select count(*) from eygle.t;
select count(*) from eygle.t
*
ERROR 位于第 1 行:
ORA-01578: ORACLE 数据块损坏(文件号4,块号35)
ORA-01110: 数据文件 4: 'E:\ORACLE\ORADATA\EYGLE\BLOCK.DBF'
SQL>
有个内部工具BBED也可以用来编辑数据块的内容
使用DBV检查数据文件
E:\Oracle\oradata\eygle>dbv file=block.dbf blocksize=8192
DBVERIFY: Release 9.2.0.4.0 - Production on 星期一 3月 8 20:48
相关文档:
connect by 是结构化查询中用到的,其基本语法是:
select ... from tablename start with 条件1
connect by 条件2
where 条件3;
例:
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
简单说来是将一个树状结构存储在一张表里,比如一个表 ......
先看Oracle 官方解释
Oracle managed file (OMF)
A file that is created automatically by the Oracle database server when it is needed and automatically deleted when it is no longer needed.
如何判断你的数据库是否为支持OMF
SQL> show parameter db_create_file_dest;
NAME & ......
在Oracle数据库中''与NULL是等价的。均表示空值,而不是类似其他数据库上''表示空串,NULL表示空值。
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
说明:
1、NULL等价于没有任何值、是未知数。
2、NULL与 ......
一直听到的都是说尽量用exists不要用in,因为exists只判断存在而in需要对比值,所以exists比较快,但看了看网上的一些东西才发现根本不是这么回事。
下面这段是抄的
Select * from T1 where x in ( select y from T2 )
执行的过程相当于:
select *
......
Oracle developer以其快速的数据处理开发而闻名,其异常处理机制也是比较完善,不可小觑。
1、 异常的优点
如果没有异常,在程序中,应当检查每个命令的成功还是失败,如
BEGIN
SELECT ...
-- check for ’no data found’ error
SELECT ...
-- check for ’no data found’ error
SEL ......