oracle 中文乱码,解决但有疑问,希望看到的人给予解释。
前些日子安装了一个suse Linux下oracle数据库,近来连接到另外一台机器也是也是中文乱码。oracle 中文乱码于是查找字符集问题SQL> select * from v$nls_parameters;--82(本机)PARAMETER VALUE---------------------------------------------------------------- ----------------------------------------------------------------82NLS_LANGUAGE AMERICANNLS_TERRITORY AMERICANLS_CURRENCY $NLS_ISO_CURRENCY AMERICANLS_NUMERIC_CHARACTERS .,NLS_CALENDAR GREGORIANNLS_DAT
oracle 失误删掉数据文件后,删除表空间操作
失误删掉数据文件后,删除表空间操作。SQL> drop tablespace sms;drop tablespace sms*ERROR at line 1:ORA-01116: error in opening database file 15ORA-01110: data file 15: '/u01/app/oracle/oradata/orcl/sms.dbf'ORA-27041: unable to open fileLinux Error: 2: No such file or directoryAdditional information: 3SQL> alter database datafile '/u01/app/oracle/oradata/orcl/sms.dbf' offline drop;Database altered.SQL> drop tablespace sms;Tablespace dropped.[@more@]
oracle 10g 自动共享内存管理
从Oracle 10g开始,Oracle提供了自动SGA的管理(简称ASMM,即Automatic Shared Memory Management)新特性。所谓ASMM,就是指我们不再需要手工设置shared pool、buffer pool等若干内存池的大小,而是为SGA设置一个总的大小尺寸即可。Oracle 10g数据库会根据系统负载的变化,自动调整各个组件的大小,从而使得内存始终能够流向最需要它的地方。比如,假设某个系统,白天属于OLTP应用,因此会需要较多的buffer cache。而该系统在晚上属于DSS应用。对于DSS应用,很多的SQL语句由于都是进行全表扫描,因此都会采取并行方式完成。我们知道,并行
sequence 和索引函数调用
-------------------------------------------重新编译索引alter index index_name rebuild;drop sequence sys_tempidcreate sequence sys_tempid minvalue 1 maxvalue 999999999999999999 start with 1 increment by 1 cache 20; --------------------------'fm去空格-----SQL> select TO_CHAR(card_id.nextval,'00000000') from dual;TO_CHAR(CARD_ID.NEXTVAL,'00000------------------------------ 00001424 ---多出一个空格 SQL> select TO_CHAR(card_id.nextval,'fm00000000') from dual;TO_CHAR(CARD_ID.NEX
oracle 写文件
----创建路径create or replace directory pass_path as 'd:houxt';----创建写的存储过程create or replace procedure proc_write(num number)is ---create or replace directory pass_path as 'd:houxt'; cursor cur_dat is select pass_no||'|'||pass_word||'|'||cre_date||'|'||pass_state as jilu from user_pass@DCSYS251 t where rownum<=num; fhandle utl_file.file_type; err varchar2(100);begin -----注意这里的路径名大写 fhandle := utl_file.fopen('PASS_PATH', 'pass.txt', 'w'); for dat in cur_dat loop
关于oracle18位密码生成
create or replace procedure proc_create_pass(cnt number)is/***************************************生成18位密码的程序---cnt---要生成个数*----20091116--houxt**************************************/ err varchar2(80); oncom varchar2(2); rowcom number;begin rowcom:=0; oncom:='1'; insert into tb_proc_log(proc_name,on_commit,com_date) values ('proc_create_pass',oncom||'start***********',sysdate); commit; ------------------ oncom:='2'; --if rowcom<cnt then <<aa>> execu
oracle 用户权限
oracle用户创建和权限的管理-------------------------------------------------------create user user_name identified by user_pass default tablespace tab_1;grant connect,resource to user_name;revoke connect from user_name;------------本用户创建表空间---alter user user_name default tablespace tab_1;-------------------------------------------------create tablespace tablespace1 datafile 'd:a.dbf' size 10m auto extend on next 10m; alter database datafile 'F:ORACLEPRODUCT10.2.0ORADATATESTPCS.DBF' autoext
Oracle内存参数调优
oracle 数据库名只是进入oracle实例的一个名字,没有实际的意义。oracle实例,是不可改变加载数据参数启动oracle后台进程的标示。实例结构oracle实例=内存结构+进程结构oracle 实例启动过程 其实就oracle内存参数设置值加载到内存中,并启动相应的后台进程进行相关服务的过程。-----------------------------------------------------------进程机构oracle进程=服务器进程+用户进程几个重要的后台进程:DBWR:数据写入进程.LGWR:日志写入进程.ARCH:归档进程.CKPT:检查点进程(日志切换;上一个检查点之后,又超过了指定的时间;预定义的日志
oracle 的表压缩
oracle 存储数据库如果要存储较长一段时间的数据,空间经常不够用,这时就要充分利用oracle 表压缩节机制。1创建一个压缩的表create table table_name()compress; 修改成压缩表alter table table_name compress;以上压缩表并没有压缩数据,如果要达到预期效果,插入数据时候要加/*+append*/insert/*+append*/ into table_name select * from table_name2;2一次性创建压缩表create table table_name compress as select * from table_name2;3如果有一个表未被压缩,现在要改成压缩表(已经有数据的情况下)alter table table_name move co
oracle 加载文本文件
oracle 加载文本文件1.编写控制文件 input.ctlLOAD DATA INFILE 'c:1.txt' APPEND INTO TABLE houzi FIELDS TERMINATED BY ","(no1,no2,no3)2.执行控制文件C:Documents and Settingshp>sqlldr scidata/xxx@gdass control=c:input.ctlSQL*Loader: Release 9.2.0.1.0 - Production on Wed Aug 27 15:18:01 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Commit point reached - logical record count 3Commit point reached - logical record count 4[@more@]