第二章 数据库管理工具
<p>[TOC]</p>
<h1>第二章 数据库管理工具</h1>
<h2>2.1 Oracle 通用安装程序(Oracle Universal Installer)</h2>
<ul>
<li>基于java,独立任何计算机平台,操作简单。有五个特点。</li>
</ul>
<h2>2.2 交互式启动Oracle Universal Installer</h2>
<ul>
<li>Windows:开始->"所有程序"->Oracle-OraDb11g_home1->"Oracle安装产品"->Universal Installer。</li>
<li>UNIX,Linux 系统上:
<pre><code>[oracle@oracle database]$ pwd
/u01/database
[oracle@oracle database]$ ./runInstaller</code></pre></li>
<li>注意:不要在root用户下安装Oracle</li>
</ul>
<h2>2.3 非交互式启动Oracle Universal Installer</h2>
<ul>
<li>如果要安装多个相同的数据库系统时,就使用。</li>
</ul>
<h2>2.4 Oracle 数据库配置助手(Oracle Database Configuration Assistant,ODCA)</h2>
<ul>
<li>可以被用来创建数据库、修改数据库配置选项和删除数据库管理模板等。</li>
<li>Linux打开方式:
<pre><code>[oracle@oracle bin]$ pwd
/u01/app/oracle/product/12.2.0/db_1/bin
[oracle@oracle bin]$ dbca</code></pre></li>
</ul>
<h2>2.5 使用Oracle 数据库配置助手创建数据库</h2>
<ul>
<li>图形界面一步步创建数据库p28,到最后可以生成数据库脚本文件,之后可以通过命令行手地工本地创建数据库了。</li>
</ul>
<h2>2.6 数据库管理员用户sys和system</h2>
<ul>
<li>system 用户少一些权限
<pre><code>SQL> show user
USER is "SYSTEM"
SQL> shutdown immediate
ORA-01031: insufficient privileges
SQL> archive log list
ORA-01031: insufficient privileges</code></pre>
<pre><code>archive log list;
数据库日志模式 不归档模式
自动归档 已禁用
归档目标 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 146
当前日志序列 148</code></pre></li>
</ul>
<h2>2.7 SQL*Plus 命令行工具</h2>
<ul>
<li>标准命令行工具,可以用来:
启动和关闭数据库
建立和运行查询
添加数据行
修改数据
生成个性化的报告(reports)等</li>
<li>cmd命令窗口连接数据库
<code>C:\Users\pandm>sqlplus hr/hr@172.18.32.66:1521/orcl</code></li>
</ul>
<h2>2.8 Oracle 10g企业管理器(EM)</h2>
<ul>
<li>考的是12c,所以没有重点学习这部分</li>
</ul>
<h2>2.9 Oracle 11g 企业管理器(EM)</h2>
<ul>
<li>考的是12c,所以没有重点学习这部分</li>
</ul>
<h2>2.10 将SYSDBA 权限授予普通用户</h2>
<ul>
<li>大型数据库的管理员一般有多个,都不能直接使用sys、system用户进行维护,一般使用个人账号(有sysdba权限)。</li>
<li>sys用户授予权限与回收权限
<pre><code>show user;--sys用户
select * from v$pwfile_users ;--查看有sysdba权限的用户
grant sysdba to system;--将sysdba权限授予system用户
grant sysdba to hr,scott ;--将sysdba权限授予多个用户
revoke sysdba from scott,hr ;--DDL语句回收sysdba权限</code></pre></li>
</ul>
<h2>2.11 Oracle 12c EM Database Express(Enterprise Manager(EM) Database Express)</h2>
<ul>
<li>可以做的内容包括数据库的配置、管理、维护、诊断、优化以及性能监督等。</li>
<li>因为使用的是Oracle 内置的XML DB(默认安装),所以EM Database Express 只能在Oracle 数据库开启时使用,同时不能使用来开启数据库,也不能用来开启或关闭归档模式。</li>
<li>配置EMCC的端口及激活</li>
<li>激活EM Database Express </li>
<li>显示当前Oracle 系统中分派程序的初始化参数值</li>
<li>为XML DB配置一个TCP协议的分派程序。</li>
<li>修改参数
<code>SQL> alter system set enable_dnfs_dispatcher=true scope=spfile;</code></li>
</ul>
<pre><code>SQL> show parameter dispatcher;
NAME TYPE VALUE
dispatchers string (PROTOCOL=TCP) (SERVICE=orclXDB)
enable_dnfs_dispatcher boolean FALSE
max_dispatchers integer</code></pre>
<ul>
<li>查看有没有配置端口
<pre><code>select dbms_xdb_config.gethttpport from dual;--0,没有设置端口
select dbms_xdb_config.gethttpsport from dual;--0,没有设置端口</code></pre></li>
<li>配置端口
<pre><code>exec dbms_xdb_config.sethttpport(5501);--设置HTTP的端口
exec dbms_xdb_config.sethttpsport(5500);--设置HTTPS的端口</code></pre></li>
<li>访问方法:ip、端口访问(火狐浏览器显示的是中文)
<code>https://172.18.32.66:5500/em/login</code></li>
</ul>
<pre><code>
https://www.cnblogs.com/zylong-sys/p/12166178.html
alter system set enable_dnfs_dispatcher=FALSE scope=spfile;
show parameter dispatcher;
lsnrctl status | grep HTTP
select dbms_xdb_config.gethttpport from dual;
select dbms_xdb_config.gethttpsport from dual;
exec dbms_xdb_config.sethttpport(5501);
exec dbms_xdb_config.sethttpsport(5500);
https://172.18.32.66:5500/em/login
SELECT 'https://'||SYS_CONTEXT('USERENV','SERVER_HOST')||':'||dbms_xdb_config.gethttpsport()||'/em/' from dual;
DESC RESOURCE_VIEW
select comp_name, version, status from dba_registry where comp_id = 'XDB';
select owner, object_name, object_type, status from dba_objects where status = 'INVALID' and owner in ('SYS', 'XDB');
select USERNAME,NAME,ACCOUNT_STATUS,LOCK_DATE from cdb_users u,v$containers c where u.CON_ID=c.CON_ID and USERNAME ='SYSTEM' ;
select comp_id, version, status from dba_registry;</code></pre>
<ul>
<li>查看网址,关闭端口</li>
</ul>
<pre><code>exec dbms_xdb_config.sethttpport(0);
exec dbms_xdb_config.sethttpsport(0);
SELECT 'http://'||SYS_CONTEXT('USERENV','SERVER_HOST')||':'||dbms_xdb_config.gethttpport()||'/em/' from dual;
SELECT 'https://'||SYS_CONTEXT('USERENV','SERVER_HOST')||':'||dbms_xdb_config.gethttpsport()||'/em/' from dual;</code></pre>
<ul>
<li>检查端口是否在监听器中</li>
</ul>
<pre><code>[oracle@ATFDB1 ~]$ lsnrctl status|grep 55
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ATFDB1)(PORT=5501))(Security=(my_wallet_directory=/u01/app/oracle/admin/newdb/xdb_wallet))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ATFDB1)(PORT=5502))(Security=(my_wallet_directory=/u01/app/oracle/admin/newdb/xdb_wallet))(Presentation=HTTP)(Session=RAW))</code></pre>
<h2>2.12 SQL Developer 简介</h2>
<ul>
<li>具有数据库管理员(DBA)权限的用户可以查看和编辑与数据库管理与维护相关的信息,并可以执行DBA操作,可以执行启动和关闭数据库操作。</li>
<li>如果要执行DBA操作,就需要DBA导航器。</li>
<li>反正就是功能很强大</li>
</ul>
<h2>2.13 你应该撑握的内容</h2>