oracle数据库还原/finalshell/删除表空间/用户名冲突

数据库10.0.1.131还原
1.首先进行数据库finalshell的配置
账号:mesadmin
密码:***********
在这里插入图片描述

2.加载oracle配置文件
sudo su
su oracle
source /etc/profile
在这里插入图片描述

3.进入数据库,进入CMD命令窗口
sqlplus / as sysdba
在这里插入图片描述

看到SQL>才算成功进入
3.1删除原数据库表空间
select tablespace_name from sys.dba_tablespaces;
在这里插入图片描述

DROP TABLESPACE MESADMIN INCLUDING CONTENTS AND DATAFILES;
在这里插入图片描述

4:创建表空间(MES有两个表空间,“MESADMIN ”默认的表空间 “XCORE_DATA_TS ”空的)
把数据库还原文件放在对应的路径中
create tablespace MESADMIN datafile ‘/home/oracle/app/oracle/oradiag_oracle/MESADMIN.dbf’ size 4096M autoextend on next 50m maxsize 20480m;
在这里插入图片描述

create tablespace XCORE_DATA_TS datafile ‘/home/oracle/app/oracle/XCORE_DATA_TS
.dbf’ size 2048M autoextend on next 50m maxsize 4096m;
在这里插入图片描述

5、创建用户
create user MESADMIN identified by scy9923cc default tablespace MESADMIN;
(create user DBRO01 identified by scy9923cc default tablespace XCORE_DATA_TS;
)
5.1:
Oracle 报错:
oracle报ORA-01920
在这里插入图片描述

delete from user$ where name=‘MESADMIN’;
commit;
在这里插入图片描述

删了还冲突
这时系统会提示“用户名冲突”,运行下面的SQL语句
alter system checkpoint; ----强制写入数据文件
System altered.
alter system flush shared_pool; ----清楚缓存数据字典信息,
----强制oracle读实际数据(即更改后的数据)
在这里插入图片描述

6、用户授权(注意这里用户名)
grant CONNECT,resource,dba to MESADMIN;
在这里插入图片描述

exit
7、数据导入(退出Oracle切到cmd命令路径)注意这里文件名要改
在这里插入图片描述

imp MESADMIN/******(这里写密码) file=‘/home/oracle/MES_DBData_20230316.dmp’ full=Y ignore=Y;
在这里插入图片描述

前情提要:
Oracle还原流程是:创建表——》创建用户——》用户授权——》数据导入

思路:将正式生产环境的31服务器的数据导出为DBF文件放入测试环境的75服务器库

如遇数据库表缓存不释放内存紧张:
直接进行数据库的重启:

1、Linux下以Oracle帐户进入Linux系统。

2、执行以下命令查看数据库监听器的状况:

lsnrctl status

3、执行以下命令停止数据库监听器运行:

lsnrctl stop

4、执行以下命令进入SQLPlus:

sqlplus /nolog

conn /as sysdba

shutdown immediate

5、执行以下命令退出SQLPlus:

Exit

6、启动,查看数据库监听器:

lsnrctl start

lsnrctl status

7、启动Oracle数据库:

sqlplus /nolog

conn /as sysdba

startup
window下进入sqlplus 命令:sqlplus / as sysdba
Linux下进入sqlplus 命令:sqlplus “/as sysdba”

原文链接:https://blog.csdn.net/m0_71272694/article/details/127414868

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shell脚本是一种命令语言,可以通过编写一系列命令来实现自动化任务。下面是一个示例的shell脚本,用于创建或删除Oracle用户和空间。 1. 创建Oracle用户和空间的脚本: ```shell #!/bin/bash # 设置Oracle环境变量 export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl # 创建Oracle用户 function create_user() { sqlplus -s username/password@localhost <<EOF CREATE USER myuser IDENTIFIED BY mypassword; GRANT CONNECT, RESOURCE TO myuser; EXIT; EOF } # 创建Oracle空间 function create_tablespace() { sqlplus -s username/password@localhost <<EOF CREATE TABLESPACE mytablespace DATAFILE '/u01/app/oracle/oradata/orcl/mytablespace.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M; ALTER USER myuser DEFAULT TABLESPACE mytablespace; EXIT; EOF } # 调用函数来创建用户和空间 create_user create_tablespace ``` 上述脚本首先设置Oracle环境变量,然后定义了两个函数create_user和create_tablespace,分别用于创建Oracle用户和空间。在函数内部使用sqlplus命令连接到Oracle数据库,并执行相应的SQL语句来实现创建用户和空间的操作。 2. 删除Oracle用户和空间的脚本: ```shell #!/bin/bash # 设置Oracle环境变量 export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl # 删除Oracle用户 function delete_user() { sqlplus -s username/password@localhost <<EOF DROP USER myuser CASCADE; EXIT; EOF } # 删除Oracle空间 function delete_tablespace() { sqlplus -s username/password@localhost <<EOF DROP TABLESPACE mytablespace INCLUDING CONTENTS AND DATAFILES; EXIT; EOF } # 调用函数来删除用户和空间 delete_user delete_tablespace ``` 上述脚本与创建脚本类似,只是SQL语句改为删除用户和空间的操作。通过调用相应的函数来实现删除用户和空间的功能。 需要注意的是,以上脚本中的username/password@localhost需要根据实际情况进行修改,以正确连接到Oracle数据库。另外,创建空间时指定的文件路径和名称也需要根据实际情况进行修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值