linux oracle建库(oracle实例)

大家好,今天来为大家解答linux oracle建库这个问题的一些问题点,包括oracle实例也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

如何手动创建oracle数据库

在LINUX平台上手动创建数据库(oracle 10g)(在一个oracle服务器上启动两个实例)

1.首先设置要创建的ORACLE的SID,如果在.bash_profile文件里设置里该变量,就不用设置了。

$echo$ORACEL_SID

mdy

如果没有设置,就手动设置,如果一个服务器上要运行多个ORACLE实例,也需要手动设置。

export ORACLE_SID=gcm

2.创建需要的诊断目录,这些目录都是ORACLE进程遇到错误或用户手动TRACE时需要的。

mkdir-p$ORACLE_BASE/admin/gcm/adump

mkdir-p$ORACLE_BASE/admin/gcm/bdump

mkdir-p$ORACLE_BASE/admin/gcm/cdump

mkdir-p$ORACLE_BASE/admin/gcm/udump

mkdir-p$ORACLE_BASE/admin/gcm/pfile

创建oracle的数据文件目录

mkdir-p$ORACLE_BASE/oradata/gcm

3.创建ORACLE的参数文件$ORACLE_HOME/dbs/initgcm.ora内容如下:

aq_tm_processes=0

audit_file_dest=/oracle/admin/gcm/adump

background_dump_dest=/oracle/admin/gcm/bdump

compatible=10.2.0.1.0

control_files=/oracle/oradata/gcm/control01.ctl,/oracle/oradata/gcm/control02.ctl,/oracle/oradata/gcm/control03.ctl

core_dump_dest=/oracle/admin/gcm/cdump

db_block_size=8192

db_domain=""

db_file_multiblock_read_count=16

db_name=gcm

instance_name=gcm

dispatchers="(PROTOCOL=TCP)(SERVICE=gcmXDB)"

job_queue_processes=10

nls_length_semantics=BYTE

open_cursors=300

pga_aggregate_target=94371840

processes=150

remote_login_passwordfile=EXCLUSIVE

resource_manager_plan=""

sessions=170

sga_target=285212672

undo_management=AUTO

undo_retention=900

undo_tablespace=UNDOTBS1

user_dump_dest=/oracle/admin/gcm/udump

4.创建密码文件

orapwd file=$ORACLE_HOME/dbs/orapwgcm password=admin entries=5 force=y

5.创建oracle的建库脚本 createdb.sql,内容如下:

create database gcm

MAXINSTANCES 1

MAXLOGHISTORY 1

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXDATAFILES 100

DATAFILE

'/oracle/oradata/gcm/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local

sysaux datafile

'/oracle/oradata/gcm/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited

default temporary tablespace TEMP tempfile

'/oracle/oradata/gcm/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited

undo tablespace UNDOTBS1 datafile

'/oracle/oradata/gcm/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited

logfile

GROUP 1('/oracle/oradata/gcm/redo1.dbf') size 10m,

GROUP 2('/oracle/oradata/gcm/redo2.dbf') size 10m,

GROUP 3('/oracle/oradata/gcm/redo3.dbf') size 10m

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16

;

6.数据库创建完成后,再创建ORACLE的数据字典。

SQL>@/oracle/product/10g/rdbms/admin/catalog.sql

SQL>@/oracle/product/10g/rdbms/admin/catproc.sql

SQL>@/oracle/product/10g/rdbms/admin/catexp.sql

到此ORACLE手动创建过程就完成了

7.创建(新)用户:

create user gcm identified by onewavegcm;

username:新用户名的用户名

password:新用户的密码

也可以不创建新用户,而仍然用以前的用户,如:继续利用scott用户

8.创建表空间:

create tablespace gcm datafile'd:\data.dbf' size 300m;

tablespacename:表空间的名字

d:\data.dbf':表空间的存储位置

xxx表空间的大小,m单位为兆(M)

9.将空间分配给用户:

alter user gcm default tablespace gcm;

将名字为tablespacename的表空间分配给username

10.给用户授权:

grant connect,resource,dba to gcm;

11.然后再以楼主自己创建的用户登录,登录之后创建表即可。

conn username/password;

创建表用create table.

