Entrar en SQLPlus como dba sin introducir password

Si tienes el usuario de sistema con el que se ha instalado la base de datos Oracle puedes entrar en SQL plus como usuario DBA y sin introducir ninguna contraseña de la siguiente manera:

  1. Entra en el sistema con este usuario.
  2. Desde la linea de comandos, entra en SQLplus poniendo:
> sqlplus "/as sysdba"

 

Si has necesitado entrar así porque no recordabas la contraseña de algún usuario, ya puedes modificarla/s para poder utilizarlo/s después:

SQL> alter user nombre_usuario identified by nuevo_password;

 

Te puede pasar que haya más de una Base de datos Oracle instalada en el servidor, por lo que tendrás que asegurarte de que las variables de entorno del usuario de Oracle están apuntando a la base de datos que te interesa.

Para comprobar que has entrado en la base de datos correcta antes de tocar nada puedes ejecutar esta sentencia SQL:

SQL> select name from v$database;

 


Libros de Administración Oracle (DBA) y PL/SQL

¿Quieres profundizar más en PL/SQL de Oracle o en administración de bases de datos Oracle? Puedes hacerlo consultando alguno de estos libros de Oracle.


En respuesta a por helar (no verificado)

No sé si te entiendo bien, no debería haber diferencia por ser CentOS, sólo tienes que abrir la consola de comandos y ejecutar SQLPlus, que lo tendrás disponible si tienes instalada la BD en esa máquina. Dentro de SQLPlus los comandos son SQL de Oracle, independientes del sistema operativo.

Saludos,

En respuesta a por Carlos

ok gracias lo pruebo,no conozco el tema en linux y necesito ingresar a la base oracle10g, pero desgraciadamente quien estaba encargado tuvo un accidente y no tengo ningun usuario ni contraseña de la base.
gracias por contestarme si tienes alguna sugerencia de como acceder a ella a parte de la que ya mensionaste me serviria de mucha ayuda.

En respuesta a por Anonimo (no verificado)

Es muy sencillo entra al sistem operativo con Root que el usuario dueño con todos los previlegios en Linux, luego lo que tienes que hacer es subleval con el usuario que instalo la aplicacion oracle en linux, por ejemplo: "su oracle" y como eres root no te pide clave , ya estando con el usuario oracle, ejecutas esto: sqlplus '/ as sysdba' y ya estas dentro del manejador de base de datos oracle y ahi cambias el password de system y sys, los dos usuarios mas poderoso de base de datos y listo, puedes conectarte via grafico con cualquier herramientas.

Hola que tal

Trato de conectarme como indicas pero me marca el siguiente error, ya busque y no puedo encontrar por que es:

C:\oracle2\product\10.2.0\db_2\BIN>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on MiÚ Nov 24 10:45:39 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

ERROR:
ORA-12560: TNS:protocol adapter error

Enter user-name:
ERROR:
ORA-12560: TNS:protocol adapter error

Enter user-name:
ERROR:
ORA-12560: TNS:protocol adapter error

SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus

C:\oracle2\product\10.2.0\db_2\BIN>

Espero me puedas ayudar

Mil gracias

En respuesta a por Anele (no verificado)

Puede ser porque las variables de entorno no estén bien definidas. Estás utilizando el mismo usuario de Windows con el que se hizo la instalación de Oracle? Con ese no te debería fallar.

Si has de utilizar otro tendrás que definir las variables de entorno para él. Si, por ejemplo, no puedes ejecutar SQLPLUS desde fuera del mismo directorio 'BIN' es que el usuario no las tiene definidas.

También puedes comprobar directamente si existe la variable de entorno ORACLE_SID, que debería contener el valor de la instancia local de Oracle.

Alguien sabe como evitar ese procedimiento de ingreso con el sqlplus.

 

Me explico, como podria hacer para que al momento que se ingrese:

 

>> conn /as sysdba;

 

me pida la contraseña del usuario sys  , si  o si para poder conectarme.

 

 

En respuesta a por gonware

Buena pregunta. A mi no me suena que se pueda forzar la petición de contraseña a todos los usuarios.

He buscado un poco y creo que directamente no se puede, aunque siempre tienes la opción de dejar sin ningún usuario el grupo Oracle DBA. Si ningún usuario del sistema pertenece a este grupo, nadie tendrá el privilegio de entrar "/as sysdba" sin introducir un password.

Enlazo el foro donde he encontrado el 'tip', con algunas indicaciones para hacerlo en Windows y Unix

 ORA-12560: TNS:protocol adapter error: controlar variables de entorno, los parametros del tnsnames.ora y el listener.ora

En linux: 

             export ORACLE_SID=nombre_SID (nombre de sid de la base de datos)

             lsntcrl (nombre del listener)

          

             Conectar sin saber usuario ni contraseña

 

             usuario :~$ sqlplus /nolog

             sqlplus> conn / as sysdba

 

Espero que les sirva. Saludos

hola!

ante todo saludar a todos ya que soy nuevo en este foro

