-
Dec19
如何防止sqlplus连错主机
Posted in Oracle, 数据库管理, 1,033 views
-
在$ORACLE_HOME\sqlplus\admin 里对文件glogin.sql 新增这一项:SET SQLPROMPT "_user'@'_connect_identifier>"
这样,在使用SQLPLUS登录后,SQL> 将被替换为如:NCTOPSI@TESTDB>
这里NCTOPSI是用户名,TESTDB是连接到该数据库的连接串.
这样,只要在操作前瞄一眼,就知道你要对哪个库进行操作.这样基本上不会出错.
-
No Comments »
-
Dec18
mount: unknown filesystem type 'smbfs'
Posted in 操作系统, 1,767 views
-
今天在使用RHEL5时,发现mount不了windows的共享盘
mount -t smbfs -o username=xxx,password=xxx //hostname/dir /mnt/tmp
mount: unknown filesystem type 'smbfs'系统已经不能识别smbfs文件系统了
查资料说fc5的kernel已经不再支持smbfs,而改用Common Internet File Systemcifs(cifs)取代了原有的smbfs,猜想RHEL5也做了这个改动,所以命令就改为:
# mount -t cifs -o username=xxx,password=xxx //hostname/dir /mnt/tmp很顺利地mount上了
这里又出现一个新问题:
1个星期多前新安装了这个linux,装了安装盘ISO中的sambe server。之后为了安装ORACLE10G,特意mount了局域网中另一台windows2000的盘,记得非常清楚,用的是 mount -t smbfs为什么现在smbfs会不能支持?why?
-
No Comments » cifs rhel5 smbfs
-
Nov21
打包安装oracle
Posted in Oracle, 数据库管理, 1,070 views
-
Oracle 在linux 和Unix系统下的需要图形界面,安转完毕后图形界面就不需要启动,往往为了安转
数据库安转了很多组件,系统性能不能提高,根据oracle的特性,在linux和unix系统下可以直接打包数据
库,省去安转过程.测试环境: redhat linux AS4.0
oracle 10g enterprise 10.2.0.1
前置条件:
linux 的内核参数已经调好,libaio等包已经安装好。1) linux 下数据库打包压缩oracle数据库
i) 关闭数据库
命令行: sql>shutdown immediate;ii) 关闭监听器
命令行: sql>host lsnrctl stop;
iii) 打包数据库文件目录
命令行: # tar -cf /home/oracle/oracle_install.tar oracleiv) 应该压缩一下文件
命令行: # gzip /home/oracle/oracle_install.tar
v) 拷贝打包文件到目标数据库。
2) 目标数据库的安装i) 解压缩数据库打包文件
命令行: tar -xzvf oracle_install.tar.gz
注意项:用来安装数据库的用户要和源数据库用户和群组角色都要一致,不然会有权限问题导致sqlplus不能登陆。ii) 修改环境变数(.bash_profile)
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/db10g
export ORACLE_SID=demo1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
iii) 拷贝/etc/oratab到目标数据库
此文件记录机器中安转的数据库sid等信息,对服务而言是没有用的,如果用dbca管理数据库,会读到这个文件。iv) 执行安转的两个脚本
$ORACLE_BASE/oraInventory/orainstRoot.sh
$ORACLE_HOME/root.sh
v) 更改listener.ora和tnsname.ora的机器名称,指向新服务器。3) 目标数据库的测试
# sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jun 7 17:27:38 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>SQL> conn / as sysdba
SQL> startup
SQL> host lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 07-JUN-2006 17:32:09
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /opt/app/oracle/db10g/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /opt/app/oracle/db10g/network/admin/listener.ora
Log messages written to /opt/app/oracle/db10g/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mydb)(PORT=1544)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mydb)(PORT=1544)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 07-JUN-2006 17:32:09
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/app/oracle/db10g/network/admin/listener.ora
Listener Log File /opt/app/oracle/db10g/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mydb)(PORT=1544)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
3) 说明
i) $ORACLE_HOME如果变更,要考虑控制文件和数据文件的相对路径是否改变。注意调整,最好用修改pfile文件,
用pfile启动数据库,再更新spfile。ii) 源数据库不建议安转em,如有需要可以在dbca中配置,因为大多数用户的服务器名称不一样。
-
No Comments »
-
Nov14
导出secquences脚本
Posted in DBA脚本, Oracle, 数据库管理, 986 views
-
select
'create sequence schema_name.'|| SEQUENCE_NAME || ' minvalue '||MIN_VALUE||' maxvalue '||MAX_VALUE||' start with '||LAST_NUMBER||' increment by '||INCREMENT_BY||' cache '||CACHE_SIZE||' ;'
from dba_sequences where SEQUENCE_OWNER='&your_schema_name'; -
No Comments »
-
Nov12
如何使用跟踪事件10046
Posted in Oracle, 数据库管理, 970 views
-
本文引用自NinGoo的blog
很多时候
,对数据库进行性能诊断可以使用SQL跟踪的方法,把一些信息记录在trace文件里以后分析。一般情况下我们可以通过初始化参数SQL_TRACE=TRUE来设置SQL跟踪。我们也可以通过设置10046事件来进行SQL跟踪,并且可以设置不同的跟踪级别,比使用SQL_TRACE获得更多的信息。
Level 0 停用SQL跟踪,相当于SQL_TRACE=FALSE
Level 1 标准SQL跟踪,相当于SQL_TRACE=TRUE
Level 4 在level 1的基础上增加绑定变量的信息
Level 8 在level 1的基础上增加等待事件的信息
Level 12 在level 1的基础上增加绑定变量和等待事件的信息10046事件不但可以跟踪用户会话(trace文件位于USER_DUMP_DEST ),也可以跟踪background进程(trace文件位于BACKGROUND_DUMP_DEST )。trace文件的大小决定于4个因素:跟踪级别,跟踪时长,会话的活动级别和MAX_DUMP_FILE_SIZE参数。
启用跟踪事件10046
1.在全局设置
修改初始化参数
EVENT = "10046 trace name context forever, level 8"
2.在当前session设置
alter session set events '10046 trace name context forever, level 8';
alter session set events '10046 trace name context off';3.对其他用户session设置
首先获得要跟踪的session的session id和serial number
select sid,serial#,username from v$session where username='TRACE_USERNAME';
exec dbms_support.start_trace_in_session(sid => 1234,serial# => 56789,waits => true,binds => true);
exec dbms_support.stop_trace_in_session(sid => 1234,serial# => 56789);或者
exec dbms_system.set_ev( 1234, 56789, 10046, 8, '');
exec dbms_system.set_ev( 1234, 56789, 10046, 0, '');
或者
exec dbms_monitor.session_trace_enable(session_id => 1234,serial_num => 56789,waits => true,binds => true);
exec dbms_monitor.session_trace_disable(session_id => 1234,serial_num => 56789);也可以通过使用oradebug工具来设置10046事件
首先通过V$PROCESS获得该session的os process id。
select s.username, p.spid os_process_id, p.pid oracle_process_id
from v$session s, v$process p
where s.paddr = p.addr and s.username = upper('TRACE_USERNAME');oradebug setospid 12345;
oradebug unlimit;
oradebug event 10046 trace name context forever, level 8;
oradebug event 10046 trace name context off;获取跟踪文件
1.使用oradebugSQL> oradebug setmypid
Statement processed.SQL> oradebug tracefile_name
/opt/oracle/product/9.2.0/rdbms/log/uxdb_ora_9183.trc2.设置初始参数TRACEFILE_IDENTIFIER
alter session set tracefile_identifier = 'MyTrace';
这样在生成的trace文件名中会包含有MyTrace字样
/opt/oracle/product/9.2.0/rdbms/log/uxdb_ora_9183_MyTrace.trc
3.通过SQL查询
select d.value||'/'||lower(rtrim(i.instance, chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name
from
( select p.spid
from sys.v$mystat m,sys.v$session s,sys.v$process p
where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,
( select t.instance from sys.v$thread t,sys.v$parameter v
where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,( select value from sys.v$parameter where name = 'user_dump_dest') d;
?/rdbms/log/uxdb_ora_9183.trc查看当前session的跟踪级别
SQL>Set serveroutput on
SQL> declare
event_level number;
begin
dbms_system.read_ev(10046,event_level);
dbms_output.put_line(to_char(event_level));
end;
/ -
No Comments »
-
Nov09
RHAS4安装NTFS文件系统
Posted in 操作系统, 1,037 views
-
1、获取正确的RPM
登录 http://www.linux-ntfs.org/
在左侧栏 RedHat and Fedora 段中,选择Help and Information---Instructions
在Instructions的WhichRPM段落中,找到 'whichrpm' script.在本机以'whichrpm' script的内容建立sh脚本文件
如#vi whichrpm
赋予脚本可执行权限
#chmod 700 whichrpm
执行 'whichrpm'脚本
#./whichrpm脚本将分析你的linux系统内核,并给出一个相应内核的kernel-ntfs RPM包下载连接。比如我的系统给出了如下信息
Web Page: http://www.linux-ntfs.org/content/view/135/71/
Version: 2.6.9-11.EL
Section: Single Processor
Arch: i686打开连接下载指定的RPM
根据脚本给出的信息,我下载的是:kernel-module-ntfs-2.6.9-11.EL-2.1.20-0.rr.6.0.i686.rpm2、安装RPM
#rpm -ihv kernel-module-ntfs-2.6.9-11.EL-2.1.20-0.rr.6.0.i686.rpm 如果安装中发现任何问题,查询Help Section文档,后续步骤出现的问题也需要 查看Help Section. 载入kernel─ntfs模块: #/sbin/modprobe ntfs 查看ntfs信息 #dmesg | grep NTFS NTFS driver v1.1.22 [Flags: R/O MODULE] #cat /proc/filesystems nodev rootfs nodev bdev nodev proc nodev sockfs nodev tmpfs nodev shm nodev pipefs ext3 ext2 nodev ramfs nodev devpts ntfs
至此,NTFS文件系统已经添加成功
3、挂载NTFS分区
#mkdir /media/library
#mount /dev/hda6 /media/library/ -t ntfs -r -o umask=0222对应的fstab字段
/dev/hda6 /media/library ntfs ro,umask=0222 0 0
-
No Comments »
-
Nov09
ORA-01031:insufficient privileges的解决
Posted in Oracle, 数据库管理, 1,438 views
-
现象描述:win2003server,Administrator用户,Oracle9.2.0.1环境下,使用Database Configuration Assistant创建数据库,发生ORA-01031:insufficient privileges错误,数据库创建失败
错误原因:Win2kServer&Win2003Server系统默认Adminstrator没有批处理作业的权限。.解决方案:运行gpedit.msc计算机配置—windows设置—安全设置—本地策略—用户权限分配“作为批处理作业登陆”中添加administrator -
No Comments »
-
Nov09
RHAS4安装fcitx3.0输入法
Posted in 操作系统, 832 views
-
1、下载软件 fcitx-3.0.0-1.i386.rpm
2、停止iiim输入法服务
su
cd /sbin
./service iiim status 查找iiim输入法服务是否在运行
./service iiim stop 停止iiim服务(如果以后需要可以用service iiim start 开始iiim服务)
./chkconfig –del iiim 禁止iiim服务自动运行(如果以后需要可以用chkconfig –add iiim 增加iiim服务自动运行)
删除系统原有输入法
rpm -e miniChinput
rpm –e xcin3、安装软件
rpm -ivh fcitx-3.0.0-1.i386.rpm --nodeps --force
4、修改配置文件
在你的用户目录下,找到.bashrc文件(是隐藏文件,所以前面有一个“.”)
vi ~/.bashrc
在这个文件最后面加上:
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8
export XMODIFIERS="@im=fcitx"在/etc/X11/xinit/xinput.d/中新建一个名为fcitx的文件(如果不能新建可打开其它的文件修改为以下内容然后另存为fcitx)输入如下内容:
XMODIFIERS="@im=fcitx"
XIM=fcitx
XIM_PROGRAM=fcitx用文本编辑器打开/etc/alternatives/xinput-zh_CN把它的内容也修改为
XMODIFIERS="@im=fcitx"
XIM=fcitx
XIM_PROGRAM=fcitx5、重启
br /> 如果此时不能输入中文或不能启动输入法
则执行下列命令
rm ~root/.fcitx –rf 然后重启
或者用其它普通用户登录(此用户应该是可以用此输入法输入五笔的),然后再用root登录,然后把普通用户下的~/.fcitx完全复制一分到root用户主目录下并修改属主试试文章引用自: -
No Comments »
-
Nov09
RHAS4升级服务设置
Posted in 操作系统, 810 views
-
可能是因为版权的关系,网上已经找不到可用的rhel的apt和yum源了.centos是一个根据rhel rebuild的版本,它的目录结构,文件命名,所有软件包都跟rhel是完全兼容的,因此,我们完全可以用centos的apt和yum源来进行系统和软件更新.
Apt下载:http://rpm.pbone.net/index.php3/stat/4/idpl/1985014/com/apt-0.5.15cnc6-4.centos4.i386.rpm.html
下载完以后用rpm -i apt-0.5.15cnc6-4.centos4.i386.rpm 进行安装
其实这时就可以用了,不过为了使更新更快,我们最好编辑一下下面这个文件
/etc/apt/sources.list.d/centos.list
修改其中的apt源为centos的中国镜像CODE:
### CentOS-4 APT repository
rpm http://mirror.be10.com centos/4/apt/i386 os addons updates extras
rpm http://mirror.be10.com centos/4/apt/i386 contrib centosplus然后更新apt文件列表
apt-get update
升级所有文件
apt-get upgrade
也可以用下面命令来安装软件
apt-get install packagename
用apt可以升级我们大多数的软件,但要升级内核还需要用yum
先安装yum
apt-get install yum
这个时候需要导入一个GPG-KEY
rpm --import /usr/share/rhn/RPM-GPG-KEY
现在网上的文章出现了一个失误,还要修改一下/etc/yum.repos.d/CentOS-Base.repo
才可以yum升级,把/etc/yum.repos.d/CentOS-Base.repo的内容替换为:CODE:
[base]
name=CentOS-4 - Base
baseurl=http://mirror.be10.com/centos/4/os/i386/
gpgcheck=1
#released updates
[update]
name=CentOS-4 - Updates
baseurl=http://mirror.be10.com/centos/4/updates/i386/
gpgcheck=1
#packages used/produced in the build but not released
[addons]
name=CentOS-4 - Addons
baseurl=http://mirror.be10.com/centos/4/addons/i386/
gpgcheck=1
#additional packages that may be useful
[extras]
name=CentOS-4 - Extras
baseurl=http://mirror.be10.com/centos/4/extras/i386/
gpgcheck=1
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-4 - Plus
baseurl=http://mirror.be10.com/centos/4/centosplus/i386/
gpgcheck=1
enabled=0
#contrib - packages by Centos Users
[contrib]
name=CentOS-4 - Contrib
baseurl=http://mirror.be10.com/centos/4/contrib/i386/
gpgcheck=1
enabled=0
#packages in testing
[testing]
name=CentOS-4 - Testing
baseurl=http://mirror.be10.com/centos/4/testing/i386/
gpgcheck=1
enabled=0然后现在就可以进行升级了
yum update
yum升级完以后如果升级内核的话需要重新启动,使用
/sbin/shutdown -r now
重新启动以后再看看系统内核,已经是新版本的了
uname -a
-
No Comments » rhel4 update
-
Nov09
在RHAS4下安装ORACLE9I遇到的2个问题
Posted in Oracle, 数据库管理, 902 views
-
1、运行润runInstaller后出现 “Error occurred during initialization of VM” 错误
解决方案:
安装p3006854_9204_linux.zip补丁
su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
2、安装界面乱码Oracle9i使用的默认汉字字体是tlc-song,是Turbo Linux中的一种字体。在RedHat等Linux上安装Oracle9i都会出现提示:
Font specified in font.properties not found [-tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0]
而且中文显示成方块。折衷解决方法(修改字体的方法未测试成功):
$export LANG=AMERICAN
-
No Comments »

Comments