环境:
服务器装机是redhat7.9+oracle19,用户是oracle,用户组dba
装机后进行初始化:
1.配置oracle用户环境变量:~/.bash_profile
export ORACLE_SID=xxx
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LANG=en_US.UTF-8
Q1:然后执行“创建数据库用户”的时候,执行@dbusercreate.sql的时候报错ORACLE not available(oracle没有启动):
上网找了资料说用startup手动启动Oracle(Oracle数据连接时出现ORA-01034: ORACLE not available ORA-27101错误) 结果报错ora文件不对:
后来咨询同事发现是oracle实例未创建,按照oracle实例创建步骤进行实例创建即可:
1.(root用户)创建目录(包含创建需要的逻辑卷、格式化逻辑卷、创建目录、把目录赋权给oracle用户;
2.(oracle用户)编辑DBCA应答文件(dbca.rsp);
3.(oracle用户)静默方式创建独立数据库:dbca -silent -createDatabase -responseFile /dbca.rsp目录
4.(oracle用户)编辑listener应答文件(netca.rsp);
5.(oracle用户)配置listener:netca -silent -responseFile /netca.rsp目录
6.(oracle用户)配置TNS(tnsnames.ora).
然后执行以下sqlplus /as sysdba后:执行select等操作测试是否正常即可。
Q2:实例建好后我在sqlplus下执行了shutdown immediate; 然后执行了startup;结果报错:
这是因为$ORACLE_HOME/dbs下面没有initxxx.ora文件,上传或者新建一个即可。
Q3:登录执行sqlplus / as sysdba都开始报错了:ORA-12162: TNS:net service name is incorrectly specified(net服务名称指定不正确):
这是因为修改了~/.bash_profile文件中的SID未执行source命令使其生效的原因,执行一下这个命令就可以解决了:
source ~/.bash_profile