y nuevo en el tema de bases de datos.

Mi pregunta es: Acabo de llegar al puesto en el que estoy trabajando y ando un poco perdido.

La persona que estaba an el puesto anterior se fue y no dejo la password de acceso mediante toad a una base de datos.

Hay alguna manera de poder "encontrar" esa password para poder entrar? necesito los datos de las tablas, procedimientos y funciones para trabajar.

gracias de antemano y saludos a todos.

Buen dia a todos! Buscamos perfiles ETL-IPC para trabajar en una compañía estadounidense de renombre internacional (Base en el DF.). Si cubres con el perfil y eres bilingüe envianos mensaje privado o envia tu CV a maricruz.martinez@estrategiasdetalentohumano.com  O si conoces de alguien que pueda estar interesado. Asi como este perfil, también tenemos más vacantes en el área de TI. Gracias!!
 

Hola. Necesito su ayuda con el procedirmiento para lo que comenta Carlos mas arriba: "Si has de utilizar otro tendrás que definir las variables de entorno para él. Si, por ejemplo, no puedes ejecutar SQLPLUS desde fuera del mismo directorio 'BIN' es que el usuario no las tiene definidas". Precisamente necesito ejecutar "sqlplus /no log " con un usuario diferente al de instalación. Tampoco es el root. Que debería configurar en el usuario para que pueda ejecutar esto? Muchas gracias

 

Esocola

Me gustaria saber si alguien me puede hechar una manito, tengo en mi pc

Toad for Oracle 9 y oracle 8i, cargo una base de datos automáticas todos los días por la mañana, pero necesito que una query con la cual hago el filtro de esta carga se ejecute de forma automática y no manual como lo hago todos los días. Se que por medio de un bach, una llamada a sql plus, este bach o bat lo invoco con un scheduler de windows y podria funcionar... el tema es como hago el llamado a SQL PLUS con un bat.

Saludos y muchas gracias

Alejandro

En respuesta a por Alejandro Escobar Q. (no verificado)

Alejandro, te has planteado hacerlo con un job de Oracle? Si tienes permisos para crear jobs y procedimientos almacenados puedes programar con un job la ejecución de un procedure que contenga la query de la carga, y lo haces todo desde la misma base de datos.

ayuda instale 2motores de BD,

oracle express edition 11g y ahora
oracle enterprise 11g

y trato de conectarme a oracle por sqlplus

pero tngo el siguiente error

ORA-12560:TNS: error del adaptador del protocolo

que puedo hacer para que se levante oracle
cuando tenia solo express edition no habia problema

saludos Andrés J

Buenos dias Carlos,

soy Fans de DATAPRIX y me gusta todo el conocimiento que aquí exponen.
Carlos la pregunta es la siguiente:

Tengo instalado en estos momentos en el servidor de producción Oracle Database 10g
Release 10.2.0.4.0 - 64bit Production

vamos a actualizar a la versión Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

cual es la mejor forma de actualizar mi Oracle ? algunos me han dicho que instale Oracle 11g en el servidor y que cambie las variables de ambiente y despues apague mi ORacle 10g que actualmente es produccion ?

Tu cual me recomendaría teniendo en cuenta que la compañia solo da una espera de 1 dia para esta labor?

Gracias y felicitaciones por sus aportes a esta comunidad.

En respuesta a por guillermohaad (no verificado)

Hola Guillermo

Hay varios métodos para hacer un upgrade de Oracle, y la utilización de cada uno depende de muchos factores, entre los que se incluye la experiencia que tengas como DBA, o las herramientas de Oracle que domines mejor.

Lo de cambiar las variables de entorno, puede que se pueda hacer en algún caso, pero me parece algo arriesgado, y seguramente tengas que 'toquetear' alguna cosa más. El factor más importante es el tiempo que puedas tener la base de datos parada, si puedes. Si ese día que comentas la base de datos puede estar parada, para mí el método más seguro es hacer un export en frío de la base de datos de producción, y un import sobre la instalación nueva de la 11g.

Si quieres plantearte otras opciones, he encontrado este artículo de la OTN de Oracle que plantea diferentes escenarios, y aconseja qué hacer en cada uno, tiene hasta un diagrama para ayudarte a tomar la decisión.

El método de utilizar el DBUA (Database Upgrade Assistant) de Oracle, que el artículo explica al final con mucho detalle, creo que también podría servir para el entorno que planteas.

Saludos,

En referencia a si se puede forzar la petición de contraseña a todos los usuarios.....

Podeis hacer....

Editar el sqlnet.ora
y poner
SQLNET.authentication_sevices=none

Entonces no podréis conectar directamente desde sqlplus con connect /as sysdba

dará el error ORA-01031: insufficient privileges

Saludos,
Francisco García Colacios
www.colacios.es

Hola a todos,
Me gustaría saber si alguine tiene conocimiento de algun metodo de poder detectar bloqueos en una BD oracle 10g y un comando para liberarlas. es decir existen nuevos comandos 10g a la fecha que hagan este trabajo.