SELECT host_name, instance_name, version FROM v$instance;

select distinct username from v$session;

imp gcm/onewavegcm file=gcmtable.dmp full=y

12.修改监听配置文件listener.ora

gcm=

(DESCRIPTION_LIST=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL= IPC)(KEY= EXTPROC))

)

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL= TCP)(HOST= 219.141.133.x)(PORT= 1522))

)

)

)

SID_LIST_gcm=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME= gcm)

(ORACLE_HOME=/oracle/product/10g)

(SID_NAME= gcm)

)

)

13.启动实例

su oracle

export ORACLE_SID=boss

sqlplus>startup

exit

su oracle

export ORACLE_SID=gcm

sqlplus/ as sysdba

>startup

14.启动监听

su oracle

#lsnrctl start#listener1

#lsnrctl start gcm#listener2

如何在Linux环境下安装Oracle 数据库11g

因项目需求,需要在64位linux系统中安装Oracle 11g,在网上查了很多内容,结合自己的实际经验,终于安装成功,记录下来,分享给有需要的同志们,不谢哈!^_^

一、修改操作系统核心参数

在Root用户下执行以下步骤:

1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件

输入命令:vi/etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

4

5

6

7

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

编辑完成后按Esc键,输入“:wq”存盘退出

2)修改/etc/pam.d/login文件,输入命令:vi/etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

session required/lib/security/pam_limits.so

session required pam_limits.so

编辑完成后按Esc键,输入“:wq”存盘退出

3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi/etc/sysctl.conf,按i键进入编辑模式,将下列内容加入该文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

fs.file-max= 6815744

fs.aio-max-nr= 1048576

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= 4194304

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

编辑完成后按Esc键,输入“:wq”存盘退出

4)要使/etc/sysctl.conf更改立即生效,执行以下命令。输入:sysctl-p显示如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

linux:~# sysctl-p

net.ipv4.icmp_echo_ignore_broadcasts= 1

net.ipv4.conf.all.rp_filter= 1

fs.file-max= 6815744

fs.aio-max-nr= 1048576

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= 4194304

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

5)编辑/etc/profile,输入命令:vi/etc/profile,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

if [$USER="oracle" ]; then

if [$SHELL="/bin/ksh" ]; then

ulimit-p 16384

ulimit-n 65536

else

ulimit-u 16384-n 65536

fi

fi

编辑完成后按Esc键,输入“:wq”存盘退出

6)创建相关用户和组,作为软件安装和支持组的拥有者。

创建Oracle用户和密码,输入命令:

?

1

2

3

useradd-g oinstall-g dba-m oracle

passwd oracle

然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。

7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:

输入命令:

?

1

2

3

4

5

6

7

mkdir/home/oracle/app

mkdir/home/oracle/app/oracle

mkdir/home/oracle/app/oradata

mkdir/home/oracle/app/oracle/product

8)更改目录属主为Oracle用户所有,输入命令:

?

1

chown-R oracle:oinstall/home/oracle/app

9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,

输入:su– oracle,然后直接在输入: vi.bash_profile

按i编辑.bash_profile,进入编辑模式,增加以下内容:

?

1

2

3

4

5

6

7

8

9

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

编辑完成后按Esc键,输入“:wq”存盘退出

二、安装过程

1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。

打开一个终端,运行unzip命令解压oracle安装文件,如:

输入命令:

?

1

2

3

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

解压完成后 cd进入其解压后的目录database

输入命令:

cd database

使用ls命令可以查看解压后database所包含的文件,如下图:

2)执行安装,输入命令:./runInstaller

装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从安装linux的光盘或ISO中(或去

D:\linux_oracle11g_Package)查找所缺的包,使用ftp上传到linux中,然后使用rpm–ivh xxx.rpm

