Oracle数据库自动备份程序V2.1-AutoExpData

作者:W.S.T 发布时间:December 24, 2013 分类:Work

Oracle数据库自动备份程序V2.1-AutoExpData
更新:
2013-12-24 全面兼容WINDOWS7/8 32/64
Ps:需要安装Oracle客户端

包含以下文件:

AutoExpData.exe MD5:B869009AAD00B246783FC39729186C03

软件截图:
AutoExpData_For_321CC.CN

阅读剩余部分...

Oracle数据库自动备份程序V1.02.1 (预算执行系统,国库集中支付系统)

作者:W.S.T 发布时间:January 18, 2010 分类:Work

Oracle数据库自动备份程序V1.02.1 (预算执行系统,国库集中支付系统)

Ps:需要安装Oracle客户端

包含以下文件:

AutoExpData.exe MD5:84466FA9D0CD23128B1D07D8E3C33305

软件截图:

下载地址1

下载地址2


对于undotbs01.dbf文件太大的处理办法

作者:W.S.T 发布时间:January 8, 2010 分类:Work

-- 创建一个新的小空间的UNDO TABLESPACE
Create UNDO TABLESPACE UNDOTBS2 DATAFILE 'E:\oracle10g\product\10.2.0\oradata\wst10g\UNDOTBS02.DBF' SIZE 100M REUSE AUTOEXTEND ON;
-- 设置新的表空间为系统UNDO_TABLESPACE
Alter SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;
-- Drop 旧的表空间
Drop TABLESPACE UNDOTBS1 INCLUDING CONTENTS;
Select * FROM DBA_TABLESPACES;

完成后删除E:\oracle10g\product\10.2.0\oradata\wst10g\UNDOTBS01.DBF,然后进行出下操作:

-- 创建一个新的小空间的UNDO TABLESPACE
Create UNDO TABLESPACE UNDOTBS1 DATAFILE 'E:\oracle10g\product\10.2.0\oradata\wst10g\UNDOTBS01.DBF' SIZE 100M REUSE AUTOEXTEND ON;
-- 设置新的表空间为系统UNDO_TABLESPACE
Alter SYSTEM SET UNDO_TABLESPACE=UNDOTBS1;
-- Drop 旧的表空间
Drop TABLESPACE UNDOTBS2 INCLUDING CONTENTS;
--查看所有表空间的情况
Select * FROM DBA_TABLESPACES;

完成后删除E:\oracle10g\product\10.2.0\oradata\wst10g\UNDOTBS02.DBF。


如果临时表空间很大处理的方法类似。


限制
Alter DATABASE DATAFILE 'E:\oracle10g\product\10.2.0\oradata\wst10g\UNDOTBS01.DBF' AUTOEXTEND   ON MAXSIZE  300M;

Linux环境VNC服务安装、配置与使用

作者:W.S.T 发布时间:August 22, 2009 分类:Work

