Archive for ‘Oracle’ Category

Oracle工具篇之Oradba

在%ORACLE_HOME%\Database下有一个Oradba.exe文件,该文件是让你在本机的本地用户和组中添加ORA_DBA组及把你当前登陆的用户添加进这个组中:
D:\ oracle \ora92\database>oradba
这时你到:计算机管理>本地用户和组,可发现新增加了ORA_DBA组并把你当前登陆帐号天加了进去

Windows下如何删除N天前的归档文件

ITPUB上的问题:
归档日志放到远程主机上,在远程主机要进行定期清理,每天清理半个月前的日志,linux实现很简单,dos命令怎么搞啊?
方法一:
conn sys/ oracle as sysdba
set feedback off
set pagesize 0
set heading off
set verify off
set linesize 100
set trimspool on
spool d:\archive\delete_archivedlog.bat
select ‘del ‘ ||name||”from v$archived_log where completion_time<trunc(sysdate-15) and completion_time>trunc(sysdate-17) and name!= ’standby’;
spool off;
exit

然后将bat文件传送到远程主机每天执行

Oracle工具篇之Oradim

创建例程:
-NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒]
编辑例程:
-EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名] [-SHUTMODE a|i|n] [-SHUTTYPE srvc|inst|srvc,inst] [-TIMEOUT 秒]
删除例程:
-DELETE -SID sid | -SRVC 服务名称
启动服务和例程:
-STARTUP -SID sid [-USRPWD 口令] [-STARTTYPE srvc|inst|srvc,inst] [-PFILE 文件名]
关闭服务和例程:
-SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE a | i [...]

强制修改字符集

昨天一同事在修改数据库字符集时出现如下问题:
SQL> ALTER DATABASE CHARACTER SET ZHS16CGB231280;
ALTER DATABASE CHARACTER SET ZHS16CGB231280
*
ERROR at line 1:ORA-12712: new character set must be a superset of old character set
它原来的字符集是:al32utf8
出现这个错误是 oracle 只支持从子集到超集的转变
那有什么方法可进行强制转换呢?可以使用如下指令:
alter database character set INTERNAL_USE ZHS16CGB231280
该指令会跳过子集与超集的检验,当然强制转换可能会造成数据的损坏,要谨慎使用!!
关于字符集更详细的信息可参考eygle的文章:
http://www.eygle.com/index-special.htm

关于授权

昨天一朋友问我 oracle 中如何授权的问题,如下:
请教个问题,如何给一个只有select权限的用户指定update或delete某一个table中的某个column的权限?
如:我现在有个用户user1,在建该用户的时候他只有select 的权限,但我现在有个temp_table ,其中的name栏授权给他有update和delete的权限,命令如何下?
在 oracle 中有两种权限:系统权限和对象权限
对于系统权限,其命令格式如下:
grant system privilege to user [with admin option]
对于对象权限,其命令格式如下:
grant object privilege on object to user [with grant option]
回收权限:
revoke system privilege from user
revoke object privilege on object from user

批量获取表的DDL语句

今天老外有一个需求,要求将某一个用户下的所有表的创建脚本抓出来,并且每个表保存为一个文件,以下为脚本:
set feedback off
set pagesize 0
set heading off
set verify off
set linesize 200
set serveroutput on size 1000000
set trimspool on
define outputpath
accept outputpath char default ‘c:\’ prompt ‘pls input output path:’
define runfile = ‘c:\runfile.sql’
spool &runfile
prompt set feedback off
prompt set pagesize 0
prompt set heading off
prompt set verify off
prompt set linesize 500
prompt set trimspool on
prompt SET serveroutput on long 999999
prompt EXECUTE [...]

[ZT]ORA-01031的解决方法

原文出自:http://www.chinaunix.net/jh/19/132866.html
ORA-01031: insufficient privileges
#############################################
#
# NAME: troubleshoot connect internal.txt
#
# DESCRIPTION:
# connect internal
# connect / as sysdba 要口令问题:
# refer (METALINK,ORACLEDOC),
# metalink search words(connect internal)
# NOTE:
#
# modifiy (MM/DD/YY) AUTHOR
# 05/03/03 ZORROL
#############################################
————————————————————
1.检查sqlnet.ora 文件.
sqlnet.ora 文件损坏或格式不对可以导致出现该问题。
sqlnet.ora 文件可能存放路径为:$TNS_ADMIN/sqlnet.ora
如果没有设置$TNS_ADMIN默认在$ORACLE_HOME/network/admin/sqlnet.ora 或 $HOME/sqlnet.ora
(1).可以从别的机器拷贝一个文件过来,注意备份原来的sqlnet.ora。
—检查sqlnet.ora 文件内容
(2).检查SQLNET.AUTHENTICATION_SERVICES
如果没有使用dblink.检查该行并设置
SQLNET.AUTHENTICATION_SERVICES = (BEQ,NONE)
(3).SQLNET.CRYPTO_SEED
在unix 下不需要该参数。如果存在该行,注释掉或删掉
(4).AUTOMATIC_IPC
如果该参数为 ON,将强制使用”TWO_TASK” 连接
最好设置为OFF: AUTOMATIC_IPC = OFF

ORA-12560解决方法

一同事碰到这样一个问题:用ORADIM创建SID成功,但是用SVRMGRL连接的时候报ORA-12560错误。其安装的 oracle 版本是 oracle Enterprise Edition 8.1.7,OS为Windows 2000。查了些资料,对于该问题可用如下方法检查:
1. 检查Terminal Service,看远程桌面是不是起因
2. 检查环境变量ORACLE_SID是否正确,包括注册表中的设定
3. 检查 oracle 服务是否启动
4. 检查LISTENER.ORA,TNSNAME.ORA等的机器名(IP地址)或者服务名是否正确
5. Netstat –a检查端口是否被占用
6. 检查注册表HKEY_LOCAL_MACHINE\Software\ oracle \Home0新增字符串USE_SHARED_SOCKET=TRUE, 重新启动服务
对于运行在Windows下的 oracle 8i还可能是如下情况:

Oracle后台进程

1.DBW0(DBWn):Database Writer Process
Checkpoint occur
Dirty buffers threshold reached
Not free buffers
Timeout
RAC ping request
Tablespace offline
Tablespace read only
Table Drop or Truncate
Tablespace BEGIN BACKUP
2.LGWR:Log Writer Process
At commit
When one-third full
When there is 1 MB of redo
Every 3 seconds
Before DBWn writes

dump数据库内部结构

1、分析数据文件块,转储数据文件n的块m
alter system dump datafile n block m
2、分析日志文件
alter system dump logfile logfilename;
3、分析控制文件的内容
alter session set events ‘immediate trace name CONTROLF level 10′
4、分析所有数据文件头
alter session set events ‘immediate trace name FILE_HDRS level 10′

Page 6 of 8«12345678»

    搜索本站

    站点日历

    2月 2012
    « 4    
     12345
    6789101112
    13141516171819
    20212223242526
    272829  

    订阅本站

    文章分类

    最新日志

    热点文章

    日志存档

    常用标签