注释:
一个未开图形界面的Linux OS,如何安装oracle软件及数据库,如下是2大步骤
1、克隆软件
2、手动建库
一、克隆软件
1、基本配置
1.1)系统软件包安装
yum -y install
binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf
elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common
glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686
libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++
libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
1.2)用户创建
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
1.3)文件配置
1.3.1) 环境变量
vi ~oracle/.bash_profile
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export
ORACLE_SID=test
# 最多 8个字符 *** 作系统和 oracle实例关联的纽带 ORACLE_HOME+ORACLE_SID==>hash==&
gt共享内存段
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin# 将安装后的 oracle 命令追加到执行搜索路径
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib # 动态库的位置
export nls_lang="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" #客户端字符集设置
# 加载配置 :oracle 用户注销重新登录 或 source .bash_profile
1.3.2) 主机
echo
"10.240.1.7 Database-backup" >> /etc/hosts#避免报错startup
noumount时报错ORA-00000: normal, successful completion
1.3.3) 软件目录
mkdir -p /data/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /data/app
1.3.4) 资源限制
1.3.4,1) vim /etc/sysctl.conf 添加到文件底端
kernel.shmall = 2097152
#Total amount of shared memory available(bytes or
pages)页的数量 2097152*4096/1024/1024/1024=8G如果内存大于 8G,必须修改此参数
kernel.shmmax = 2147483648
# 要>= 物理内存的一半 Maximum size of shared memory segment(bytes)建议 >=sga_max_size(oracle申请内存大小 )
# 单个程序内存段最大多少 4G 的话分为两段 mem_seg1 mem_seg2,影响效率
kernel.shmmni = 4096
#Maximum number of shared memory segments system-wide页的大小
kernel.sem =250 32000 100 128
SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL Maximum number of semaphores per set每个信号对象集的最大信号对象数
SEMMNS Maximum number of semaphores
system-wide系统范围内最大信号对象数 SEMMNS = SEMMSL*SEMMNI
SEMOPM每个信号对象支持的最大 *** 作数
SEMMNI Maximum number of semaphore identifiers系统范围内最大信号对象集数
fs.file-max #系统中所允许的文件句柄最大数目
net.ipv4.ip_local_port_range # 应用程序可使用的 IPv4 端口范围
net.core.rmem_default #套接字接收缓冲区大小的缺省值
net.core.rmem_max #套接字接收缓冲区大小的最大值
net.core.wmem_default #套接字发送缓冲区大小的缺省值
net.core.wmem_max #套接字发送缓冲区大小的最大值
#注释:OS32bit,oracle 最多申请 1.7G应该装64bitOS
#加载参数 sysctl -p
1.3.4 ,2) /etc/security/limits.conf oracle 在 linux 上 *** 作的limit
[root@dba ~]# grep -v '^#' /etc/security/limits.conf
oracle soft nproc 2047 #oracle 在 linux上打开 proc 数量
oracle hard nproc 16384
oracle soft nofile 1024 #oracle 在 linux上打开 file 的数量
oracle hard nofile 65536
[root@dba ~]# grep 'limit' /etc/pam.d/system-auth
session required pam_limits.so
1.3.4,3) 关闭防火墙、SELINUX
iptables -F
更改 /etc/selinux/config 文件 -->SELINUX=disabled
2、克隆 ORACLE_HOME
2.1)将远程ORACLE_HOME完全复制到本地
#进入到本地ORACLE_HOME路径
su - oracle
cd /data/app/oracle/product/11.2.0.4/
#将远程ORACLE_HOME完全复制到本地
scp -pr oracle@10.240.1.8:/data/app/oracle/product/11.2.0.4/db_1/ .
2.2)执行clone.pl 克隆脚本更改参数配置(ORACLE_SID、ORACLE_HOME)
$ cd /data/app/oracle/product/11.2.0.4/db_1/clone/bin
$ ls
clone.pl prepare_clone.pl
#注意每个参数后,等号后不能有空格,否则被识别成无效选项
$ perl clone.pl ORACLE_SID=test ORACLE_BASE=/data/app/oracle ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1/ ORACLE_HOME_NAME=OraDb11g_home1
.......最后提示如下信息表示,克隆成功...
The following configuration scripts need to be executed as the "root" user.
/data/app/oracle/product/11.2.0.4/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
The cloning of OraDb11g_home1 was successful.
...................
二、手动建库
1、配置参数文件 (测试环境简单参数,若有需求,可补充 )
[oracle@Database-backup ~]$ cd $ORACLE_HOME/dbs
[oracle@Database-backup dbs]$ pwd
/data/app/oracle/product/11.2.0.4/db_1/dbs
[oracle@Database-backup dbs]$
[oracle@Database-backup dbs]$ cat inittest.ora
db_name=test
db_files = 80
db_file_multiblock_read_count = 8
log_checkpoint_interval = 10000
processes = 50
parallel_max_servers = 5
log_buffer = 32768
max_dump_file_size = 10240# limit trace file size to 5 Meg each
global_names = TRUE
#control_files = (ora_control1, ora_control2)
sga_max_size=300M
sga_target=300M
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp)
(Host=10.240.1.7)(Port=1521)))' #避免启动数据库时报错(ORA-00119、ORA-00130
local_listener配置无效)
[oracle@Database-backup dbs]$
2、启动数据库到nomount
#进入数据库
[oracle@Database-backup dbs]$sqlplus / as sysdba
#开启数据库到nomount状态
SQL>startup nomount
ORACLE instance started.
Total System Global Area 313159680 bytes
Fixed Size 2252824 bytes
Variable Size104861672 bytes
Database Buffers 201326592 bytes
Redo Buffers 4718592 bytes
SQL>
3、创建数据库,到open状态 --->前提:mkdir -p /data/app/dbf/;chown -R oracle:oinstall /data/app/dbf/
SQL>CREATE DATABASE test
USER SYS IDENTIFIED BY change_on_install
USER SYSTEM IDENTIFIED BY manager
LOGFILE GROUP 1 ( '/data/app/dbf/redo01.log') SIZE 100M,
GROUP 2 ('/data/app/dbf/redo02.log') SIZE 100 M,
GROUP 3 ('/data/app/dbf/redo03.log') SIZE 100 M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/data/app/dbf/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/data/app/dbf/sysaux01.dbf' SIZE 325 M REUSE
DEFAULT TABLESPACE users datafile '/data/app/dbf/users.dbf' size 50m
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/data/app/dbf/temp01.dbf'
SIZE 20 M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/data/app/dbf/undotbs01.dbf'
SIZE 200 M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
Database created.
SQL>
4、确认数据库状态
SQL>select status from v$instance
STATUS
------------
OPEN
SQL>
5、 将DBF 设置自动扩展,避免稍后执行脚本加载数据字典表/包/scott用户 时空间不足
alter database datafile 1 autoextend on
alter database datafile 2 autoextend on
alter database datafile 3 autoextend on
alter database datafile 4 autoextend on
6、创建数据字典/包/scott用户
数据字典视图 : @?/rdbms/admin/catalog.sql
系统包/存储过程 : @?/rdbms/admin/catproc.sql
用户PROFILE表 : @?/sqlplus/admin/pupbld.sql
以上已完成安装oracle软件及数据库.
问题整理和完善
1、***** sqlplus / as sysdba 提示未找到libclntsh.so.11.1文件
[oracle@Database-backup ~]$ sqlplus / as sysdba
sqlplus: error while loading shared libraries: libclntsh.so.11.1: cannot
open shared object file: No such file or directory
[oracle@Database-backup ~]$cd $ORACLE_HOME/lib/
[oracle@Database-backup lib]$ ls libclntsh.so*
libclntsh.so libclntsh.so.10.1 -->只有10.1 cp -rp 连带属性完全复制一份,正常若有libclntsh.so.11.1文件可能是权限问题。
[oracle@Database-backup lib]$ cp -rp libclntsh.so.10.1 libclntsh.so.11.1
[oracle@Database-backup lib]$ sqlplus / as sysdba
... 正常.
2、用于sys密码登录
orapwd file=orapwtest password=test
3、ORA-00904: "wm_concat":invalid identifier
执行创建WMSYS用户脚本
SQL>@?/rdbms/admin/owmctab.plb
SQL>@?/rdbms/admin/owmaggrs.plb
SQL>@?/rdbms/admin/owmaggrb.plb
4、创建数据库时报错
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/dtxnspc.bsq' near line 5
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'UNDOTBS02' does not exist or of wrong type
Process ID: 35451
Session ID: 2661 Serial number: 1
原因:参数文件和创建数据库脚本的默认undo空间不一致。
题主是否想询问“was共享库配置不起作用怎么办”?1、首先将需要共享的jar放到服务器有访问权限的文件夹下。
2、其次打开was控制台,新建一个共享库,名称任意,类路径为上一步jar在服务器的存放路径,保存设置。
3、最后打开应用程序,应用程序类型,webSphere企业应用程序,先停止STM项目服务,再点击STM项目进入,点击引用共享库,并且将本应用的类加载顺序,也改为本地优先,即可解决
CheckStyle 配置是通过指定modules 来应用到Java文件的。配置文件在net.sf.eclipse.cor.***.jar 里sun_checks.xml sun_checks_eclipse.xml
在自己配置文件的时候可以参考sun 的规范来定义。
1.CheckyStyle配置文件的修改:
Window ->Preferences ->CheckStyle
New ->External Configuration File ->Name ->Location ->OK
Set as Default ->OK !
现在就可以对自己的配置进行修改了。
2.增加或删除文件中的属性
2.1 Window ->preferences ->xxx(自己的配置文件)
在CheckStyle Configer 中可以 Add 或者Remove任意的选项,并修改properties或severity.
五:
我的CheckStyle配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!--
This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
Checkstyle-Configuration: abc
Description: none
-->
<module name="Checker">
<property name="severity" value="warning"/>
<!-- module的根节点 -->
<module name="TreeWalker">
<module name="PackageName">
<property name="severity" value="warning"/>
<property name="format" value="^[a-z]+(\.[a-z_][a-z0-9_]*)*$"/>
<message key="name.invalidPattern" value="包名 ''{0}''要匹配 ''{1}''的格式(所有字母全部小写)."/>
</module>
<module name="TypeName">
<property name="severity" value="warning"/>
<message key="name.invalidPattern" value="名字 ''{0}'' 要符合 ''{1}''的格式(建议每个单词的首字母大写)."/>
</module>
<module name="MethodName">
<property name="severity" value="warning"/>
<property name="format" value="^[a-z][a-zA-Z]*$"/>
<message key="name.invalidPattern" value="方法名 ''{0}'' 必须要满足 ''{1}''的格式,建议除首单词外每个单词的首字母大写."/>
<message key="method.name.equals.class.name" value="方法名 ''{0}'' 不能等于类名."/>
</module>
<module name="ParameterName">
<property name="severity" value="warning"/>
<message key="name.invalidPattern" value="变量 ''{0}''要匹配''{1}''的格式,建议除首单词外的每个单词的首字母大写."/>
</module>
<module name="MemberName">
<property name="severity" value="warning"/>
<message key="name.invalidPattern" value="变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母小写)."/>
</module>
<module name="ConstantName">
<property name="severity" value="warning"/>
<message key="name.invalidPattern" value="常量 ''{0}'' 要匹配''{1}''的格式(字母全部大写可以包含_)."/>
</module>
<module name="LocalFinalVariableName">
<property name="severity" value="warning"/>
<message key="name.invalidPattern" value="局部final变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母大写)."/>
</module>
<module name="LocalVariableName">
<property name="severity" value="warning"/>
<property name="tokens" value="PARAMETER_DEF,VARIABLE_DEF"/>
<message key="name.invalidPattern" value="局部变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母大写)."/>
</module>
<module name="StaticVariableName">
<message key="name.invalidPattern" value="静态非final变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母大写)."/>
</module>
<module name="MethodLength">
<property name="severity" value="warning"/>
<property name="max" value="80"/>
<property name="tokens" value="CTOR_DEF,METHOD_DEF"/>
<message key="maxLen.method" value="方法大小不可以超过80行。"/>
</module>
<module name="ParameterNumber">
<property name="severity" value="warning"/>
<property name="tokens" value="CTOR_DEF,METHOD_DEF"/>
<message key="maxParam" value="方法参数个数不能超过7个。"/>
</module>
<module name="LineLength">
<property name="severity" value="warning"/>
<message key="maxLineLen" value="每一行的最大长度为80个字符。"/>
</module>
<module name="CyclomaticComplexity">
<property name="severity" value="warning"/>
<property name="max" value="4"/>
<message key="cyclomaticComplexity" value="方法内嵌套不能超过4级。"/>
</module>
<module name="BooleanExpressionComplexity">
<property name="severity" value="warning"/>
<property name="max" value="7"/>
<property name="tokens" value="BXOR,BAND,LAND,BOR,LOR"/>
<message key="booleanExpressionComplexity" value="布尔表达式的复杂度不能超过7."/>
</module>
<module name="ArrayTypeStyle">
<property name="severity" value="warning"/>
<message key="array.type.style" value="数组定义要采取String [] args这种方式。"/>
</module>
<module name="Indentation">
<property name="severity" value="warning"/>
<message key="indentation.error" value="你缩进了{1}个空格,正确应该缩进 {2}个空格。"/>
<message key="indentation.child.error" value="你缩进了{1}个空格,正确应该缩进 {2}个空格。"/>
</module>
<module name="AvoidStarImport">
<property name="severity" value="warning"/>
<message key="import.avoidStar" value="避免引用包时使用*号."/>
</module>
<module name="IllegalImport">
<message key="import.illegal" value="{0}为非法包."/>
</module>
<module name="RedundantImport">
<property name="severity" value="warning"/>
<message key="import.same" value="引入了同一个包中的类- {0}。"/>
<message key="import.duplicate" value="在第{0,number,integer}行已经引入了此包- {1}。"/>
<message key="import.lang" value="{0},可以去掉。"/>
</module>
<module name="FinalClass">
<property name="severity" value="warning"/>
<message key="final.class" value="类{0}要声明是final类,或者删除其私有构造函数."/>
</module>
<module name="InterfaceIsType">
<property name="severity" value="warning"/>
</module>
<module name="HideUtilityClassConstructor">
<property name="severity" value="warning"/>
<message key="hide.utility.class" value="实用类(只包含静态属性和静态方法)不应该有一个公共的或者默认构造函数。"/>
</module>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)