--nodeps–force来进行安装(其中加上--nodeps-- force代表强制安装,是在直接使用rpm–ivh

xxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过

了。

安装过程中86%可能会遇到报错如出错问题(error in invoking target'mkldflags ntcontab.o nnfgt.o' of makefile)按照如下步骤顺序执行。

上传安装镜像rhel-server-6.1-x86_64-dvd.iso,

然后将镜像文件挂,如/mnt

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

# mount-o loop rhel-server-6.1-x86_64-dvd.iso/mnt

# cd/mnt/Packages

# rpm-ivh glibc-common-2.12-1.25.el6.x86_64.rpm

# rpm-ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm

# rpm-ivh libgcc-4.4.5-6.el6.x86_64.rpm

# rpm-ivh glibc-2.12-1.25.el6.x86_64.rpm

# rpm-ivh libgomp-4.4.5-6.el6.x86_64.rpm

# rpm-ivh nscd-2.12-1.25.el6.x86_64.rpm

# rpm-ivh glibc-headers-2.12-1.25.el6.x86_64.rpm

# rpm-ivh glibc-devel-2.12-1.25.el6.x86_64.rpm

# rpm-ivh mpfr-2.4.1-6.el6.x86_64.rpm

# rpm-ivh ppl-0.10.2-11.el6.x86_64.rpm

# rpm-ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

# rpm-ivh cpp-4.4.5-6.el6.x86_64.rpm

# rpm-ivh gcc-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc,软件安装顺序不能错。

?

1

2

3

4

5

6

7

******************************************

# rpm-ivh libstdc++-4.4.5-6.el6.x86_64.rpm

# rpm-ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm

# rpm-ivh gcc-c++-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc-c++

根据这个方法解决了错误。

安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

和/home/oracle/oraInventory/orainstRoot.sh新开启一个终端,输入命令:

?

1

2

3

4

5

6

7

8

9

su– root

cd/home/oracle/app/oracle/product/11.2.0/dbhome_1

sh root.sh

cd/home/oracle/oraInventory

sh orainstRoot.sh

三、数据库建库

1)还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。

我们应该怎样安装Oracle数据库

