我已经在centos7上成功安装了oracle 12c版本2,也可以使用sqlplus命令访问数据库。
我的问题是:
如何创建新数据库?
如何使用我在安装期间创建的现有数据?我们试图使用sql中使用的命令[use database_name;]访问创建的数据库,但是我们能够访问oracle中的数据库。
是否可以在GUI中访问数据库?
请提供一些适当的解决方案,我们将不胜感激。
谢谢
最佳答案
以特权用户(例如SYS)的身份连接并通过运行来检查您已经拥有的用户
SQL> select username, account_status
2 from dba_users
3 order by username;
USERNAME ACCOUNT_STATUS
------------------------------ -------------------------
ANONYMOUS OPEN
APEX_PUBLIC_USER LOCKED
APEX_040000 LOCKED
<snip>
HR LOCKED --> this one
<snip>
SCOTT OPEN
SYS OPEN
SYSTEM OPEN
<snip>
17 rows selected.
SQL>
预先安装的用户之一是HR(人力资源)。它包含您可能要使用的几个表。如果已锁定(并且您不知道其密码),请执行以下操作:
SQL> alter user hr account unlock;
User altered.
SQL> alter user hr identified by hr;
User altered.
SQL>
现在,您可以以HR身份进行连接并练习SQL技能:
SQL> connect hr/hr
Connected.
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
REGIONS
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
PRODUCT_INFORMATION
MYTABLE
DEPT
COUNTRIES
10 rows selected.
SQL>
关于“创建数据库”的问题,我想您的意思是“用户”,而不是“数据库”。除非您是DBA,否则您将不会创建任何一个。但是,创建用户有点类似(我的意思是,DBA这样做,而不是开发人员)。无论如何:您仍然以SYS身份连接,
检查您拥有哪些表空间
创建用户
授予它一些特权
就是这样:
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
SQL> create user sushant identified by kunwar
2 default tablespace users
3 temporary tablespace temp
4 quota unlimited on users;
User created.
SQL> grant create session, create table to sushant;
Grant succeeded.
现在,以新创建的用户身份连接并执行以下操作:
SQL> connect sushant/kunwar
Connected.
SQL> create table test (id number);
Table created.
SQL> insert into test (id) values (100);
1 row created.
SQL> select * from test;
ID
----------
100
SQL> drop table test;
Table dropped.
SQL>
如果事实证明您需要其他特权,则知道如何授予它们。
您正在寻找的GUI是SQL Developer,这是一个免费的工具,可以从Oracle Technology Network上下载。
很快,就是这样。有关更多信息,建议您阅读文档。从概念书开始,看看两天的DBA,然后继续学习SQL,PL / SQL等。祝您好运!
关于linux - 如何使用现有数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56478135/