当前位置:IT教程网教程中心操作系统综合文章 → 教程内容

一点点技术资料

减小字体 增大字体 作者:佚名  来源:不详  发布时间:2007-1-2 11:06:00

unix/database资料记录

AIX

一:指令

1.oslevel                   列出操作系统版本号

2.lsvg  – o                查看vg列表

3.lsvg –L rootvg             查看rootvg的使用情况

4. smitty mkvg               创建volume group

  lsvg                      查看vg

smitty mklv               创建logical volume

smitty jfs                 创建文件系统

5.errpt                  查看系统错误列出所有错误id

  errpt –j  id          查看错误详细信息

6,在aix系统下#set –o vi 然后可以用esc + k 来翻上一条命令

7运行"refresh -s syslogd"命令刷新syslogd 后台程序

   运行“refresh -s inetd”命令刷新inetd后台程序

8,问题 如何查看系统上次启动的log?
解答 # alog -o -t boot

9,问题 如果想要立刻断掉一个已经login的用户,如何做
解答 可使用命令 fuser -k <用户的主目录>
如:fuser -k /home/guest

10,问题 如何使用errdemon客户化系统错误日志文件?
解答 首先列出系统错误日志文件当前配置数据:

#/usr/lib/errdemon -l

Error Log Attributes
--------------------------------------------
Log File /var/adm/ras/errlog
Log Size 1048576 bytes
Memory Buffer Size 8192 bytes

如果希望改变系统错误日志文件的大小, 输入:

#/usr/lib/errdemon -s 2000000

如果希望改变系统错误日志文件buffer的大小, 输入:

#/usr/lib/errdemon -B 16384

11#stopsrc –s snmpd

    #startsrc –s snmpd

12, 问题 AIX 4.x如何清除挂起的tty
解答 为了说明方便,下面的例子假设挂起的tty端口为tty0.

1.
确定当前挂起的tty正在操作的进程:

ps -ef | grep tty0

该命令假设返回内容如下:

root 12345 1 0 Aug 29 0 /path/program_name

进程ID (PID) "12345". 杀掉该进程:

kill -9 12345

再次运行ps -ef | grep tty0 命令去查看该进程是否被杀掉。

不要使用“-9”的选项去杀掉slattach进程,因为它可能导致AIX操作系统挂起。
注意:如果进程是“getty” 使用下面命令去杀掉进程:
pdisable tty0
如果上面命令不能成功的杀掉进程,而tty仍然是挂起的,可以使用第二步。


2.
执行下面的命令:

fuser -k /dev/tty0

该命令将杀掉运行在此端口的所有进程,并且显示其PID (进程 ID).
如果上面命令不能成功的杀掉进程,而tty仍然是挂起的,可以使用第三步。


3.
在被挂起的终端的键盘上,键入“Ctrl+Q”. 如果tty仍然挂起,使用第四步。


4.
物理的断开连接端口的设备(连线). 在某些情况下可以释放端口.

注意:前面的一些命令也许不会生效并且报设备忙的错误。这是由于一些进程正运行在tty上。如果上面的步骤仍不能释放挂起的tty,最后可以通过重起AIX释放内核去清除此进程。

二:其他

1.       对于经典rs6000机器(对基于pcirs6000则需要在启动时按f5 5 从光驱引导),在安装过程中将钥匙调到services位置进入维护状态以便从光驱引导,等安装完重起是将钥匙调到normalok位置。

2.       sqlplus提示符下用!加系统命令执行命令即可

sqlplus> hostname

   sqlplus>  test250

3.       A: 数据库名------DB_NAME 写入pfile文件中,不得修改 (服务名services-name一般和数据库名一致)

select name from v$database

B:  数据库实例名------INSTANCE_NAME   写入pfile,可以被修改,用于与操作系统联系   select  instance_name from v$instance;

数据库实例名是oracle数据库的一个参数,用instance_name表示,

ORACLE_SID 是操作系统上识别oracle的参数用ORACLE_SID表示,

实际上他们的值是一致的

   

4 修改用户口令方法一:grant connect to sys identified by passwordxxxxx;

修改用户口令方法二:alter user sys identified by passwordxxxxx;

修改用户口令方法三:password sys

