随笔-13  评论-28  文章-63  trackbacks-0
  2006年9月1日

在Linux系统中我一般采用编译源码的方式来安装Apache,有两种方法可以让Apache在系统启动时自动启动。

1. 在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/apachectl start

2. 将apache注册为系统服务

首先将apachectl命令拷贝至/etc/rc.d/init.d目录下,改名为httpd

使用编辑器打开httpd文件,并在第一行#!/bin/sh下增加两行文字如下

# chkconfig: 35 70 30
# description: Apache

接着注册该服务

chkconfig --add httpd

一切OK了,启动服务

service httpd start

其中所增加的第二行中三个数字第一个表示在运行级别3和5下启动apache,第二、三是关于启动和停止的优先级配置,无关紧要。

posted @ 2008-08-07 16:51 七匹狼 阅读(272) | 评论 (0)编辑 收藏
70EW-TH17Q1-PM-C01-S1W2QD-MEM-NUYY
posted @ 2006-11-02 13:51 七匹狼 阅读(572) | 评论 (0)编辑 收藏
当使用9205以前版本的exp程序去9205及以上的数据库中去导出带LOB字段的表时, 会遇到一个错误, 错误信息为"EXP-00003 : 没找到段的存贮定义 .....", 事实上这是一个Oracle的Bug, 可以通过监时地更改视图"exu9tne"的定义来临时解决问题, 如下所示:

    在导出前, 连接到SYS用户, 运行以下SQL:

CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
UNION ALL
SELECT * FROM SYS.EXU9TNEB
/

    导出完成后, 运行以下命令来还原视图的定义, 下面贴的是Oracle 9用的, 10g的还是请访问Metalink来确定, 或者在运行前一个命令之前, 从USER_VIEWS中将原视图的定义查出来, 这样做也是DBA一个很好的习惯.

CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
/
posted @ 2006-09-07 11:35 七匹狼 阅读(579) | 评论 (0)编辑 收藏
         1) 创建用户 :

   create user username identified by pwd default tablespace users Temporary TABLESPACE Temp;

   2) 用户授权

   grant connect,resource,dba to business;   
     
         3) 提交

   commit;

创建角色:
   1:CREATE ROLE role_name IDENTIFIED BY password
         CREATE ROLE role_name IDENTIFIED EXTERNALLY
         CREATE ROLE role_name IDENTIFIED GLOBALLY

         缺省情况下建立的角色没有password或者其他的识别。如果使用IDENTIFIED BY 子句建立,那么角色不会自动响应,必须用SET ROLE激活。

SET ROLE role_name IDENTIFIED BY password

EXTERNALLY和GLOBALLY类型的角色由操作系统和ORACLE Service server验证。通常用户需要权限修改应用程序中使用的表单中的数据,但是只有在应用程序运行时而不是在使用ad hoc工具时,这种上下文敏感安全可以通过有PASSWORD的角色来实现。当用户在应用程序内部连结数据库时,代码将执行SET ROLE命令,通过安全验证。所以用户不需要知道角色的password,也不需要自己输入SET ROLE命令。

对象权限

  对象权限就是指在表、视图、序列、过程、函数或包等对象上执行特殊动作的权利。有九种不同类型的权限可以授予给用户或角色。如下表:
权限ALTERDELETEEXECUTEINDEXINSERTREAD REFERENCESELECT UPDATE
Directoryno no no no no yesnono no
functionnonoyesno nonononono
procedureno noyesnonono nonono
packagenonoyesnononononono
DB Objectno no yesnono nononono
Libary nonoyes nonono no nono
Operation no no yesno no no no no no
Sequenceyes no no no no no no no no
Table yes yes noyesyes no yes yes yes
Typeno no yes no no no no no no
View no yes no no yes no no yes yes
 对象由不止一个权限,特殊权限ALL可以被授予或撤销。如TABLE的ALL权限就包括:

