下载oracle安装包
创建新用户和组
groupadd oinstall groupadd dba useradd -g oinstall -G dba -m oracle passwd oracle网络上的参考文献称需要修改系统内核配置,我的机器配置大致符合要求,暂时先不做修改,若修改时务必提前备份一份文件,以防修改错误以后恢复。
注意在安装的过程中,务必将所有的路径都放在你刚刚处理好权限的/ora/oracle中,即使你想要自定义路径,也要控制好权限。因为oracle的安装要求必须是oracle:oinstall 755权限用户,如果放在其他目录下,会出现很多权限不足的问题,报错了还好说,可以马上修改。有的时候不报错安装后发现没法用,维护都不知道怎么维护。
cd /ora/database su oracle ./runInstaller -silent -ignorePrereq -responseFile /ora/oracle/db_install.rsp # runInstaller 是主要安装脚本 # -silent 静默模式 # -force 强制安装 # -ignorePrereq忽略warning直接安装。 # -responseFile读取安装应答文件。注意这里前两行Checking Temp 和Checking swap就是在检查系统配置,如果不满足需求需要修改。 至此安装完成。
先切换回root用户
su cd /ora/oraInventory ./orainstRoot.sh cd /ora/oracle/product/11.2.0/db_1 ./root.sh lsnrctl start su oracle netca /silent /responseFile /ora/oracle/netca.rsp #查看1521端口是否成功被监听 netstat -tnulp | grep 1521 vim /ora/oracle/dbca.rsp配置文件内容。
GDBNAME= "infoyb1" SID =" infoyb1" SYSPASSWORD= "[your password]" SYSTEMPASSWORD= "[your password]" SYSMANPASSWORD= "[your password]" DBSNMPPASSWORD= "[your password]" DATAFILEDESTINATION=/ora/oracle/oradata RECOVERYAREADESTINATION=/ora/oracle/fast_recovery_area CHARACTERSET= "AL32UTF8" TOTALMEMORY= "6553" #其中TOTALMEMORY ="6553" 为6553MB,物理内存8G*80%。根据配置文件创建数据库以及对应的实例。
dbca -silent -responseFile /ora/oracle/dbca.rsp如果报有权限问题,则需要授权oracle用户权限
chown -R oracle:oinstall /ora chmod 755 -R /ora sqlplus / as sysdba #SQL>select status from v$instance;这个问题大概就是oracle数据库没有启动或者启动失败。SQL>startup启动oracle服务。然后在startup的时候遇到了另一个报错。
ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/ora/oracle/product/11.2.0/db_1/dbs/initorcl.ora'这个问题是找不到initorcl.ora文件,没关系我们去复制一个。
cd /ora/oracle/admin/infoyb1/pfile #这里infoyb1是你的数据库实例名,目录下有个init.ora.[random]的文件,复制他。 cp init.ora.9202020181058 /ora/oracle/product/11.2.0/db_1/dbs/initorcl.ora然后再startup就可以了。
startup alter database mount alter database open ORA-01102: cannot mount database in EXCLUSIVE mode ORA-00205: error in identifying control file, check alert log for more info这个问题有很多种,需要查看alter日志。根据数据库名称不同,选择不同的目录。日志行数比较多,shift+g跳转到文件末尾。
vim /ora/oracle/diag/rdbms/infoyb1/orcl/trace/alert_orcl.log #这里是我的报错,每个人情况可能不同 ORA-00202: control file: '/ora/oracle/flash_recovery_area/infoyb1/control02.ctl' ORA-27086: unable to lock file - already in use既然是控制文件被占用那就结束控制文件进程就可以。
lsof /ora/oracle/oradata/infoyb1/control0* kill -9 [进程号]此时就可以通过外部的ojdbc访问oracle了,查看一下你的监听端口,默认为1521.
cd /ora/oracle/product/11.2.0/db_1/network/admin vim tnsnames.ora我这里是1522端口,不知道哪里出了问题,问题不大换个端口而已。
ojdbc的驱动类位置在,maven上貌似没有对应的ojdbc,但是oracle官网提供的ojdbc版本非常全,也可以从官网下载。
cd /ora/oracle/product/11.2.0/db_1/jdbc/lib cd /ora/oracle/product/11.2.0/db_1/network/admin vim tnsnames.ora我这里是1522端口,不知道哪里出了问题,问题不大换个端口而已。
ojdbc的驱动类位置在,maven上貌似没有对应的ojdbc,但是oracle官网提供的ojdbc版本非常全,也可以从官网下载。
cd /ora/oracle/product/11.2.0/db_1/jdbc/lib