作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netca图像化进行建库和创建监听(如果使用脚本建库另说),如果您身体好估计可以在瑟瑟发抖的机房中完成数据库的创建过程,由于本人对寒冷比较敏感,有不想通过这样的方式锻炼身体,所以更愿意在舒适的房间内一边品味着咖啡的浓香,顺便度过相对枯燥的数据库安装和配置的过程,So,图形化操作工具是必不可少的,在Linux操作系统最流行的图形化操作软件莫过于VNC,俺本着总结、共享及提醒的目的完成了这个详细的小文儿,希望大家喜欢。
  1.确认VNC是否安装
  默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上。
  确认是否已经安装VNC服务及查看安装的VNC版本
  [root@testdb ~]# rpm -q vnc-server
  vnc-server-4.1.2-9.el5
  [root@testdb ~]#
  若系统没有安装,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包vnc-server-4.1.2-9.el5.x86_64.rpm,安装命令如下
  rpm -ivh /mnt/Server/vnc-server-4.1.2-9.el5.x86_64.rpm
  2.启动VNC服务
  使用vncserver命令启动VNC服务,命令格式为“vncserver :桌面号”,其中“桌面号”用“数字”的方式表示,每个用户连个需要占用1个桌面
  启动编号为1的桌面示例如下
  [root@testdb ~]# vncserver :1
  You will require a password to access your desktops.
  Password:
  Verify:
  xauth: creating new authority file /root/.Xauthority
  New 'testdb:1 (root)' desktop is testdb:1
  Creating default startup script. /root/.vnc/xstartup
  Starting applications specified in /root/.vnc/xstartup
  Log file is /root/.vnc/testdb:1.log
  以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。
  BTW:/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。
  3.VNC服务使用的端口号与桌面号的关系
  VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
  桌面号为“1” ---- 端口号为5901
  桌面号为“2” ---- 端口号为5902
  桌面号为“3” ---- 端口号为5903
  ……
  基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
  桌面号为“1” ---- 端口号为5801
  桌面号为“2” ---- 端口号为5802
  桌面号为“3” ---- 端口号为5803
  ……
  基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
  [root@testdb ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
  [root@testdb ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT
  4.测试VNC服务
  第一种方法是使用VNC Viewer软件登陆测试,操作流程如下
  启动VNC Viewer软件 --> Server输入“144.194.192.183:1” --> 点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功
  第二种方法是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下
  地址栏输入http://144.194.192.183:5801/ --> 出现VNC viewer for Java(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNC viewer对话框,在Server处输入“144.194.192.183:1”点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功
  (注:VNC viewer for Java需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装)
  5.配置VNC图形桌面环境为KDE或GNOME桌面环境
  如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?回答如下
  之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件
  [root@testdb ~]# cat /root/.vnc/xstartup
  #!/bin/sh
  # Uncomment the following two lines for normal desktop:
  # unset SESSION_MANAGER
  # exec /etc/X11/xinit/xinitrc
  [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
  [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  xsetroot -solid grey
  vncconfig -iconic &
  xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  twm &
  将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
  将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境
  重新启动vncserver服务的方法:
  [root@testdb ~]# vncserver -kill :1
  [root@testdb ~]# vncserver :1
  6.配置多个桌面
  可以使用如下的方法启动多个桌面的VNC
  vncserver :1
  vncserver :2
  vncserver :3
  ……
  但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
  格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"
  [root@testdb ~]# vi /etc/sysconfig/vncservers
  VNCSERVERS="1:root 2:oracle"
  VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared -depth 24"
  VNCSERVERARGS[2]="-geometry 1024x768 -alwaysshared -depth 24"
    -alwaysshared代表允许多用户同时登录 -depth代为色深,参数有8,16,24,32
  7.修改VNC访问的密码
  使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
  [root@testdb ~]# vncpasswd
  Password:
  Verify:
  [root@testdb ~]#
  8.启动和停止VNC服务
  1)启动VNC服务命令[root@testdb ~]# /etc/init.d/vncserver start
  Starting VNC server: 1:root
  New 'testdb:1 (root)' desktop is testdb:1
  Starting applications specified in /root/.vnc/xstartup
  Log file is /root/.vnc/testdb:1.log
  2:oracle
  New 'testdb:2 (oracle)' desktop is testdb:2
  Starting applications specified in /home/oracle/.vnc/xstartup
  Log file is /home/oracle/.vnc/testdb:2.log
  [ OK
  2)停止VNC服务命令
  [root@testdb ~]# /etc/init.d/vncserver stop
  Shutting down VNC server: 1:root 2:oracle [ OK ]
  3)重新启动VNC服务命令
  [root@testdb ~]# /etc/init.d/vncserver restart
  Shutting down VNC server: 1:root 2:oracle [ OK ]
  Starting VNC server: 1:root
  New 'testdb:1 (root)' desktop is testdb:1
  Starting applications specified in /root/.vnc/xstartup
  Log file is /root/.vnc/testdb:1.log
  2:oracle
  New 'testdb:2 (oracle)' desktop is testdb:2
  Starting applications specified in /home/oracle/.vnc/xstartup
  Log file is /home/oracle/.vnc/testdb:2.log [ OK ]
  4)设置VNC服务随系统启动自动加载
  第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。
  第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下(预知chkconfig详细使用方法请自助式man一下)
  [root@testdb ~]# chkconfig vncserver on
  [root@testdb ~]# chkconfig --list vncserver
  vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off


EXP-00003: 未找到段xxx的存储定义

作者:W.S.T 发布时间:December 29, 2008 分类:Work

Oracle 9i exp导出10g R2出现错误:EXP-00003: 未找到段 (4,131) 的存储定义
使用oracle9i 9.2.0.1的client 导出oracle10g R2 v10.2.0.3数据库的数据
连接到: oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 USERID 的外部函数库名称
. 导出 PUBLIC 类型同义词
. 导出私有类型同义词
. 正在导出用户 USERID 的对象类型定义
即将导出 USERID 的对象 ...
. 正在导出数据库链接
. 正在导出序号
. 正在导出群集定义
. 即将导出 USERID 的表通过常规路径 ...
. . 正在导出表                        CA_BATCH          0 行被导出
. . 正在导出表                      CA_BUGLIST          0 行被导出
. . 正在导出表       CA_CHECKDEVICETYPE_REPORT         42 行被导出
. . 正在导出表              CA_CHECKDEV_REPORT       1078 行被导出
. . 正在导出表                       CA_DEPOSE          0 行被导出
. . 正在导出表                CA_DEPOSE_REPORT
EXP-00003: 未找到段 (4,51) 的存储定义                                      ===表有LOB字段
. . 正在导出表                       CA_DEVICE          0 行被导出
. . 正在导出表           CA_DEVICEASSET_REPORT          0 行被导出
. . 正在导出表                 CA_DEVICEREPORT
EXP-00003: 未找到段 (4,83) 的存储定义                                     ===表有LOB字段
. . 正在导出表                        CA_ERROR          0 行被导出

查看metalink,发现只要是9.2.0.5以前的exp去导出9.2.0.5以后数据库中含有LOB字段的表,都会出现这个错误。
解决办法:
1、升级client端到9.2.0.5以上。
     我使用9208/10.1.0.4的exp导出一个含有BLOB和CLOB的表,能导出所有数据!

阅读剩余部分...