显示标签为“Oracle”的博文。显示所有博文
显示标签为“Oracle”的博文。显示所有博文

2014年5月6日星期二

oracle 锁表

select sess.sid,
    sess.serial#,
    lo.oracle_username,
    lo.os_user_name,
    ao.object_name,
    lo.locked_mode
    from v$locked_object lo,
    dba_objects ao,
    v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

alter system kill session '126,16688'; --SID,SERIAL#

2014年2月17日星期一

update 子查询隐含风险

update examinees s
   set (s.birthdate,
        s.issuecertdate,
        s.acceptgradedate,
        s.lastmodifieddate) = 
(select  to_char(t.birthdate, 'yyyy/mm/dd'),
        to_char(t.issuecertdate, 'yyyy/mm/dd'),
        to_char(t.acceptgradedate, 'yyyy/mm/dd'),
        to_char(t.lastmodifieddate, 'yyyy/mm/dd') from examinees_impto_zt t where
         s.examineeid = to_char(t.examineeid))
 where exists(select 1 from examinees_impto_zt b where s.examineeid = to_char(b.examineeid));

win7 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法

1)安装Oracle 11g 64位
2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)
下载 instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_11_2):D:\Oracle\app\YM\product\instantclient_11_2。
拷贝数据库安装根目录下的一个目录D:\Oracle\app\YM\product\11.2.0\dbhome_1\NETWORK到Oracle客户端目录下D:\Oracle\app\YM\product\instantclient_11_2(其实只需要 NETWORK\ADMIN\tnsnames.ora)
3)安装PL/SQL Developer
安装 PL/SQL Developer,在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:
Oracle Home :D:\Oracle\app\YM\product\instantclient_11_2
OCI Library : D:\Oracle\app\YM\product\instantclient_11_2\oci.dll
 
4) 设置环境变量(修改PATH和TNS_ADMIN环境变量)

对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
SQL> select userenv('language') nls_lang from dual;
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
1>.选择"Path" - 点击"编辑", 把 "D:\Oracle\app\YM\product\instantclient_11_2;" 加入;
2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"D:\Oracle\app\YM\product\instantclient_11_2;", 点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
最后点击"确定"退出.

启动 PL/SQL Developer ,运行无问题。

2010年3月30日星期二

OLAP(On_line Analytical Processing联机分析处理) 和 OLTP(On_line Transaction Processing联机事务处理)

OLAP(On_line Analytical Processing联机分析处理) 和 OLTP(On_line Transaction Processing联机事务处理)

OLTP:On_line Transaction Processing 联机事务处理 ,以业务处理为主

OLAP:On_line Analytical Processing     联机分析处理,则是专门为支持复杂的分析操作而设计的,侧重于对决策人员和高层管理人员的决策支持

2009年11月18日星期三

Oracle 分组 取第一条记录

id        apply_id
1         1
2         1
3         1
4         2
5         2
6         3
7         3
8         3

取出
id        apply_id
3         1
5         2
8         3

select alx_a.id
from
(select id,apply_id,rownum rid from 表) alx_a,
(select id,apply_id,rownum rid from 表) alx_b
where alx_a.apply_id = alx_b.apply_id and alx_a.id <= alx_b.id
group by alx_a.id,alx_a.apply_id
having count(*) = 1

2009年9月14日星期一

捣鼓Oracle

--创建数据库,貌似创建数据库的sql较复杂,
创建数据库的脚本:
-----------------------------------------------------------
CREATE DATABASE dbtest
LOGFILE
GROUP 1 ('/opt/oracle/oradata/dbtest/redo01.log','/opt/oracle/oradata/dbtest/redo01_1.log') size 100m reuse,
GROUP 2 ('/opt/oracle/oradata/dbtest/redo02.log','/opt/oracle/oradata/dbtest/redo02_1.log') size 100m reuse,
GROUP 3 ('/opt/oracle/oradata/dbtest/redo03.log','/opt/oracle/oradata/dbtest/redo03_1.log') size 100m reuse
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 500
MAXINSTANCES 5
ARCHIVELOG
CHARACTER SET UTF8
NATIONAL CHARACTER SET UTF8
DATAFILE '/opt/oracle/oradata/dbtest/system01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/opt/oracle/oradata/dbtest/sysaux01.dbf' SIZE 1000M
UNDO TABLESPACE UNDOTS DATAFILE '/opt/oracle/oradata/dbtest/undo.dbf' SIZE 500M
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oracle/oradata/dbtest/temp.dbf' SIZE 500M
;

--还是用Database Configuration Assistant 来创建和配置数据库。
--创建表空间
create tablespace official_tablespace
datafile 'E:\oracle\product\10.2.0\oradata\spring\official_data.dbf'
size 5M
autoextend on;--自动增长


--建完表空间 建用户
create user official3 identified by offi1234 default tablespace official_tablespace;

--接着授权给新建的用户

grant connect,resource to official3; --表示把 connect,resource权限授予news用户
grant dba to official3; --表示把 dba权限授予给news用户

--表的数据备份:PL/SQL----->TOOLS--------->Export Tables
------------------------------------------------
删除表空间
DROP TABLESPACE TableSpaceName INCLUDING CONTENTS AND DATAFILES;
删除用户
DROP USER official CASCADE
删除表的注意事项
在删除一个表中的全部数据时,须使用
TRUNCATE TABLE 表名
因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,
反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。

参考:http://www.cnblogs.com/smartvessel/archive/2009/07/06/1517690.html
http://ilinux.javaeye.com/blog/178306