Oracle创建实例问题记录

注意,该博客是我弄Oracle数据库遇到的问题,现在仍存在以下问题为解决,所以为了方便大家一乐通过xmanager使用可视化创建实例简单,方法在后面,命令创建仅供参考
我现在的环境出现了问题
1、sqlplus登录用户登陆不上,找的方法不能解解决。
解决博客:https://blog.csdn.net/royzhang7/article/details/46621147
2、监听启动后sqldeveloper可以连上,但是监听状态为UNKNOW
解决博客:
3、登陆后查询内容显示表或试图不存在
解决博客:https://blog.csdn.net/yabingshi_tech/article/details/121417141

1、监听启动不了

切换用户:su - oracle
启动监听:lsnrctl start|status|stop

报错信息:client host name is not set
解决办法:

查看hostname: hostname
将查看到的结果添加到/etc/hosts配置文件中:
vi /etc/hosts
#添加内容
本机ip hostname 查看到的结果
#保存退出

2、创建实例

登录Linux服务器后:
切换到oracle:su - oracle
找到oracle的安装目录:echo $ORACLE_HOME
/usr/app/oracle/product/12.2/db_1
找到oracle的base目录:echo $ORACLE_BASE
/usr/app/oracle
找到以后的实例的配置文件:find /$ORACLE_BASE -name init.ora
/usr/app/oracle/product/12.2/db_1/dbs/init.ora
一般在安装目录的dbs下面:cd $ORACLE_HOME/dbs 即可
复制实例文件:cp init.ora initTestDb.ora
init.ora文件内容(不知什么原因(可能我这个只有Oracle应用别的什么都没有,默认的实例也没有的原因),我使用这个创建失败了,所以找了一个现在可以使用的实例的配置文件)

db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

我使用的配置文件的内容如下(实例名:testdb,路径为:/usr/app/oracle/product/12.2/db_1):

#一个 Oracle 数据库块的大小 (以字节计)。该值在创建数据库时设置,而且此后无法更改。 1024 - 65536 (根据操作系统而定)。
db_block_size=8192
# 库高速缓存 指定一个会话一次可以打开的游标 (环境区域) 的最大数量,并且限制 PL/SQL 使用的 PL/SQL 游标高速缓存的大小,以避免用户再次执行语句时重新进行语法分析。请将该值设置得足够高,这样才能防止应用程序耗尽打开的游标。
open_cursors=300
# 一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应
db_name="testdb"
#配置文件
control_files=("/usr/app/oracle/admin/testdb/control01.ctl","/创建的实例的文件的路径/control02.ctl")
#允许使用一个新的发行版,同时保证与先前版本的向后兼容性。
compatible=12.2.0
diagnostic_dest=/u0l/app/oracle($ORACLE_BASE)
#NLS原配置文件的信息
nls_language="ANERICAN"
nls_territory="AMERICA"
#
local_listener=LISTENER
#原配置文件的信息
processes=640
#原配置文件的信息
sga_target=9596m

audit_file_dest="/usr/app/oracle/admin/testdb/adump"
audit_trail=db
#指定操作系统或一个文件是否检查具有权限的用户的口令。如果设置为 NONE,Oracle 将忽略口令文件。如果设置为    EXCLUSIVE,将使用数据库的口令文件对每个具有权限的用户进行验证。如果设置为 SHARED,多个数据库将共享 SYS和INTERNAL 口令文件用户
remote_login_passwordfile=EXCLUSIVE
#为设置使用多线程服务器的共享环境而设置调度程序的数量和类型。可以为该参数指定几种选项。这是字符串值的一个示例:“(PROTOCOL=TCP)(DISPATCHERS=3)” (按原文件修改)
dispatchers=" (PROTOCOL=TCP) (SERVICE=BISXDB)
#按原文件未修改
pga_aggregate_target=3199m

undo_tablespace=UNDOTBS1

