sysdba远程登陆Oracle

本文详细记录了作者遇到Oracle数据库远程登录问题的过程及解决方案。主要步骤包括:设置远程登录密码文件、重启数据库、配置防火墙及TNS名称等。通过这些步骤,最终成功解决了远程登录的问题。

这个破问题,终于让我搞通了!不过这个破问题,确给我敲响了警钟,有些时候就是愿意犯这些低级错误!还是缺少锻炼和“血”的教训!哈哈……

下面是我的具体方法:

[@more@]

1. alter system set remote_login_passwordfile=exclusive scope=spfile
2. shutdown immediate
3.重新开了cmd,输入以下命令:
orapwd file=D:Oracle_DB_Home10.1.0.2.0databasePWDorcl.ora password=CHENZS950728 entries=20 force =y
4.在原来的sqlplus中输入:startup
5.关闭Oracle数据库所在的机器(即我的机器)的防火墙!
6.在另外一台机器(取名为A机器)上配置相应的tns
7.到A机器上,输入:
conn sys/CHENZS950728 @orcl as sysdba
6.得到反应,成功登陆!

自己开始始终不通的主要原因,就是自己犯的主要低级错误,没有5和6步,真是让人汗!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8633028/viewspace-906972/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8633028/viewspace-906972/

<think>我们已知用户之前的问题是关于ORA-00955错误的解决方案,但现在用户提出了一个新问题:在Linux系统上登录Oracle数据库的命令。 根据引用内容,我们可以总结出以下登录步骤: 1. 连接到Linux服务器(如使用SecureCRT等工具)[^1]。 2. 切换到Oracle用户。注意:使用`su - oracle`(带减号)以login shell方式切换,这样环境变量(如ORACLE_HOME, ORACLE_SID)才会正确设置[^2]。 3. 使用SQL*Plus工具登录数据库。 具体命令如下: - 切换用户:`su - oracle` - 登录SQL*Plus:`sqlplus / as sysdba` (以操作系统认证方式登录,需要用户有dba权限) 或者 `sqlplus username/password` (使用用户名和密码登录) 或者 `sqlplus username/password@service_name` (如果有多数据库实例,需指定服务名)[^3] 如果用户需要登录到特定的PDB(可插拔数据库),可以在登录后使用`alter session set container=pdbname;`。 因此,完整的登录步骤示例: [step1] 连接Linux服务器(使用SSH客户端) [step2] 切换到oracle用户: $ su - oracle [step3] 启动SQL*Plus并登录: $ sqlplus / as sysdba # 以sysdba身份登录到CDB 或者 $ sqlplus username/password@service_name # 通过网络服务名连接(需要配置tnsnames.ora) 注意:如果使用非sysdba的普通用户,且没有配置网络服务名,也可以直接连接本地实例: $ sqlplus username/password 另外,如果数据库在本地服务器上,也可以使用BEQUEATH连接(本地认证),即上面第一种方式。 引用中提到了创建表空间和用户等操作,但用户当前只需要登录命令。 下面按照要求组织回答: </think>### Linux系统登录Oracle数据库的命令总结 以下是完整的登录步骤及命令(所有命令在Linux终端执行): #### 🔹 步骤1:连接Linux服务器 ```bash ssh 用户名@服务器IP -p 端口号 # 示例:ssh oracle@192.168.1.100 -p 22 ``` > 通过SSH客户端(如SecureCRT)连接到Linux服务器[^1] --- #### 🔹 步骤2:切换Oracle用户 ```bash su - oracle # 关键:必须带"-"确保环境变量加载 ``` > 注意:`su - oracle` 与 `su oracle` 的区别: > - ✅ `su - oracle`:重新加载环境变量(含 `$ORACLE_HOME`, `$PATH` 等) > - ❌ `su oracle`:仅切换用户,会因缺少环境变量导致后续命令失败[^2] --- #### 🔹 步骤3:登录数据库(三种方式) | **登录方式** | **命令格式** | **适用场景** | |---------------------|---------------------------------------------|----------------------------------| | 1. 操作系统认证 | `sqlplus / as sysdba` | 本地管理员登录(无需密码) | | 2. 用户名密码认证 | `sqlplus 用户名/密码` | 普通用户登录本地实例 | | 3. 网络服务名连接 | `sqlplus 用户名/密码@网络服务名` | 远程连接(需配置`tnsnames.ora`) | ##### 常用示例: ```bash # 以sysdba身份登录(最高权限) sqlplus / as sysdba # 普通用户登录(用户:scott, 密码:tiger) sqlplus scott/tiger # 登录指定PDB(可插拔数据库) sqlplus sys/password@PDB_NAME as sysdba ``` --- #### 🔹 登录后关键操作 ```sql -- 查看当前数据库 SELECT name, open_mode FROM v$database; -- 查看表空间 SELECT tablespace_name FROM dba_tablespaces; ``` > 退出SQL*Plus:执行 `exit` 或 `quit` --- ### 📌 注意事项 1. **环境变量验证** 切换用户后检查关键变量: ```bash echo $ORACLE_HOME # 应返回路径如:/u01/app/oracle/product/19c/dbhome_1 echo $ORACLE_SID # 应返回数据库实例名 ``` 2. **连接问题排查** - 若提示 `sqlplus: command not found` → 检查 `$PATH` 是否包含 `$ORACLE_HOME/bin` - 若提示 `ORA-12162` → 检查 `$ORACLE_SID` 设置正确性 3. **多数据库选择** 需要切换实例时: ```bash export ORACLE_SID=新实例名 # 示例:export ORACLE_SID=ORCLCDB sqlplus / as sysdba ``` --- ### 操作流程图 ```mermaid graph LR A[SSH连接服务器] --> B[su - oracle] B --> C{选择登录方式} C --> D[操作系统认证] C --> E[用户名密码认证] C --> F[网络服务名连接] D --> G[执行SQL操作] E --> G F --> G ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值