系统权限

  系统权限需要授予者有进行系统级活动的能力,如连接数据库,更改用户会话、建立表或建立用户等等。你可以在数据字典视图SYSTEM_PRIVILEGE_MAP上获得完整的系统权限。对象权限和系统权限都通过GRANT语句授予用户或角色。需要注意的是在授予对象权限时语句应该是WITH GRANT OPTION子句,但在授予系统权象时语句是WITH ADMIN OPTION,所以在你试图授予系统权限时,使用语句WITH GRANT OPTION系统会报告一个错误:ONLY ADMIN OPTION can be specified。在考试中要特别注意这个语法和错误信息。

posted @ 2006-09-03 16:33 七匹狼 阅读(2095) | 评论 (1)编辑 收藏

一、系统环境:

(1)、操作系统:Windows 2000 professional,机器内存512M

(2)、数据库: Oracle 8i R2 (8.1.6) for 2000 企业版

(3)、安装路径:D:\ORACLE

二、卸载步骤:

(1)、开始->设置->控制面板->管理工具->服务

停止所有Oracle服务。

(2)、开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer

卸装所有Oracle产品

(3)、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。

(4)、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口

(5)、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标

(6)、重新启动计算机,重起后才能完全删除Oracle所在目录

(7)、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,

  并从Windows 2000目录(一般为C:\WINNT)下删除以下文件

  ORACLE.INI、oradim80.INI

(8)、WIN.INI文件中若有[ORACLE]的标记段,删除该段

注:第8步可有可无

如果是在unix或linux下那就更方便了,只要删除$ORACLE_HOME下的所以文件,以及所有数据文件,最后删除日志文件就可以了

