存档

文章标签 ‘Oracle’

oracle 10gr2增大users表空间

2011年7月9日 没有评论

都是些简单的oracle维护,记录如下:
1,查看表空间信息(数据文件名、大小,使用情况啥的)

SELECT * FROM dba_data_files;

2,往users表空间里增加数据文件

ALTER tablespace USERS ADD datafile '/opt/oracle/oradata/gftdb01/users02.dbf' SIZE 4096M;
分类: Operation System 标签:

oracle10.2.0.5的enterprise manager起不来的问题

2010年12月19日 没有评论

输入命令:
$ emctl start dbconsole
最后提示failed
netstat看,1158端口又是打开的
log文件emagent.log中报“EMAgent started successfully”,但是emagent.trc中报错:

“2010-12-20 15:15:37 Thread-4096785296 ERROR pingManager: nmepm_pingReposURL: Cannot connect to https://oracle:1158/em/upload/: retStatus=-1
2010-12-20 15:15:37 Thread-4096785296 ERROR ssl: nzos_Handshake failed, ret=29024
2010-12-20 15:15:37 Thread-4096785296 ERROR http: 13: Unable to initialize ssl connection with server, aborting connection attempt”

于是kill掉跟em相关的一堆东西(这个很重要)
$ emctl unsecure dbconsole
$ emctl upload
$ emctl secure dbconsole
然后输入sysman的密码和hostname
最后再
$ emctl start dbconsole
成功了!

在oracle enterprise linux 5(x86_64)上静默安装oracle 10Gr2并升级到10.2.0.5

2010年12月18日 没有评论

  首先,确认服务器上oracle需要的软件包都已安装完成。按照官方文档,oracle linux 5上需要安装的软件包有:

binutils, compat-libstdc++, compat-libstdc++(32 bit), elfutils-libelf, elfutils-libelf-devel, gcc, gcc-c++, glibc, glibc(32 bit), glibc-common, glibc-devel, glibc-devel(32 bit), libaio, libaio(32 bit), libaio-devel, libgcc, libgcc(32 bit), libstdc++, libstdc++(32 bit), libstdc++-devel, make, numactl-devel(x86_64), sysstat, unixODBC(32 bit), unixODBC-devel(x86_64), unixODBC(x86_64)

如果没有安装的,要先安装上。
  接着,添加需要的操作系统用户和组
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
  修改操作系统kernel参数
# vim /etc/sysctl.conf
以下各行,如果原来文件里有设置且设置的值比下面提到的还要大的话,跳过;否则,添加到文件最后。其实,也就是说这下面各行都是一些参考值,如果原来系统设置的就比这些值要大,就已原来的为准。

fs.file-max = 65536
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

编辑完成后,执行下面的命令使之生效:
# /sbin/sysctl -p
再接着,修改oracle用户的shell的限制
把下面四行的内容添加到文件/etc/security/limits.conf的最后:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

  建立需要的目录
# mkdir -p /opt/oracle/
# chown -R oracle:oinstall /opt/oracle/
# chmod -R 775 /opt/oracle/
  配置用户所需的环境变量
把如下几行添加到文件/etc/profile.d/oracle.sh里

if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

并将以下几句添加到文件/home/oracle/.bash_profile的最后

ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/10.2.0.1
ORACLE_SID=xxx
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
TNS_ADMIN=$ORACLE_HOME/network/admin
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
LANG=AMERICAN_AMERICA.ZHS16GBK
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/lib:/usr/lib;
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID TNS_ADMIN NLS_LANG LANG LD_LIBRARY_PATH CLASSPATH

  把oracle 10gr2的安装包放到服务器上,并解开,假设在目录/opt/backup/database下
# cp /opt/backup/database/response/enterprise.rsp /opt/backup/database/
并打开文件/opt/backup/database/enterprise.rsp,把如下的一些选项做相应调整:

UNIX_GROUP_NAME=”oinstall”
FROM_LOCATION=”/opt/backup/database/stage/products.xml”
ORACLE_HOME=”/opt/oracle/10.2.0.1″
ORACLE_HOME_NAME=”OraDbHome”
RESTART_SYSTEM=false
RESTART_REMOTE_SYSTEM=false
ORACLE_HOSTNAME=”oracle”
COMPONENT_LANGUAGES={“zh_CN”}
s_nameForDBAGrp=”dba”
s_nameForOPERGrp=”dba”
n_configurationOption=3

  接着,执行下面命令开始静默安装oracle:
