易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Oracle

如何修改数据库名(ORACLE)

1.用oracle自带的工具nid改数据库名
在本例中,假设原来的数据库名为test,要改成testdb,原实例名(service_name,instance_name)test,要改成testdb.
nid是自带的工具,在oracle_home/bin目录中.以下方法假设登陆到数据库本机做。
1.1 sqlplus "sys/password as sysdba"
1.2 sql>shutdown immediate --先停掉数据库
1.3 sql>startup mount --nid需要在mount状态下才能做。
1.4sql>host nid target=sys/password dbname=new_dbname --nid是一个在操作系统下执行的命令,在sqlplus环境中用host 去调用操作系统环境下的命令。命令中,当你想将数据库名字改为TESTDB时,应写成dbname=testdb
1.5执行后程序会询问:
Change database ID and database name TEST to TESTDB? (Y/[N]) =>y
敲y确定。
之后程序会对控制文件,数据文件进行修改:
Control File C:ORACLEORADATATESTCONTROL01.CTL - modified
Control File C:ORACLEORADATATESTCONTROL02.CTL - modified
Control File C:ORACLEORADATATESTCONTROL03.CTL - modified
Datafile C:ORACLEORADATATEST YSTEM01.DBF - dbid changed, wrote new name
Datafile C:ORACLEORADATATESTUNDOTBS01.DBF - dbid c ......

oracle 触发器全扫描


2.1 触发器的创建
CREATE TRIGGER [schema.]trigger_name
{BEFORE|AFTER} {UPDATE|INSERT|DELETE} ON [schema.]table_name
[ [REFERENCING correlation_names] FOR EACH ROW [WHEN (condition)] ]
DECLARE
declaration
BEGIN
pl/sql code
END;
/
2.2 触发器的管理
1) 查看触发器:
SQL> desc ALL_TRIGGERS;
名称 空? 类型
-------------------- -------- ----------
owner VARCHAR2(30)
trigger_name VARCHAR2(30)
trigger_type VARCHAR2(16)
triggering_event VARCHAR2(216)
table_owner VARCHAR2(30)
base_object_type VARCHAR2(16)
table_name VARCHAR2(30)
column_name VARCHAR2(4000)
referencing_names VARCHAR2(128)
when_clause VARCHAR2(4000)
status VARCHAR2(8)
description VARCHAR2(4000)
action_type VARCHAR2(11)
trigger_body LONG
2) 查看触发器的代码:
触发器的源代码被存贮在 ALL_TRIGGERS 的 trigger_body 字段中。抽取触发器定义的命令:
SET ECHO OFF
SET MAXDATA 20000
SET LONG 20000
SET LONGCHUNKSIZE 1000
SET PAGESIZE 0
SET HEADING OFF
SET TRIMSPOOL ON
SET TRIMOUT ON
SET RECSEP OFF
ACCEPT ......

PLSQL Developer Oracle数据库10g导出错误6550

现象:使用plsql/developer工具导出数据时出现错误,具体示例如下:
  EXP-00056: 遇到 ORACLE 错误 6550
  ORA-06550: line 1, column 41:
  PLS-00302: component 'SET_NO_OUTLINES' must be declared
  ORA-06550: line 1, column 15:
  PL/SQL: Statement ignored
  EXP-00000: 导出终止失败
  解决办法如下:
  exp.exe 改成使用 expdp.exe
  类似导入时使用impdp.exe命令
  在plsql/dev中办法改成E:/oracle/product/10.2.0/client_2/bin/expdp.exe就可以了。
from:http://www.51yanxiu.com/comp/ora/jishu/20090527/251600.html ......

ibatis oracle 存储过程

1.配置文件
<resultMap id="result-map" class="com.xxx.xxx.Table">  
    <result property="rsId" column="id" />  
    <!--在Java对象跟Oracle列之间转换 -->  
</resultMap>  
<parameterMap id="parameter-map" class="java.util.HashMap" >    
    <parameter property="param1" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>    
    <parameter property="param2" jdbcType="Integer" javaType="java.lang.Integer" mode="IN"/>    
    <parameter property="result" jdbcType="ORACLECURSOR" javaType="java.sql.ResultSet" mode="OUT" />  
</parameterMap>  
<procedure id="testCur" resultMap="result-map" paramet ......

Oracle里汉字长度问题


问题描述:
  varchar2(4000) abc;
  intert into table_name(abc) values('这里有1500个汉字……');
  报错:插入字符过长!经过测试,发现一个汉字占3个字节,所以报错!!!
  问题所在:
  使用的字符集是UTF8,就有可能出现这个错误!
  使用命令查看:
  SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
  PARAMETER
  --------------------------------------------------------------------------------
  VALUE
  --------------------------------------------------------------------------------
  NLS_CHARACTERSET
  AL32UTF8
解决方法:
  建议使用ZHS16GBK字符集!
  操作:
  SQL> SHUTDOWN IMMEDIATE;
  SQL> STARTUP MOUNT;
  SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
  SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
  SQL> ALTER DATABASE OPEN;
  SQL> ALTER DATABASE CHARACTER SET AL32UTF8/ZHS16GBK;
  SQL> SHUTDOWN IMMEDIATE;
  SQL> STARTUP;
问题解决! ......

如何处理Oracle中TEMP表空间满的问题?

正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题。这个问题在论坛中也常被网友问到,下面我总结一下,给出几种处理方法。
法一、重启库
库重启时,Smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的应用机会,不过这种方法还是很好用的。
法二、Metalink给出的一个方法
修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。
SQL>;alter tablespace temp increase 1;
SQL>;alter tablespace temp increase 0;
法三、我常用的一个方法,具体内容如下:
1、 使用如下语句a查看一下认谁在用临时段
SELECT username,
sid,
serial#,
sql_address,
machine,
program,
tablespace,
segtype,
contents
from v$session se,
v$sort_usage su
WHERE se.saddr=su.session_addr
2、 那些正在使用临时段的进程
SQL>;Alter system kill session 'sid,serial#';
3、把TEMP表空间 ......
总记录数:3994; 总页数:666; 每页6 条; 首页 上一页 [643] [644] [645] [646] 647 [648] [649] [650] [651] [652]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号