posted @ 2006-09-03 14:52 七匹狼 阅读(336) | 评论 (0)编辑 收藏
本文所涉及到的Oracle_Database_10g运行在操作系统Red Flag Linux DC 4.1下。
    8月1日至8月19日,CALIS第三期系统管理员培训班在上海交通大学闵行校区图书馆成功举行。作为这期培训班的管理人员之一,笔者旁听了红旗Linux 和Oracle Database 10g的全部讲课。10g的培训内容基本涉及到了该数据库的各个方面,但是在实际部署CALIS产品的时候,除了要了解Red Flag Linux DC 4.1下有方便10g安装的Oracle Install Navigator(系统命令oranavi),以下三个问题值得注意。一、RESOURCE角色的UNLIMITED TABLESPACE权限问题
    在10g中,RESOURCE角色包含了CREATE TRIGGER、CREATE INDEXTYPE和CREATE PROCEDURE等常用的系统权限,因此在10g中创建新用户的时候除了默认的CONNECT角色,一般还要赋予RESOURCE角色。
    现在,使用Enterprise Manager(EM)或者下面的SQL语句创建一个新用户:
    CREATE USER "TEST" PROFILE "DEFAULT" IDENTIFIED BY "TESTPASS" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
    GRANT "CONNECT" TO "TEST";
    GRANT "RESOURCE" TO "TEST";
    下边,在SQL*PLUS中以该用户身份登录:
    [liuxg@localhost liuxg]$ su - oracle
    [oracle@localhost oracle]$ sqlplus /nolog
    SQL> connect test/testpass
    查询该用户所拥有的全部权限:
    SQL> select * from session_privs;
    PRIVILEGE
    --------------------------------------------------------------------------------
    CREATE SESSION
    ALTER SESSION
    UNLIMITED TABLESPACE
    CREATE TABLE
    CREATE CLUSTER
    CREATE SYNONYM
    CREATE VIEW
    CREATE SEQUENCE
    CREATE DATABASE LINK
    CREATE PROCEDURE
    CREATE TRIGGER
    PRIVILEGE
    --------------------------------------------------------------------------------
    CREATE TYPE
    CREATE OPERATOR
    CREATE INDEXTYPE
    14 rows selected.
    从结果中可以看到,该用户拥有UNLIMITED TABLESPACE系统权限。但是如果使用select privilege from role_sys_privs where role='CONNECT'以及select privilege from role_sys_privs where role='RESOURCE'查询CONNECT和RESOURCE角色却找不到UNLIMITED TABLESPACE这个系统权限。
    从Oracle MetaLink得知,UNLIMITED TABLESPACE是为了使10g保持向后兼容性而隐含在RESOURCE角色中的一个系统权限。从安全性的角度来考虑,在创建用户并且授予RESOURCE角色之后应该回收UNLIMITED TABLESPACE这个系统权限。这里推荐创建一个新角色,比如CALIS_RESOURCE,该角色拥有select privilege from role_sys_privs where role='RESOURCE'查询语句所列出的全部系统权限,而在创建新用户的时候则将赋予这个新角色。二、8080端口和2100端口被占用问题
    很多用户发现,在10g运行的时候,如果启动默认端口为8080的Tomcat,不能访问Tomcat所提供的Web应用程序,通过命令lsof -i:8080会发现该端口已经被10g占用;同样,如果启动默认端口为2100的CALIS Z-Server,该服务也不能够被访问,再通过lsof -i:2100会发现该端口也是被10g占用。
    当然可以通过改变Tomcat和CALIS Z-Server默认端口的方式来避免端口冲突。通过调查发现10g中是XML DB在使用8080和2100,而XML DB目前在CALIS各项产品中还未使用到,因此,建议通过关闭XML DB来解决问题。具体可参考如下几步操作:
    [liuxg@localhost liuxg]$ su - oracle
    [oracle@localhost oracle]$ sqlplus /nolog
    SQL> connect / as sysdba
    SQL> alter system set dispatchers='' scope=both;
    SQL> shutdown immediate
    SQL> startup 三、 Enterprise Manager(EM)的使用问题
    10g提供了使用浏览器以Web方式访问数据库的工具Enterprise Manager,EM极大的方便了数据库管理员对数据库的管理。与此同时,EM默认使用的协议是HTTP,数据库用户密码以及对数据库进行的各项操作都是在网络上明文传输,这无疑是极大的安全隐患。针对这个问题,建议使用安全性较高的HTTPS协议使用EM。具体可参考如下几步操作:
    [liuxg@localhost liuxg]$ su - oracle
    [oracle@localhost oracle]$ emctl stop dbconsole
    [oracle@localhost oracle]$ secure dbconsole
    [oracle@localhost oracle]$ emctl start dbconsole
    其中为10g中sysman用户的密码。需要说明的是,在这之后,用Microsoft Internet Explorer和Red Flag Linux DC 4.1自带的Mozilla可以正常通过HTTPS协议访问EM,但是使用Firefox则会出现invalid certificate的提示,无法正常访问,需要进一步试验来解决。
    对于EM的中文界面出现乱码的情况,解决方法请参考这个网址:
    http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm。由于EM的中文界面有很多翻译不够准确的地方,因此最好是设置浏览器的默认语言为英文,使用英文操作界面。
    另外,如果使用DBCA新建立了一个库并配置了EM,那么访问该库的EM的时候端口不再是5500,而是5501。如果再新建立另外的多个库,则端口号依次增加1,iSQL*PLUS等具有相同的规律
posted @ 2006-09-01 15:34 七匹狼 阅读(302) | 评论 (0)编辑 收藏
1:打包:
      tar -c (文件名.tar.gz) (要被打包的目录)
2:解压:
      tar -xvzf  file.tar.gz
3:传输文件到另台机器上:
      scp filename compname:/directory
4:复制文件和目录
      cp 文件名或目录 文件名称或目录/路径
5:删除文件或目录
      rm -rf  file/directory
6:文字编辑
      vi filename
7:查看进程
       ps -a
8:查看开放的端口
       netstat -a
9:让程序永远后台运行
   nohup /root/test.php &

posted @ 2006-09-01 00:50 七匹狼 阅读(391) | 评论 (4)编辑 收藏