oracle入门(2)

oracle文件系统简述

在上一篇讲表空间中说到,在启动实例时,需要加载数据库,而这个数据库是由datafile、redo log file、control file、archive log file、parameter file等一堆文件组成的,那么这些文件分别有什么作用呢?

1、oracle的启动文件
启动文件的位置在$ORACLE_HOME/dbs下,有两个文件init.ora和spfile<inst_name>.ora,inst_name是当前实例名称。
这两个文件定义了启动的参数。init.ora是文本文件,spfile<inst_name>.ora是二进制文件。

注意:spfile<inst_name>.ora不能用文本编辑器修改,打开也不行,可能会造成实例无法启动。需要用alter命令修改。

2、oracle的控制文件
控制文件是*.ctl,10g在/u01/oracle/oradata/<inst_name> 目录下。形如:control01.ctl、control02.ctl、control03.ctl。
11xe版在/u01/app/oracle/oradata/<inst_name> 目录下,但是文件名变为了control.dbf,本质都是数据文件(二进制格式),只是文件后缀不一样。

3、oracle的数据文件
数据文件是*.dbf,10g也在/u01/oracle/oradata/<inst_name> 目录下。在创建表空间时需要指定的数据文件就是.dbf。数据库中的表是存储在数据文件中的。
11xe版在/u01/app/oracle/oradata/<inst_name> 目录下。

4、oracle的其它参数文件
监听程序的参数文件:
10g在
/u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
/u01/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
11xe版在
/u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
/u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora
继续阅读oracle入门(2)

oracle入门(1)

oracle创建表空间及用户

oracle的学习对于像我这样的新手,还是要一步一步来,先把基本概念搞清楚。

我觉得oracle学习可以分为几个部分:
系统基本使用
系统调优
sql语句编写
sql调优
PL/SQL程序开发

以下讨论都是在单主机模式下进行。欢迎讨论指正。

问题1:什么是实例?
一个oracle软件安装完之后,它有一个默认的实例(instance),同时用户还可以在oracle中增加实例。
实例是一个内存结构(SGA+后台进程),每个实例有一组自己的进程组,用来管理运行实例。实例中包含了表空间、用户账户。

实例和实例之间是相互独立的。在逻辑上每个实例有自己的表空间、自己的用户。在物理上表空间内表的结构、数据和用户信息,存储在磁盘的数据文件和用户文件中。

一个实例只能打开一个数据库。
继续阅读oracle入门(1)

转自知乎 内向者如何融入群体?

首先,为我们内向性格人群点个赞!

我和楼主一样,是个内向的人。我的朋友也并不多,算得上朋友的两手就数完了。工作三年中,遇到了一个仿佛居委会主席附身的经理,最爱上班时间如下属拉家常。对我工作时间以外,远离同事及种种不和群的举动(例如中午不和同事一起吃饭,下班不和同事一起逛街等等)表示极为担忧,认为我日常不能融入群众,工作时定无法与人合作…简直是一派胡言。

我个人认为,在工作中,如能与所有人保持一个良好的工作关系,已经足够。过多的私交,反倒影响工作上的独立思考,公正及效率。

——————————
闲话不多说,我们直插主题。我觉得你的问题直白的说是:【我自认为性格内向,在工作中朋友圈太小,维系又太累,为了维护一个与其他人差不多的表象,我该怎么办?】

首先,推荐题主看一本书【内向者的优势】
开篇有个小测试,来确认你性格中,到底是内外各半,还是更偏内向。而且,书中有不少内容,看后会有种豁然开朗的感觉。

同时,内向的人并不代表不合群。只是,内向者更加习惯独自思考,独自一人时压力才能释放,活力得以补充;而不是像外向性格那样,需要在与人社交之中压力得到释放,活力得到补充。

所以,在现实中,当你企图和外向者们一起去社交时,那就会感到非常的累,非常的窒息,而外向者们对此却毫无知觉…反而觉得如鱼得水,快活的不得了。

就工作而言,不知题主的工作性质,所以大致的应对方法是:除非你真的在工作中遇到了知己,否则,对于所有的同事,皆可视为工作应酬。应酬算在工作时间,应酬以外,都是个人时间。

应酬包括:早晚微笑问好再见,礼貌待人,适当的说一些赞美和例如“天气真好”之类不痛不痒的废话,以及在自身条件允许的情况下,为同事开一些方便之门,向其伸出援手。以上作为维系一个良好的工作关系足以。