Gracias
Cristian Ampuero

Buenas Tardes, necesito ejecutar varios comandos desde la consola para dar permisios a un rol para gestionar objetos tipo JOBS, ejecuto el primer comando SQLPLUS "SYS/PASSWORD@INSTANCIA AS SYSDBA" pero no me logra abrir el sqlplus, alguien podria ayudarme

#te validas como root su - #cambias a usuario oracle su - oracle #validas que la variable de entorno este bien y corresponda a tu BD. echo $ORACLE_SID sqlplus /nolog conn / as sysdba alter user sys identified by "nuevo_password";

buen dia, trato de conectarme a sqlplus con un usuario distinto a oracle, ya le defini las variables de entorno a el y me sale un error en el momento de coneccion "ora 12547 tns: lost contact

En respuesta a por yenifer (no verificado)

Entiendo que te refieres igualmente a una conexión "sqlplus / as sysdba".

Yo no me encontrado nunca el error "ORA-12547 TNS: Lost Contact" que comentas al conectar con SQLPlus, así que te referencio un par de posts de otros sitios con posibles causas y soluciones para solventar este error de conexión de Oracle:

En Oracle DBA Blog mencionan 5 posibles causas para el error de Oracle ORA12457, y 5 posibles soluciones, basándose en el documento de soporte de Oracle 422173.1

En el blog Oracle en Español explican cómo utilizar la utilidad 'sysresv' para consultar los segmentos de memoria compartida y los semáforos que utiliza una instancia de Oracle:

> $ORACLE_HOME/bin/sysresv

En su caso, eliminando con el comando ipcrm los semáforos y la memoria compartida que le devolvía el comando sysresv, pudieron volver a entrar con SQLPlus /as sysdba sin encontrarse el error ora 12547:

> ipcrm -m [shared_memory_ID]
> ipcrm -s [semaphore_ID]

 

Espero que alguna de estas referencias te ayude a solucionar el error

Hola tengo una duda, resulta que en oracle 11g 2 tengo la siguiente contraseña "pass"(con todo y dobles comillas) al querer conectarme con sqlplus

con el siguiente comando sqlplys usr/"pass"/BD@10.10.10.10/ORACLE, me conecto sin problemas por medio de un .BAT, el problema es que si en ese mismo .BAT agrego lo siguiente no se conecta, no se conecta a la base de datos y por ende no hace la carga del archivo .CTL

 

sqlplus usr/"pass"/BD@10.10.10.10/ORACLE control = C:\Users\xxxx\Documents\Compartida\carga\archivocarga.ctl

 

yo creo que es por la contraseña con esos caracteres, sin embargo alguien sabe como escapar esos carcteres?

En respuesta a por Anonimo (no verificado)

Prueba a escapar las comillas, para que Oracle no las interprete, con una contrabarra. Sería algo así:

sqlplus usr/\"pass\"/BD@10.10.10.10/ORACLE control = C:\Users\xxxx\Documents\Compartida\carga\archivocarga.ctl

 

Necesito una manito please, quiero pasar una consulta ya terminada en Oracle Report 6i a Oracle 11i, pero este me desconfigura el layout y no lo puedo arreglar, ademas no me deja modificar los width y sale todo amontonado.  

 

Saludos Carlos!

 

Te escribo de México, tengo un ERP montado en Oracle 11g y al parecer mi base de datos tuvo un problema, tengo 3 ambientes (test, productivo y practicas) pero solamente mi ambiente productivo esta fuera, las personas que estan revisando el caso me dicen que pueden ver la BD pero no logram ingresar a ella, la pregunta es si se puede ver la BD aun hay posibilidades de ingresar a ella? Tenemos un respaldo, pero es de hace un mes, por consiguiente nos interesa rescatar l aBD actual para no perder informacion.

 

saludos!

En respuesta a por Anonimo (no verificado)

Lo normal es que al menos con SQLPlus desde el servidor local, y con el usuario administrador puedas entrar en la base de datos y revisar los errores que pueda tener si no se levanta. No te puedo decir mucho más, porque eso de que 'se vea' (entiendo que desde otro servidor) no me parece lo más relevante, me parece más importante revisar bien los logs y los errores que te devuelva la BD al intentar levantarla.

 

hola carlos disculpa una consulta me sale un error que no se ha podido realizar la conexion con el servidor verifique la conexion error n.--2147217843 Descripcion Ora-01017 nombre usuario/contraseña no validos conexion denegada.

me puede ayudar ya le cambie la contraseña como dices en e primer comentario pero me sigue saliendo el error alguna solucion. 

Gracias

Buen dia. Como puedo ejecutar un script desde SQLPlus con un usuario X de la Base de datos en un esquema Y. Es decir quiero que el usuario de la BD llamado "Carlos" ejecute un script de un paquete pero este quede en el esquema de Pedro, sin necesidad de cambiar la creación del paquete ni digitar la clave de "Pedro"