应该怎么样安装数据库,从安装软件到创建数据库?对于这个问题,或许有的人不屑一顾,因为他们觉得这没有丝毫问题;同时有另一部分人,觉得这是个大问题。在安装Oracle上,通常会有几种类型的人:完全抓不着头脑,不知道怎么安装,这通常是初学者,连Linux/Unix都不太熟悉。很少安装Oracle的人,但是知道对照文档一步一步操作,出了错也知道上google、baidu和metalink查找解决方案。 Oracle老手,安装数据库不需要任何文档,对每个步骤也很熟悉。对Oracle的安装非常熟悉,但是在安装时仍然按文档一步一步操作。对我个人来说,我是最后一种类型的人。我也自认为安装了不少的数据库,覆盖了大部分的平台和操作系统。但我安装的时候,仍然会不嫌麻烦的一步一步操作按文档操作。在安装数据库软件包括建库,基本上没有遇到过什么问题。因为我也见过很多朋友,被安装这一问题折腾得焦头烂额,特别是在安装RAC的时候,这里只是写一写我自己的一些做法,仅供参考,毕竟每个人都有自己的习惯和做法。本文主要描述Linux/Unix下的Oracle安装,不涉及Windows系统下的安装。我的习惯做法:平时注意收集安装文档,包括oracle online document(所谓的官方文档),metalink上的,还有IBM、HP这些公司与Oracle合作部门提供的文档。oracle online document中安装部分没事看一遍就可以了,但是metalink上很多文档详细地记录了版本的兼容性,安装时可能出现的问题以及解决办法等等,比如很实用的文档:《Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference(8.0.5 to 11.2) [ID 169706.1]》、《Linux OS Requirements Reference List for Database Server [ID 851598.1]》、《Status of Certification of Oracle Clusterware with HACMP [ID 404474.1]》。而其他厂商的文档包括:《CookBook_V3.2_Oracle_9i_RAC_AIX5L》、《COOKBOOK_Oracle CTC RAC10g R2 on HP-UX》、《COOKBOOK-V2.0-10gRAC R2- ASM- AIX5L- SAN Storage》如此等等,还包括网上一些朋友自己撰写的安装文档。在参考这些文档时,需要注意的是,一定要明白每一个步骤其目的,有什么作用。根据以上提到的文档,进行整理,形成自己的文档。我在前面说到,我安装时一步一步按文档操作,是指的按我自己的文档,而不是去参考前面提到的若干文档。在自己的文档中,甚至提供了详细的命令,这样在安装的时候对某些不熟悉的命令不至于现查资料。深入理解文档中提到的各个参数、各个命令的作用。这不光是对安装,而对于Oracle数据库的更深入理解也是大有好处的。安装Oracle数据库时,在安装软件之前,通常有下面的操作:检查操作系统版本、相应组件是否安装,是否有安装好文档中指定的补丁,也包括c编译器或c语行环境,这些对Linux下的安装来说犹为重要。检查文件系统空间,特别是/tmp临时文件系统检查memory大小,特别是swap的大小。特别是在HP-UX下,swap的管理方式与其他系统有些不一样(此处不再细述),最好能够达到物理内存大小,对于特别大的物理内存,至少也要达到一半。检查主机时区,时间设置。这一步通常被很多人忽略。检查主机名设置,有的安装系统相当不负责任,直接将主机取名localhost。检查异步IO设置。检查网络设置,包括/etc/hosts文件的设置,特别是对RAC数据库犹为重要。检查内核参数,特别是共享内存、信号量、用户最多可运行进程数这些参数。 oracle用户创建后,注意编辑profile文件,设置相应的环境变量,注意不同的平台,相同意义的环境变量却有不同的名字,比如linux下的LD_LIBRARY_PATH和AIX下的LIBPATH。经常见到有的系统,oracle的PATH都没有设置,这样登录后操作相当不方便。对Oracle用户设置limit,通常是直接编辑/etc/security/limits.conf文件。给Oracle用户一些特定的权限,比如HP-UX下修改/etc/privgroup文件,10.2.0.4 for AIX下给用户CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, CAP_PROPAGATE这样的权限等等。对于RAC,还需要设置rsh或ssh至于安装的其他步骤,不是本文所要讲的主要内容,在此略过。还要提及一点,安装的时候对于目录的选择,可以按照OFA的标准做法,也可以按照使用部门的习惯,建议使用OFA。经常有见到一些乱七八糟的目录,让人好找,这种做法不太好。说到安装,不能不提到打补丁。在安装完成后,最好是打上较新的补丁包以及metlink上提到的一些建议打的补丁。而等到系统正式使用,发现问题再打补丁,其代价就昂贵得多。由于安装Oracle软件以及升级版本和打补丁,比较耗时,有的朋友就喜欢下面的做法:安装好软件,打上补丁,然后tar成一个包,保存在自己的存储介质上,下次在其他主机上安装时,直接用这个tar包解开。这种做法可以省一些安装软件的时间,但是需要tar包的环境是否一致。我曾遇到过下面的问题:某套新装9208的库,报ORA-600[504]错误,通过在metalink上搜索发现其最符合的一个BUG对应的补丁已经打上。其他类似环境下,包括有同样的补丁,却没有这样的错误。我找了一台操作系统完全一样的测试主机,安装与有问题库的版本完全一样的版本和补丁,却也没有这样的错误;接下来我将出问题的Oracle home复制到测试主机上,结果问题重现了,看起来问题在Oracle软件上。我尝试执行relink操作,居然失败。发现这份Oracle在relink包括有HA代码,实际上这是一个单机的环境,也没有安装HACMP。最后,使用rac_off选项,再重新relink,新生成的oracle,不再出现这样的问题。在有问题的生产主机上重新relink后,问题解决。出现问题的Oracle,就是通过解tar文件来安装的,在主机上我们也发现了以前安装时保留的tar文件。因此通过这种方式安装的,建议进行relink。下面再谈谈创建数据库的一些个人经验:尽量使用new database(9i)或者custom database(10g)这样的选项来创建库,建库时只安装必须的组件,这种做法有3个主要好处:更安全、更稳定、以后升级时所花的时间更少。创建数据库时注意选择正确的字符集。如果是选用模板创建数据库,注意模板有可能不与Oracle软件软件版本相匹配。同时在建库完成后需要运行相应的脚本,比如在安装了PSU的情况下,那么使用模板建库,得需要运行PSU带的脚本(具体参考PSU的README)。在打完补丁之后,在创建数据库,避免在升级软件之后还要升级数据库。建完库后,建议设置一下大体上合理的数据库参数。希望本文能够对Oracle数据库的安装不太熟悉的朋友一些帮助。

阅读剩余
THE END