Archive for November, 2009
About RAW Devices Not Supported in Oracle 11g release 2
很早之前就有传闻Oracle12g(也许不是g)版本将不再支持裸设备。而这份声明在最新发布的Oracle11gR2中就已经有所体现。以下完全通过阅读文档而得,并非实践经验,各位自行取舍。
Block and Raw Devices Not Supported with OUI
With this release, OUI no longer supports installation of Oracle Clusterware files on
block or raw devices. Install Oracle Clusterware files either on Automatic Storage
Management diskgroups, or in a supported shared file system.
不再支持将文件存储在裸设备上,但是仅仅局限于使用OUI图形界面创建数据库,那么命令行方式应该还是可以的。
For new installations, OCR and voting disk files can be placed either on ASM, or on a
cluster file system or NFS system. Installing Oracle Clusterware files on raw or block
devices is no longer supported, unless an existing system is being upgraded.
Oracle Clusterwae需要的OCR和Voting disk可以存储在ASM或者集群文件系统或者NFS中,对于全新安装,裸设备不再被支持,但是如果是升级而来的话(比如从10g升级到11g),仍然支持。
Voting Disk Backup Procedure Change
In prior releases, backing up the voting disks using a dd command was a required
postinstallation task. With Oracle Clusterware release 11.2 and later, backing up and
restoring a voting disk using the dd command is not supported.
Backing up voting disks manually is no longer required, as voting disks are backed up
automatically in the OCR as part of any configuration change and voting disk data is
automatically restored to any added voting disks.
之前Voting disk因为是存储在裸设备中的,因此备份需要使用dd命令来手动执行,在11gR2中,通过dd备份Voting disk不再被支持,同时,也无需通过任何方法手动备份Voting disk了,备份将自动进行。
站点问题
这两天发现用原来的theme会被重定向到一个http://beprotected-b.com的站点上,只有换新的theme才可以保证dbform站点的显示。
非常奇怪的现象,不知道是DH被黑客整到了,还是我自己的站点。今天有些晚了,明天继续研究一下。
Update@2009-11-23
检查了theme文件夹里面的index.php,更新日期也是比较久之前的,其它近期更新过的php中也没有发现可疑的代码,于是删除整个theme文件夹了事,换了全新的theme,顺手把WP升级到最新的2.86版本,目前看来一切是正常的。
如果挂马的大哥也能看到也能看懂这些文字,那么高抬贵手吧,我这里与世无争的,流量也不大,何苦在这里浪费精力呢,要挂也要去Fenng那里嘛,上万订阅者呢,哇哈哈哈。:)
Transporting Oracle9i Tablespaces from Solaris to HP-UX
我们知道跨平台表空间传输是在Oracle10g以后实现的,用RMAN命令可以完成。
那么在Oracle9i数据库中到底跨平台表空间传输能不能够实现呢?Oracle官方文档中提到:
The source and target database must be on the same hardware platform. For example, you can transport tablespaces between Sun Solaris Oracle databases, or you can transport tablespaces between Windows NT Oracle databases. However, you cannot transport a tablespace from a Sun Solaris Oracle database to an Windows NT Oracle database.
必须要在同一硬件平台上,并且举例无法从Solaris平台传输表空间到Windows平台。
但是实际上,这样的约束仅仅是由于字符序的限制。
SQL> SELECT * FROM v$transportable_platform ORDER BY PLATFORM_NAME; PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT ----------- ---------------------------------------- -------------- 6 AIX-Based Systems (64-bit) Big 16 Apple Mac OS Big 19 HP IA Open VMS Little 15 HP Open VMS Little 5 HP Tru64 UNIX Little 3 HP-UX (64-bit) Big 4 HP-UX IA (64-bit) Big 18 IBM Power Based Linux Big 9 IBM zSeries Based Linux Big 10 Linux IA (32-bit) Little 11 Linux IA (64-bit) Little 13 Linux x86 64-bit Little 7 Microsoft Windows IA (32-bit) Little 8 Microsoft Windows IA (64-bit) Little 12 Microsoft Windows x86 64-bit Little 17 Solaris Operating System (x86) Little 20 Solaris Operating System (x86-64) Little 1 Solaris[tm] OE (32-bit) Big 2 Solaris[tm] OE (64-bit) Big
可以看到所有的Windows平台上Oracle数据库均是小字符序的,而Solaris SPARC平台是大字符序,因此Oracle官方文档笼统地说不支持跨平台传输表空间。
选择同样为大字符序的操作系统Solaris SPARC 64bit和HP-UX IA (64-bit),做Oracle9i数据库的跨平台表空间传输,实验证明是完全可行的。
Solaris平台配置:Solaris10,Oracle9.2.0.6
HP-UX平台配置:HP-UX11,Oracle9.2.0.8
无论是操作系统平台还是数据库小版本号都是不一样的。
在Solaris端,USERS表空间中有数据文件/dev/md/rdsk/d29(裸设备),并且存在两张表,KAMUS.T1和SYSTEM.T。
SQL> SELECT segment_name,owner FROM dba_segments WHERE tablespace_name='USERS'; SEGMENT_NAME OWNER ------------------------------ ------------------------------ T SYSTEM T1 KAMUS
将USERS表空间设置为READONLY之后,开始传输表空间。
$ exp TRANSPORT_TABLESPACE=y TABLESPACES=(users) TRIGGERS=n CONSTRAINTS=n GRANTS=n FILE=/install/expdat.dmp Export: Release 9.2.0.6.0 - Production on Thu Nov 19 17:25:48 2009 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Username: SYS/oracle AS SYSDBA Connected to: Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.6.0 - Production Export done in US7ASCII character set and AL16UTF16 NCHAR character set server uses ZHS16GBK character set (possible charset conversion) Note: table data (rows) will not be exported Note: grants on tables/views/sequences/roles will not be exported Note: constraints on tables will not be exported About to export transportable tablespace metadata... For tablespace USERS ... . exporting cluster definitions . exporting table definitions . . exporting table T . . exporting table T1 . end transportable tablespace metadata export Export terminated successfully without warnings.
然后通过dd命令将数据文件以及dmp文件copy到HP-UX机器上,在我的实验环境中,最终是dd到/dev/testvg/rlvol4上。
然后在HP-UX上导入metadata:
imp PARFILE='par.f'
其中par.f文件的内容如下:
TRANSPORT_TABLESPACE=y
FILE=/oracle/oradata/expdat.dmp
DATAFILES=('/dev/testvg/rlvol4')
TABLESPACES=(users)
TTS_OWNERS=(system,kamus)
FROMUSER=(system,kamus)
TOUSER=(system,system)成功导入之后,查看USERS表空间中的数据。
SQL> SELECT segment_name,owner FROM dba_segments WHERE tablespace_name='USERS'; SEGMENT_NAME OWNER ------------------------------ ------------------------------ T SYSTEM T1 SYSTEM
继续在该表空间中做其他操作,比如create table等,也一切正常。
只做了使用裸设备作为数据文件的测试,不确认是不是如果数据文件存储在文件系统上也同样可以成功。如果是AIX平台,要注意一下,在AIX中裸设备头部有4K的OS Reserved Area,dd的时候需要skip掉。
没有做更多平台的测试,但是可以推测,即使是Oracle9i,Linux,Windows这两个平台或者AIX,HP-UX,SOLARIS SPARC这三个平台之间都应该是可以顺利地完成表空间传输的。
Update@2009-12-28
朋友测试的结果,从HP-UX IA (64-bit)平台传输表空间到 AIX-Based Systems (64-bit)平台无法成功。即使dd了文件头也仍然会报错。
![Chanel [K]](http://www.dbform.com/wp-content/chanelk.png)