# su – oracle
$ cd /opt/backup/database
$ ./runInstaller -ignoreSysPrereqs -silent -responseFile /opt/backup/database/enterprise.rsp
这里用参数-ignoreSysPrereqs主要是因为oracle 10gr2还不支持oracle linux 5这个他们自家的操作系统,所以需要跳过操作系统检查。

  再接着,要新建数据库了
$ exit
# cp /opt/backup/database/response/dbca.rsp /opt/backup/database/
并打开文件/opt/backup/database/dbca.rsp,把如下的一些选项做相应调整:

GDBNAME = “xxxdb01”
SID = “xxx”
TEMPLATENAME = “New Database”
SYSPASSWORD = “password”
SYSTEMPASSWORD = “password”
EMCONFIGURATION = “LOCAL”
SYSMANPASSWORD = “password”
DBSNMPPASSWORD = “password”
CHARACTERSET = “ZHS16GBK”
MEMORYPERCENTAGE = “40”

再用下面命令新建数据库xxxdb01:
# su – oracle
$ dbca -silent -responseFile /opt/tools/oracle_linux/database/dbca.rsp

  安装netca
$ exit
# cp /opt/backup/database/response/netca.rsp /opt/backup/database/
# su – oracle
$ netca /silent /responsefile /opt/backup/database/netca.rsp

  都装完了,就要开始升级系统到10.2.0.5了
把升级包放到服务器上,假设在目录/opt/backup/Disk1下
$ lsnrctl stop
$ dbshut
$ exit
# cp /opt/backup/Disk1/response/patchset.rsp /opt/backup/Disk1/
打开文件/opt/backup/Disk1/patchset.rsp,并修改如下几行:

UNIX_GROUP_NAME=oinstall
FROM_LOCATION=”/opt/backup/Disk1/stage/products.xml”
ORACLE_HOME=”/opt/oracle/10.2.0.1″
ORACLE_HOME_NAME=”OraDbHome”
COMPONENT_LANGUAGES={“zh.CN”}
MYORACLESUPPORT_USERNAME=””
MYORACLESUPPORT_PASSWORD=””
DECLINE_SECURITY_UPDATES=true

执行命令,开始升级oracle软件:
# su – oracle
$ cd /opt/backup/Disk1
$ ./runInstaller -silent -responseFile /opt/backup/Disk1/patchset.rsp
升级数据库xxxdb01:
$ dbua -silent -sid xxx -oracleHome /opt/oracle/10.2.0.1 -sysDBAUserName sys -sysDBAPassword password -recompile_invalid_objects truestart & stop scripts for oracle

数据库从oracle迁到mysql

2010年10月3日 没有评论

如今都讲节省成本

所以oralce->mysql的事情估计很多 dba都干过

同样,有这个需求的可能还真不少

首先

oracle的那些存储过程、触发器那些

存储过程mysql5开始就支持

但触发器还不支持

然后数据类型的转换

oracle的varchar2类型可以用mysql中的varchar代替

oracle中的date类型可以用mysql中的timestamp代替

clob可以用test或者是longtext来代替

……

还有oracle中的sequence,需要用mysql中的字段属性auto_increment来实现,当然,这需要对代码做一定的改动

还有,oracle用”||”来连接字符串,而mysql只能用concat函数实现

分类: tips 标签: , ,

oracle带来的linux发布,真是好东东呀

2009年9月17日 没有评论

以前仅知道oracle以redhat enterprise linux为蓝本
出了个linux的发布,名字叫enterprise linux
这个enterprise可以用来跑oracle for linux
不成想
这个oracle的enterprise linux
不仅可以免费下载
而且其yum server还可以免费更新!!!
要知道
redhat的enterprise linux的yum更新可视需要花钱订阅服务的呀
以前老用基于redhat enterprise linux的另外一种版本centos来取代rhel(redhat enterprise linux)
这下可好
有了oracle的enterprise linux
起码是多了一种选择吧
何况其后面还有oracle的支持呢

oracle 10g下常用的几个命令

