大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在win7下安装oracle9i方法:
创新互联是一家专业的成都网站建设公司,我们专注成都网站设计、网站制作、网络营销、企业网站建设,卖友情链接,一元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。
1.硬件配置要求 安装Oracle 9i要求的最低硬件配置如下: Memory:512MB (我装的第二台是256M内存,也没有问题) Swap space:1G Disk space: Database software:3.5G;seed database:1G Temporary disk space:400MB in /tmp。
2.设置Swap space 使用下列命令检查内存的大小: grep MemTotal /proc/meminfo 使用下列命令检查交换空间的大小: cat /proc/swaps 为达到1G的Swap space要求,创建临时交换空间。
命令如下: dd if=/dev/zero of=tmpswap bs=1k count=1000000 chmod 600 tmpswap mkswap tmpswap(如是以oracle用户telnet上server,再su成root的,则可能会报错说没有这个命令,那是因为PATH中没有 /sbin目录,所以运行/sbin/ mkswap tmpswap就可以了) swapon tmpswap 注意:重新启动后,临时交换空间不会自动加载,需要再次执行swapon tmpswap命令。安装完毕后,可以用swapoff tmpswap; rm tmpswap命令删除交换空间和临时文件。
3.设置共享内存 Oracle 9i使用Solaris的共享内存、交换区等资源进行工作,因而内核参数的是Oracle 9i能否正常安装和运行的关键,我第一次安装失败就是因为共享内存设置不够大导致中途退出的。a96167.pdf对共享内存的大小没有明确的要求,但实际上不设置此项,极可能导致安装到中途时,安装程序突然退出。将共享内存的大小设置为1G。
4、使用如下命令检查共享内存的大小: cat /proc/sys/kernel/shmmax 使用如下命令检查共享内存为1G:echo 1073741824 /proc/sys/kernel/shmmax 设置完毕后,可以再运行命令查看是否更改了。每次系统启动后,需要重新设置。
//创建临时表空间
create temporary tablespace user_temp //这个是创建的临时表空间
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' //你需要将文件放在的位置,该路径可以改变
size 50m autoextend on next 50m maxsize 20480m // 设置的50MB大小,自动增长行每次50MB,最大值是20GB
//创建数据表空间
create tablespace test_data
logging datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m autoextend on next 50m maxsize 20480m
extent management local;
//创建用户并指定表空间
create user username (你的用户名)identified by password (你的密码)default tablespace user_data
temporary tablespace user_temp;
//给用户授予权限
grant connect,resource to username;
如果Linux自带导航的话,建议使用自带的导航来安装。
Linux不像Windows,随便什么都是通过设置来实现,不设置是没有或不能使用。
安装Oracle要求有足够大的共享内存和最大可运行程序,这些都是要靠我们自己调整系统参数实现。
1、修改内核参数
以root用户登录
执行下列命令查看相应参数
cat /proc/sys/kernel/shmmax
cat /proc/sys/kernel/shmmni(本例中显示为4096)
cat /proc/sys/kernel/shmall
cat /proc/sys/kernel/sem(本例中显示为250 256000 32 128)
执行下列命令调整对应参数,下面的值为建议值,如果上面命令显示的值大于下面的值,则保留原有的值
echo “2147483648” /proc/sys/kernel/shmmax(如果不这样,在创建数据库时如果所用内存大于上例的值,则数据库创建失败)
echo “4096” /proc/sys/kernel/shmmni
echo “2097152” /proc/sys/kernel/shmall
echo “250 32000 100 128” /proc/sys/kernel/sem)
以上修改的值,会立即生效,无须重启系统;但在系统重新启动后又会恢复原值,若要永久改变则要在/etc/sysctl.conf 文件中加入如下内容:
kernel.sem =250 32000 100 128
kernel.shmmax =2147483648
2、建立Oracle用户:
? 以root身份执行下面命令
? groupadd oinstall
? groupadd dba
? useradd –d /home/oracle –g oinstall –G dba,oinstall oracle
? passwd oracle(修改oracle 用户密码)
3、设置环境变量
编辑Oracle用户的.bash_profile文件(本例中为/home/oracle/.bash_profile)增加如下内容:
# added by oranavi
export ORACLE_BASE=/disk1/oracle/app/oracle
export ORACLE_HOME=/disk1/oracle/app/oracle/product/10.2.0/db_1
export ORACLE_SID=deliver
export NLS_LANG="Simplified Chinese_CHINA.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_DOC=$ORACLE_HOME/doc
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/JRE
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12.jar
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/nls_charset12.jar
export CLASSPATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdbc/lib
export LD_LIBRARY_PATH
unset LANG
ulimit -n 65536 /dev/null 21
ulimit -u 16384 /dev/null 21
配置好.bash_profile可以用source .bash_profile刷新使更改生效,只对使用的当前shell起作用,除非注消重新登入。
下面就可以安装Oracle了。
安装Oracle9i for HP-UX
系统需求:
-》内存
最小256MB。
使用以下命令确认系统内存容量:
#/usr/sbin/demesg | grep “Physical:”
-》交换空间
两倍于物理内存
以下命令确认交换空间容量:
# /usr/sbin/swapinfo –a (需要root权限)-》磁盘容量
数据库软件需要2.5GB,种子数据库需要额外的1GB-》临时硬盘空间
在/tmp 目录下需要最小400MB。如果在/tmp 目录下没有400MB 以上的空间,在另一个文件系统下建立一个/tmp目录,然后设置环境变量TEMP(由Oracle使用)和TMPDIR(由操作系统程序使用)使其指向这个位置。具体如下:
$ mkdir /u03/tmp
$TEMP=/u03/tmp ; export TEMP
$TMPDIR=/u03/tmp ; export TMPDIR
-》操作系统
HP-UX 版本11.0。
利用以下命令获取当前操作系统信息:
$ uname –a
-》操作系统补丁(详细补丁要求,看oracle 的install guide)使用以下命令确认系统上安装了哪些系统补丁:
$ /usr/sbin/swlist -l patch
使用以下命令确认系统上是否安装了特定的系统补丁:
$ /usr/sbin/swlist -l patch patch_number
使用以下命令确认系统上安装了哪些系统补丁包:
$ /usr/sbin/swlist -l bundle
-》JDK
JDK1.2.2.07以上
预安装工作:
-》确认Shell的文件大小限制
Oracle9i 缺省支持超过2GB 的文件。但是您的操作系统shell可能会强行进行文件大小限制。
使用以下命令确认您的shell是否强行进行文件大小限制:
$ ulimit –f
将文件(块)的值乘以512 可以得到shell 的最大文件大小限制(以byte 为单位)。例如:如果文件(块)设置为2097148,可以访问的最大文件大小则为1GB。
-》更改内核参数
使用SAM配置HP 内核。
使用ipcs命令获得关于系统当前共享内存和信号量的值的列表,以及它们的ID号与所有者。
下表中的参数是运行带有一个数据库实例的Oracle9i所要求的最小值。
内核参数设置目的
KSI_ALLOC_MAX (NPROC * 8)
Defines the system wide limit of queued signal that can be allocated.
MAXDSIZ 1073741824 bytes
Refers to the maximum data segment size for 32-bit systems. Setting this valuetoo low may cause the processes to run out of memory.
MAXDSIZ_64 2147483648 bytes
Refers to the maximum data segment size for 64-bit systems. Setting this valuetoo low may cause the processes to run out of memory.
MAXSSIZ 134217728 bytes
Defines the maximum stack segment size in bytes for 32-bit systems.)MAXSSIZ_64BIT 1073741824
Defines the maximum stack segment size in bytes for 64-bit systems.
MAXSWAPCHUNKS (available memory)/2
Defines the maximum number of swap chunks where SWCHUNK is the swapchunk size (1 KB blocks). SWCHUNK is 2048 by default.
MAXUPRC (NPROC + 2)
Defines maximum number of user processes.
MSGMAP (NPROC + 2)
Defines the maximum number of message map entries.
MSGMNI NPROC
Defines the number of message queue identifiers.
MSGSEG (NPROC * 4)
Defines the number of message headers.
MSGTQL NPROC
Defines the maximum number of pending timeoutsNCALLOUT (NPROC + 16)
Defines the maximum number of pending timeouts.
NCSIZE ((8 * NPROC +2048)+VX_NCSIZE)
Defines the Directory Name Lookup Cache (DNLC) space needed for inodes.
VX_NCSIZE is by default 1024.
NFILE (15 * NPROC+2048)
Defines the maximum number of open files.
NFLOCKS NPROC
Defines the maximum number of files locks available on the system.
NINODE (8 * NPROC + 2048)
Defines the maximum number of file locks.
NKTHREAD (((NPROC * 7) / 4)+16)
Defines the maximum number of kernel threads supported by the system.
NPROC 4096
Defines the maximum number of processes.
SEMMAP ((NPROC * 2) + 2)
Defines the maximum number of semaphore map entries.
SEMMNI (NPROC * 2)
Defines the maximum number of semaphore sets in the entire system.
SEMMNS (NPROC * 2) * 2
Sets the number of semaphores in the system. The default value of SEMMNSis 128, which is, in most cases, too low for Oracle9i software.
SEMMNU (NPROC - 4)
Defines the number of semaphore undo structures.
SEMVMX 32768
Defines the maximum value of a semaphore.
SHMMAX Available physical memory
Defines the maximum allowable size of one shared memory segment.
The SHMMAX setting should be large enough to hold the entire SGA in oneshared memory segment. A low setting can cause creation of multiple sharedmemory segments which may lead to performance degradation.
SHMMNI 512
Defines the maximum number of shared memory segments in the entiresystem.
SHMSEG 32
Defines the maximum number of shared memory segments one process canattach.
VPS_CEILING 64
Defines the maximum System-Selected Page Size in kilobytes.
-》root 用户设置任务
用SAM创建数据库管理员组。
》OSDBA组,典型的为dba
》可选的OSOPER组,典型的为oper
》可选的ORAINVENTORY组,典型的为oinstall
授予OSDBA组RTSCHED,RTPRIO和MLOCK特权,作为root用户,按如下步骤操作:
》创建/etc/privgroup文件(如果它不存在),添加下面的一行到文件里:
dba MLOCK RTSCHED RTPRIO
》使用下面的命令格式指派这些特权:
#setpriv groupname privileges
在上述命令中,groupname 是接受特权的组的名字,privileges是将要授予给组的特权。
例如,要为OSDBA组(称为dba)授予特权,运行如下命令:
#setprivgrp dba MLOCK RTSCHED RTPRIO
使用SAM 创建oracle和APACHE用户。
》oracle 账户应具有以下特性:
primary 组为ORAINVENTORY 组。
secondary 组为OSDBA组。
账户仅用于安装与升级Oracle软件。
》APACHE账户应具有如下特性:
primary 组为ORAINVENTORY 组。
secondary组为一个只包含APACHE一个成员的组。
账户具有最小特权。
创建Oracle软件与数据库的挂载点。
》基本安装至少需要两个挂载点:一个用于软件,另一个(至少一个)用于数据库文件。
设置系统环境变量。
》创建本地bin 目录(如果没有的话),例如/usr/local/bin 或/opt/bin.。设置并且确认这个目录在每个用户的PATH声明中,并且用户对这个目录有执行的权限。
设置.profile的Oracle环境变量,如下:
―――――――――――――――――――――――――――――――――――――――# Oracle Environment
ORACLE_HOME=/opt/oracle/product/9.0.1; export ORACLE_HOMEORACLE_SID=dia2; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
TNS_ADMIN=/export/home/oracle/config/9.0.1; export TNS_ADMIN#NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"#NLS_LANG=AMERICAN_AMERICA.UTF8
#NLS_LANG="ZHS16GBK"
export NLS_LANG
ORA_NLS33=$oracle_home/ocommon/nls/admin/data; export ORA_NLS33LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/libSHLIB_PATH=ORACLE_HOME/lib32:$ORACLE_HOME /rdbms/lib32export LD_LIBRARY_PATH
export SHLIB_PATH
# Set shell search paths:
PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/local/bin:$ORACLE_HOME/binexport PATH
#CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibCLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib―――――――――――――――――――――――――――――――――――――创建/var/opt/oracle 目录,由oracle账户所有。
安装后,这个目录将含有一些小的文本文件,简要描述了服务器上的Oracle软件安装与数据库。
这些命令将创建目录并赋予其适当的许可:
$ mkdir /var/opt/oracle
$ chown oracle:dba /var/opt/oracle
$ chmod 755 /var/opt/oracle
安装任务
注意事项:
①需要使用虚拟图形终端来安装,我们使用的是EXTRA!X 软件;②用pfs_mountd 和pfsd 启动pfs进程,使用pfs_mount命令将安装盘挂到HP-UX上; 建议先把光盘上的文件先拷贝到硬盘上,再安装,速度会快一点。
#su – root
#pfs_mountd $
#pfsd $
#pfs_mount /SD_CDROM
-》root 登录。
# xhost +
-》以oracle账户登录。su – oracle
-》export DISPLAY=:0.0
export LC_ALL=
-》运行runInstaller
a、如果这是在数据库服务器上第一次安装Oracle9i 产品,Inventory Location 窗口将出现。
指定一个基础目录来安装文件。
b、UNIX Group Name 窗口。指定系统上具有升级Oracle 软件的许可的组。输入ORAINVENTORY组,或OSDBA 组(如果您没有创建ORAINVENTORY组的话)。
c 、File Locations 窗口。不要更改源域中的文本。目标域中将出现您在预安装过程中指定的Oracle Home 目录。指定系统上具有升级Oracle 软件的许可的组,应该是ORAINVENTORY。如果您以前在系统上安装过Oracle9i产品,installer 将从它的记录中获得UNIX组的名字,这是存储在/var/opt/oracle/oraInst.loc 文件中的。
d、Available Products窗口。选择“Oracle9i Database”
e、Installation Types 窗口。选择“Oracle9i Enterprise Edition”或“Standard Edition”安装。
f、Component Locations窗口。
g、如果您指配给OSDBA 组给一个不同于dba组的名字,将提示您确定OSDBA组的名字。
h、Database Configuration窗口。选择“General Purpose”。
i、如果您的服务器上存在以前版本的Oracle9i的数据库,installer 将提示您是否想在安装结束后立即运行Oracle Data Migration Assistant。
j、Database Identification 窗口。输入即将创建的种子数据库的全局数据库名和SID。全局数据库名为SID附加上您的域名。例如:域名为acme.com,您的数据库将用于销售,则适当的全局数据库名为sales.acme.com,SID为sales。
k、Database File Location 窗口。输入保存数据库的挂载点。种子数据库将被安装在这个挂载点下的一个目录里。
l、Database Character Set窗口。
m、Summary窗口。
n、Install窗口。
o、Setup Privileges窗口。提示您运行root.sh脚本。安装期间,Installer在$ORACLE_HOME目录下建立此脚本,并提示您在产品安装后运行此脚本,为Oracle产品设置必要的文件许可,并运行其他与root有关的配置操作。另开一个窗口,以root用户登录,输入下面的命令;
# cd $ORACLE_HOME
# ./root.sh
出现提示后,指定本地bin命令。这个目录是您在预安装的第5 步创建的。如果您在这一步忽略了此操作,root.sh脚本将为您创建一个。
p、Configuration Tools, Apache Web Server Configuration Assistant, and Oracle NetConfiguration Assistant窗口将在运行root.sh脚本后出现。这些配置助理将帮助您创建并配置您的数据库与网络环境。Configuration Tools 窗口显示运行这些助理的结果。在这些安装步骤中不需要提供任何信息。
q、Database Configuration Assistant窗口。
r、End of Installation 窗口。
数据库字符集的问题
数据库的服务器端和客户端的字符集必须是相同的,否则显示出来的双字节字符会出现乱码.导出的数据,也只能导入到相同字符集的数据库中.
1.服务器端字符集的设置和修改:
1.1 创建数据库的时候直接选择正确的字符集(显示汉字的字符集主要有ZHS16CGB231280,US7ASCII,WE8ISO8859P1,ZHS16GBK等)
1.2如果创建的时候没有选择字符集,那么字符集将使用默认的字符集.可以使用如下命令查看数据库的字符集.用oracle的合法用户登录.select * from V$NLS_PARAMETERS.
SQL select * from V$NLS_PARAMETERS
parameter value
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
…. ….
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_NCHAR_CHARACTERSET WE8ISO8859P1
---- 从上述信息看出ORACLE 数据库的字符集为' WE8ISO8859P1'。
可以用update 命令修改数据库的字符集,但是注意:修改字符集可能会对原有数据造成破坏,修改之前一定要先备份数据库.命令如下:
用户sys 以sysdba的身份登录oracle.
SQLupdate props$ set value$=’ZHS16GBK’ where name=’NLS_CHARACTERSET’
如果客户端的字符集和服务器端不相同,就必须修改字符集.否则不能正确的显示汉字.一般建议修改客户端的字符集.
1.3不同字符集数据库之间的数据导入
a)重新安装数据库或者是用update命令修改字符集。
b)强行修改oracle数据库当前字符集。以sysdba的身份登录oracleSQL create database character set ZHS16GBK (注:这里的字符集为导出数据的字符集)* create database character set ZHS16GBK
ERROR at line 1:
ORA-01031: insufficient privileges
不用理会这个错误,用imp 装入数据。数据装完后,重启动oracle 数据,select * from V$NLS_PARAMETERS 此时,你会发现,数据库字符集又回到原来的字符集。
c)用第三方工具绕开字符集。如powerbuild的pipeline,delphi的datadump,MS access的数据导入导出工具。
2.客户端修改字符集。
2.1 sql*net2.0以下版本编辑oracle.ini 文件。
2.2 sql*net2.0以上版本。在注册表中查找NLS_LANG,修改该字符串的值就可以。
Oracle 9i 的双机群集。
用root 用户登录到主机。用一台主机先按上面步骤安装oracle。安装完成后,把安装好的oracle整个复制到另外一台主机的相应位置。数据库必须安装在裸设备中,oracle才能做群集。安装oracle的过程中可以先不建数据库。安装完成后,用dbca把数据库建到裸设备中。
建立裸设备
lvcreate –L (大小M) -n (名字) /dev/卷组名(将同时创建块设备和字符设备)chown oracle:dba 字符设备名(字符设备就是块设备名前加r)chmod 660 字符设备名
建立一个ASCII 文件确认以上的裸设备卷对象。DBCA 需要这些对象在安装与数据库创建期间已经存在。文件格式如下:
database_object=rdevice_file_path(指向字符设备)文件内容和相应裸设备分配的空间如下.
文件内容(系统表空间)例如:
文件内容(例如文件为/home/oracle/ora ) 空间system=/dev/vgora/rsystem
spfile=/dev/vgora/rspfile
users=/dev/vgora/rusers
temp=/dev/vgora/rtemp
undotbs1=/dev/vgora/rundo1
example=/dev/vgora/rexample
cwmlite=/dev/vgora/rcwmlite
xdb=/dev/vgora/rxml
odm=/dev/vgora/rodm
indx=/dev/vgora/rindex
tools=/dev/vgora/rtools
drsys=/dev/vgora/rdrsys
control1=/dev/vgora/rcontrol1
control2=/dev/vgora/rcontrol2
control3=/dev/vgora/rcontrol3
redo1=/dev/vgora/redo1.log
redo2=/dev/vgora/redo2.log
redo3=/dev/vgora/redo3.log
# xhost +
# su – oracle
$ export DBCA_RAW_CONFIG=
$ echo $ORACLE_SID(记下显示值,如:or9i)$ export DISPLAY= :0.0
$ export LC_ALL=
$ dbca(进入数据库配置助理)
1、选择“删除数据库”(删除现有数据库)
2、结束后退出
选择开始菜单中→程序→【Management
SQL
Server
2008】→【SQL
Server
Management
Studio】命令,打开【SQL
Server
Management
Studio】窗口,并使用Windows或
SQL
Server身份验证建立连接。
在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。
执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。
在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。
切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到【文件组】页,在这里可以添加或删除文件组。
完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。
(2)Oracle9i默认情况下会把ctxsys用户锁定,请以DBA身份登陆Oracle,把用户ctxsys解锁,并修改其密码为ctxsys,以便于我们后面登陆Text Manager
(3)进入Oracle的text manager,点程序-Oracle-OracleHome92-Enterprise Manager Console。选独立启动,然后选工具栏最下面的应用程序-text Manager,这时会要求您输入用户名和密码,用户名ctxsys,密码ctxsys
(4)选择首选项——〉语言指定器——〉CTXSYS,选一个点类似创建,输入指示器的名字如chinese_lexer,选择lexer下的chinese_vgrnm_lexer 。
(5)建立索引,在索引上点右键,然后选创建CONTEXT索引,这里要注意方案要选择您自己的表空间,如我有个表SZPOI在表空间SUZHOU中,现在我要对该表的UNITNAME字段建立全文索引,那么方案选suzhou,表选szpoi,字段选unitname,首选项中选择chinese_lexer 。
这样全文检索就建好了,并用chinese_vgram_lexer作为分析器。
SELECT score(1),t.unitname,t.objectid,t.eminx,t.eminy,t.mpfullname,t.dianhua FROM szpoi t WHERE contains (unitname, '规划局,吴中分局', 1) 0 order by score(1) desc
这个语句的意思是在表szpoi中查询unitname包含规划局和吴中分局两个关键字的记录,并按匹配度从高到低排序。
大功告成了吗?没有!