linux登录提示”[: =: unary operator expected”
以前在linux上安装的一台oracle的机器,每次本机登录都会提示”[: =: unary operator expected”,显然是profile出了问题
因为配置oracle时,会对用户oracle做系统资源限制加下profile中
#new add
if [ $USER = “oracle” ]; then
oracle 修改列的前后顺序
Whether you are create table or alter table plus a filling, the column is asequence of before and after,In oracle you can modify the sequence.
for example:
详解log_archive_dest与log_archive_dest_n区别
今天把一个新上线的数据库改为了归档模式,顺便修改了一下归档文件存放路径,开始配置的log_archive_dest,后来发现在闪回区同样还会有一份共两份,后来重新配置log_archive_dest_1变成了一份,其实另有玄机,下面请仔细看我的操作过程
….
ORA-25153: Temporary Tablespace is Empty
SQL> select dbms_metadata.get_ddl(‘TABLE’,’SQLLDR_TEST’,’ANBOB’) from dual;
ERROR:
ORA-25153: Temporary Tablespace is Empty
ORA-06512: at “SYS.DBMS_LOB”, line 443
ORA-06512: at “SYS.DBMS_METADATA”, line 2729
表空间重命名(rename tablespace name)
oracle 10g 推出了一个强大的特性,你可以修改已存在表空间的名称了
for examples:
SQL> create tablespace tbsold;
Tablespace created.
…..
oracle ORA_ROWSCN 行记录的更新时间
在这介绍两个oracle 10G开始提供的一个伪列ORA_ROWSCN,它又分为两种模式一种是基于block,这是默认的模式,还有一种是基于row上,这种模式只能在建里表时指定ROWDEPENDENCIES,不可以通过后期的alter table ,同时会给数据库带来性能负载
把qq群聊天记录导入数据库思路
如果你是一个群主,群里的成员满了,别人进不来,群里面的有部分人又天天在扯皮,不如找出来让位给别人,那就把qq消息导出来导入数据库分析一下,上周五我就做了这工作,下面说说思路
…..
dbca建库时Error securing Database Control
如果你的数据库从10.2.01升级到了10.2.04,然后用dbca建立数据库是84%会遇到下面的警告
Error securing Database Control, Database Control has been brought up in non-secure mode. To secure the Database Control execute the following command(s):
…..
Relocating redo log files (修改日志文件路径)
修改日志文件路径,实现多路径,虽然这会降低性能,但与数据的安全性相比,是值得的!还有数据优化中记的把redo log 与数据文件分开,而且要把redo log放在最快的硬盘设备上,实现 减轻io负载
SQL> select * from v$logfile;
….
sqlplus autocommit自动提交
今天同事让更新一批insert脚本,说是在plsql dev工具下更新很慢,那我用sqlplus @文件路径的文件执行,结果返回的提示太快一闪而过,中间还有一段长文本没看清,于是我ctrl+c取消了,rollback,加下了spool保存回显信息,执行结束后发现原来是每100行自动提交了,以至于后来我发现存在的比插入的多,原来ctrl+c前的早已提交。
…….
V$PWFILE_USERS没有数据,sys无法登录
V$PWFILE_USERS 列出的是password文件里已授予sysdba、sysoper权限的用户,如果查询没有记录,那就有可能没有了password文件了,没有了密码文件当然sqlplus sys/xx as sysdba这种用sys用sysdba用户就无法登录了
…..
各种flashback与各种log 的关系
从9i开始oracle提供了一个很强大的flashback,10G更是对闪回做了加强,闪加数据变的更加简单,各种闪回又是如何实现呢的?是redo log?undo log?flashback log?recyclebin?
Flashback Table, Flashback Query, Flashback Transaction Query and Flashback Version
Query all rely on undo data, records of the effects of each update to an Oracle database
and values overwritten in the update…..
64位linux安装ORACLE10G报i386/libawt.so: libXp.so.6: cannot open shared object file
昨天在给一台新机器装oracle,系统是centos 5.2 x64,数据库 库是oracle 10g x64,按装官方文档把包也检查了一下,但在.runrunInstaller时,报错Exception in thread “main” java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-12-21_10-40-21PM/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file
列类型指定int 与number有什么区别
int和number都是数值类型,int是正整数,number可以允许小数位,number重点在这里不多讲,只是说在不指定参数的情况下有什么区别?
还是老风格,用实例说话
oracle 排除(exclude)字段查询表
如果一张表有30个字段,40个,100个…,反正就是不小字段时,如果你查询部分字段数据,是不是要一个个字段名都写上,有没有一种指明排除几个字段查询呢?今天看有人问这个问题,随便做一下。
SQL>CONN anbob/anbob
SQL> create table test_cols(id int);
truncate 会记录日志么?logmnr可以找到么?
如果有人truncate了你的表,你能揪出是谁么?会记录redo日志么?下现做一个实验,用事实说话
SQL> select * from v$version;
BANNER
——————————————————————————————————————————–
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Prod
ORACLE resumable session功能
Oracle还为我们提供了一个很好的功能:resumable
在resumable开启的情况下,如果Oracle执行某一个SQL申请不到空间了,会停顿下来(时间可以由TIMEOUT来控制),但是不会报OUT-OF-SPACE这个错误。等你把空间的问题解决了,Oracle会继续从停下来的部分开始刚才的SQL。
DB_nk_CACHE_SIZE中的granule
….
这里涉及到了SGA中内存分配的粒度问题,粒度是连续虚拟内存分配的单位,在9I版本引入了一个粒度(granule)的概念,如果SGA小于128M,则粒组大小为4M,否则为16M;在10G版本中,如果SGA小于1G,则粒组为4M,否则大于4M。粒度大小受内部隐含参数_ksmg_granule_size的控制
…….
linux 命令从redo日志中找sql
用linux的命令是可以读出redo日志的
[oracle@orazhang windb]$ strings redo1.log |sed -n ‘/create procedure/,/end;/p’
create procedure ptest
begin
dbms_output.put_line(‘nothing’);
end;
copy 数据文件数据库移植从windows到linux
今天闲来无事,做了个极其无聊的实验,把windows上的orcl数据库的数据文件(dbf)复制到linux上会不会也能用呢?我觉的工作中除了测试没人这么搞,下面把步骤分享一下,今天试了一天,一步错步步错呀!
pc1:winxp 32bit oracle10.2.0.1 dbname:orcl
pc2:rehl 5 linux 32bit oracle 10.2.0.1 dbname:orcl