2008年8月12日 没有评论

rman target /

这是连接到rman

delete expired archivelog all;

这是rman的命令
用来删除所有过期的归档日志
删之前可能需要

crosscheck archivelog all;

一下

delete obsolete;

这是删除过期备份

oracle 10g增加sessions和processes

2008年8月8日 没有评论

起因是碰到个12516的错误(ORA-12516)
看起来貌似是sessions和processes满造成的
所以就需要察看并调高sessions和processes
首先sqlplus连上数据库

sqlplus SYS/xxxx as SYSDBA
这里的”xxxx”是用户SYS的密码
SQL> show parameters sessions;
sessions缺省170
SQL> show parameters processes;
processes缺省是150
SQL> alter system set sessions=250 scope=spfile;
SQL> alter system set processes=300 scope=spfile;

利用ssh的x11 forward,在有X server的本地显示服务器上的GUI

2008年6月28日 没有评论

题目有点长
其实来自于一个朋友的问题
他的oracle跑在linux服务器上
远程的linux服务器并没有跑在图形界面下(runlevel=5)
而是跑在字符模式下(runlevel=3)
而他又想用图形界面来管理oracle
我翻了翻资料
找出一种方法
在一台图形界面的linux下(虚拟机也行,其实不是linux也行,关键是本地得有X server)
起一个控制台
用命令行ssh加参数”-X”连上远程的linux服务器
像这样
ssh -X oracle@1.1.1.1
这里”1.1.1.1″是远程linux服务器的ip地址
这样连上去之后
直接就可以用以前只有在图形界面上才能用的命令
如oracle管理的图形程序”dbca”

这个原理很简单
因为远程的sshd支持x11 forward
那么他起x程序的时候
就会把x的包通过ssh转回来到ssh客户端的机器上来
而ssh客户端这边跑得有x server
所以就能正确接收x包并显示出来

其实在windows下也可以通过安装x server软件来实现一样的效果
比如x manager就可以
具体用法不在详述

这里的关键在于
远程的sshd需要支持x11 forward
不过不要担心
一般情况下
缺省是支持的
:)

redhat as3 update 4上安装oracle 9.2.0.6的小收获

2006年1月5日 没有评论

看了n多的文档 大多是as3上装9.2.0.1或是9.2.0.4 再或者是as3u2上装9.2.0.4的 也有一两篇是as3u2上装9.2.0.6的 我这里主要是讲经验教训: 1,不需要降低gcc和g++版本为2.96; 2,需要将环境变量LD_ASSUME_KERNEL设为2.4.1,否则会死在刚开始安装的界面上; 3,没有了 :) 上周末刚装的

分类: 未分类 标签: ,

解决10G EM中文环境下按纽显示乱码问题

2005年10月18日 没有评论

转贴同事fullbird的帖子

我们使用浏览器来登陆10G grid control,发现按钮处的字样显示小方块,这些由于java不能正常显示中文字体造成的。
避免这个问题的办法有两个:
1。使用英文环境,就没有这个问题,也是最简单的办法。
IE–internet option–gernal–language–en_US作为首先显示的语言。
2。比较彻底的解决办法,其实就是解决java显示中文的问题。相关常识参考:http://www.lslnet.com/linux/docs/linux-2940.htm
在我们环境下要做以下事情:
a.修改java字体属性。
拷贝下面相应目录下的font.properties.zh_GBK来覆盖下面的文件
$ORACLE_HOME/jre/1.4.2/lib/font.properties
$ORACLE_HOME/jdk/jre/lib/font.properties
b.由于IAS有web cache.为了生效。
停止OMS  emctl stop oms
清除显示乱码的cache目录
mv $ORACLE_HOME/j2ee/OC4J_EM/applications/em/em/cabo/images/cache/zhs/*.gif
$ORACLE_HOME/j2ee/OC4J_EM/applications/em/em/cabo/images/cache/zhs/gifbak/
c.使用正确中文的java font properties生成相应的gif.
oemctl start oms
目前我们的grid control环境显示中文是正常的,同时发现Oracle在版本10。1。0。4对中文的翻译有了一些的改善,至少现在没有将startup/shutdown翻译成向上/向下,而是更为贴切的"启动/关闭"

感谢同事fullbird