5.为确保数据库不采用操作系统认证登陆而采用oracle认证登陆(即不可以c:>sqlplus “/ as sysdba” 方式,而必须要密码)

修改步骤一:修改参数文件中REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVESHARED

修改步骤二:修改……/network/admin/sqlnet.ora文件

增加              SQLNET.AUTHENTICATION_SERVICES=(NTS)

6.alter session set nls_calendar=’Japanese Imperial’

 参数:nls_currency  用于货币

       nls_date_format 用于设置日期格式

7.设置sql中每行显示宽度sql> set linesize 1000 (可显示1000个字母)

  设置sql中显示查询用时间sql> set timing on

8.修改数据文件大小

  A>查询数据文件:select file_id,bytes,file_name from dba_data_files;

  B>修改为100m alter database datafile ‘f:oracleoradataora9users01.dbf’ resize 100m;

9.关于归档

A>查询数据库使用的log记录模式:sql> select log_mode from v$database;

sql>archive log list

B>

10.关于备份

  A:完全脱机备份,需要备份的文件可以用如下sql语句查询

      A1sql> select file_name from dba_data_files;

      A2:  sql>select * form v$logfile;

      A3:  sql>select * from v$controlfile;

     关闭数据库后,备份如上语句查询到的全部文件

11. 怎么查看数据库版本
[A]select * from v$version
包含版本信息,核心版本信息,位数信息(32位或64)
至于位数信息,在linux/unix平台上,可以通过file查看,如
file $ORACLE_HOME/bin/oracle

12. 怎么查看数据库参数
[A]show parameter
参数名
如通过show parameter spfile可以查看9i是否使用spfile文件
或者select * from v$parameter
除了这部分参数,Oracle还有大量隐含参数,可以通过如下语句查看:
SELECT NAME
,VALUE
,decode(isdefault, 'TRUE','Y','N') as "Default"
,decode(ISEM,'TRUE','Y','N') as SesMod
,decode(ISYM,'IMMEDIATE', 'I',
'DEFERRED', 'D',
'FALSE', 'N') as SysMod
,decode(IMOD,'MODIFIED','U',
'SYS_MODIFIED','S','N') as Modified
,decode(IADJ,'TRUE','Y','N') as Adjusted
,description
FROM ( --GV$SYSTEM_PARAMETER
SELECT x.inst_id as instance
,x.indx+1
,ksppinm as NAME
,ksppity
,ksppstvl as VALUE
,ksppstdf as isdefault
,decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE') as ISEM
,decode(bitand(ksppiflg/65536,3),
1,'IMMEDIATE',2,'DEFERRED','FALSE') as ISYM
,decode(bitand(ksppstvf,7),1,'MODIFIED','FALSE') as IMOD
,decode(bitand(ksppstvf,2),2,'TRUE','FALSE') as IADJ
,ksppdesc as DESCRIPTION
FROM x$ksppi x
,x$ksppsv y
WHERE x.indx = y.indx
AND substr(ksppinm,1,1) = '_'
AND x.inst_id = USERENV('Instance')
)
ORDER BY NAME

13. 怎么样查看数据库字符集
[A]
数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。
客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter
表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表
会话字符集环境 select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件
字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk

14. 怎么样修改字符集
[A]8i
以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。
Startup nomount;
Alter database mount exclusive;
Alter system enable restricted session;
Alter system set job_queue_process=0;
Alter database open;
Alter database character set zhs16gbk;

15. 怎么样修改表的列名
[A]9i
以上版本可以采用rname命令
ALTER TABLE UserName.TabName
RENAME COLUMN SourceColumn TO DestColumn
9i
以下版本可以采用create table …… as select * from SourceTable的方式。
另外,8i以上可以支持删除列了
ALTER TABLE UserName.TabName
SET UNUSED (ColumnName) CASCADE CONSTRAINTS
ALTER TABLE UserName.TabName
DROP (ColumnName) CASCADE CONSTRAINTS

16. 如何移动数据文件
[A]1
、关闭数据库,利用os拷贝
a.shutdown immediate
关闭数据库
b.
os下拷贝数据文件到新的地点
c.Startup mount
启动到mount
d.Alter database rename datafile '
老文件' to '新文件';
e.Alter database open;
打开数据库
2
 

广告位置