不用强迫自己非要加入某个圈子,有时保持中立反倒能省不少事情。另外学会礼貌的拒绝他人。拒绝并不是否定,不和你们混,不代表我看不起你们,只是我爱逛书店,你们爱唱K,不顺路,仅此而已。同时,要给自己留出可供支配的个人时间。

——————-
具体怎么办,题主,你可培养一个自己的兴趣,这样拒绝的时候,人家也会觉得你很有诚意。举例:“今天我去不了了,刚办了健身卡,一会我去健身啦。/刚买了本新书等着回家看呢/买了音乐会的票一会去听/一会要去逛XX商场/今天我约了别人一会见面。”vs “今天不想去了,就想回家自己呆一会。” 立竿见影。

另外,最最重要的一点,也是我最受用的一点,送给题主。你要坚信:
【只要不是你亲耳听到,或其本人亲自告知的,其他任何传言皆可不放在心上” 】
不要幻想他人对你的看法,没对你直说,就是没看法。不要给自己不必要的负担,请务必大胆的活出自我。

Linux下子进程回收

Linux中有以下几个方法用于子进程回收:

1、父进程使用wait()和waitpid()函数等待子进程结束,父进程会挂起。

2、父进程fork()一个子进程,父进程退出,子进程由init进程接管。

3、父进程使用signal(SIGCHLD, SIG_IGN)通知内核忽略SIGCHLD信号,子进程结束后,由内核回收,并不再给父进程发送SIGCHLD信号。

4、父进程使用signal(SIGCHLD, proc)注册一个函数,子进程结束后,父进程收到SIGCHLD信号,在定义的proc函数中调用wait()处理。

signal和sigset函数

signal和sigset都是注册信号函数

signal是ANSI C的信号处理函数
sigset是System V的信号处理函数

ANSI C(标准C)是所有平台C程序都支持的,System V只在Unix/Linux使用。

如果程序运行在Linux平台,两者都可以,但是换到windows平台,信号处理就要用signal()了。

oracle中em与isqlplus按钮中文乱码问题

装好oracle后,登录em和isqlplus发现按键中文都是方块,以下是解决方法。

网上查了下,可能是font.properties中的字体系统不存在,所以显示乱码,替换这个文件即可。有两个地方需要替换。

cd $ORACLE_HOME/jdk/jre/lib
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat font.properties

cd $ORACLE_HOME/jre/1.4.2/lib/
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat font.properties


vim font.properties

查找filename,标识了字体文件的路径:

filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf

查看系统是否有中文字体文件:

cd /usr/share/fonts/

是否有zh_CN/TrueType目录,没有就创建。
将windows下的复制一个华文宋体的字体文件,到/usr/share/fonts/zh_CN/TrueType目录,改名为zysong.ttf。
继续阅读oracle中em与isqlplus按钮中文乱码问题

oracle开发工具

1、oracle SQL Developer
oracle官方出的开发工具,免费,可升级。
比较推荐,不是特别专注于数据库开发的人员使用。
需要安装:
1)JDK
2)SQL Developer软件

oracle SQL Developer 4.0.3 网盘下载地址:http://pan.baidu.com/s/1kT1LLpP

2、PL/SQL Developer
一家荷兰公司出的Oracle数据库开发工具,收费软件。
需要安装:
1)即时客户端instantclient-basic
2)plsqldev软件
3)注册机(或破解补丁)
4)汉化程序

DBA们用的很多,大多数是破解版。

3、TOAD
是一家专门做Oracle开发工具的公司做的,收费软件。
需要安装:
1)Toad软件
2)注册机(或注册码)

适合专业的数据库开发人员使用。

oracle生成测试数据

网上找了一个sql可以大批量生成测试数据:

create table myTestTable as 
  select 
    rownum as id, 
    to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime, 
    trunc(dbms_random.value(0, 100)) as random_id, 
    dbms_random.string('x', 20) random_string 
  from dual 
    connect by level <= 1200000; 


执行时报错:
ORA-01536: 超出表空间 'USERS' 的空间限额

增加表空间:

alter user liu quota unlimited on users;

再执行时又报错:
ORA-30009: CONNECT BY 操作内存不足
or
ORA-30009: Not enough memory for CONNECT BY operation
继续阅读oracle生成测试数据

软件及互联网爱好者