创建相关文件–作用未理解
进入OracleBASE目录:cd $ORACLE_BASE
进入admin目录:cd admin
创建实例的相关文件:mkdir 实例名称(testdb)
进入实例目录:cd testdb
创建相关文件:mkdir adump bdump cdump pfile udump(不知道为啥创建这么多,但是用到的好像就是adump)
创建oracle数据文件:mkdir /usr/app/oracle/oracleData
进入目录后创建实例的数据文件:mkdir testdb
切换ORACLE_SID:export ORACLE_SID=testdb
登录数据库:sqlplus /nolog
切换用户:sql>conn / as sysdba
启动实例:sql>startup nomount(只启动实例,不加载数据库,现在还没有创建数据库)
查看启动的实例:sql>select instance_name from v$instance;
创建数据库:create database testdb user sys identified by sys user system identified by system logfile group 1('/usr/app/oracle/oracleData/redo01.log') size 20M, group 2('/usr/app/oracle/oracleData/redo02.log) size 20M, group 3('/usr/app/oracle/oracleData/redo03') size 20M maxlogfiles 5 maxlogmembers 5 maxloghistory 1 maxdatafiles 100 maxinstances 1 character set ZHS16GBK national character set AL16UTF16 EXTENT MANAGEMENT LOCAL datafile '/usr/app/oracle/oracleData/system01.dbf' size325M reuse sysaux datafile '/usr/app/oracle/oracleData/sysaux01.dbf' size 325m reuse default tablespace testdb01 datafile '/usr/app/oracle/oracleData/testdb01.dbf'size500m REUSE AUTOEXTEND ON MAXSIZE UNLIMITED default temporary tablespacetemp01 tempfile '/usr/app/oracle/oracleData/temp01.dbf size 200m REUSE UNDO TABLESPACE UNDOTBS1 DATAFILE '/usr/app/oracle/oracleData/UNDOTBS1.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
配置listener.ora和tnsnames.ora监听文件,这两个文件在$ORACLE_HOME/network/admin目录下
listener.ora

TESTDB = (DESCRIPTION_LIST=
	(DESCROPTION = (ADDRESS=(PROTOCOL=TCP)(HOST=**主机名或ip**)(PORT=1523)))
)
SID_LIST_TESTDB =
(SID_LIST=
	(SID_DESC=
		(GLOBAL_DBNAME = testdb)         
         (ORACLE_HOME = /usr/app/oracle/product/12.2/db_1)
         (SID_NAME = testdb)
     )
)

tnsnames.ora

TESTDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = **主机名或ip**)(PORT = 1523))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = testdb)
    )
  )

创建实例参考博客:https://blog.csdn.net/u014397507/article/details/78657542
init.ora配置文件参考博客:https://www.cnblogs.com/wanghongyun/p/6307538.html
创建databse参考博客:https://blog.51cto.com/lhrbest/2987560

4、Xmanager创建实例

1.查看是否配置oracle环境变量
2,查看是否安装oracle数据库 
a.环境变量配置步骤
su - oracle 切换到oracle目录
cd ~ oracle 切换到oracle工作目录下
vi /etc/profile 
#oracle12c数据库环境变量
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1;
export ORACLE_SID=orcl;
export PATH=$ORACLE_HOME/bin:$PATH;
添加完成后 source  /etc/profile  //配置生效
有一个 .bash_profile 文件 这个配置文件的变量会覆盖/etc/profile的变量,/etc/profile 可以不用配置
echo $DISPLAY    //查看列表
export DISPLAY=**190.6.67.215:0.0;(本机IP)** //   (本机IP地址即 安装 Xmanager - Passive 地址)
dbca;  //打开Xmanager 创建实例
netca;//配置监听
oracle12C 创建的用户不加c## 创建模式窗口去掉 “创建为容器数据库”。  自定义创建模式 在 database idetification 界面 即 SID创建页面 去掉 “创建为容器数据库”(英文 create as Container database数据库)勾选。

5、创建表空间和用户(Oracle12.2)

登录前切换到自己创建的实例:export ORACLE_SID=你创建的实例
查看是否切换成功:echo $ORACLE_SID
登录数据库:sqlplus / as sysdba
创建表空间:create TABLESPACE testdb DATAFILE '/u01/app/oracle/oradata/testdb/testdb.DBF' size 50m AUTOEXTEND on NEXT 50m MAXSIZE 20480m EXTENT MANAGEMENT LOCAL;
创建临时表空间:create temporary tablespace testdbtemp tempfile '/u01/app/oracle/oradata/testdb/testdbtemp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
创建用户:create user testuser identified by testuser default tablespace testdb temporary tablespace testdbtemp;
赋权限:
grant create session,resource to testuser;
grant connect to testuser;
grant select any table to testuser;
commit;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走在未来之路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值