Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,380 --> 00:00:04,080
In this lesson, we'll examine
some of the database options
2
00:00:04,080 --> 00:00:06,270
available in Oracle 12c.
3
00:00:06,270 --> 00:00:08,880
Options are features that are
available for the database
4
00:00:08,880 --> 00:00:10,440
at an additional cost.
5
00:00:10,440 --> 00:00:12,360
It's possible that
a DBA might work
6
00:00:12,360 --> 00:00:14,730
the majority of their
career and not even use
7
00:00:14,730 --> 00:00:16,710
any of these pay-for options.
8
00:00:16,710 --> 00:00:19,710
However, these options can be
extremely useful and sometimes
9
00:00:19,710 --> 00:00:23,020
essential depending on the
business needs of the company.
10
00:00:23,020 --> 00:00:25,920
So it's important to understand
what's at our disposal.
11
00:00:25,920 --> 00:00:28,770
Oracle offers more options
than we can cover here,
12
00:00:28,770 --> 00:00:30,900
but we'll look at some
of the more common ones.
13
00:00:30,900 --> 00:00:34,050
We'll examine Oracle Advanced
Security, Partitioning,
14
00:00:34,050 --> 00:00:37,950
Advanced Compression Option,
and Oracle Multitenant.
15
00:00:37,950 --> 00:00:40,230
One of the most important
options available to us
16
00:00:40,230 --> 00:00:42,330
is Oracle Advanced Security.
17
00:00:42,330 --> 00:00:45,120
Oracle Advanced
Security or OAS adds
18
00:00:45,120 --> 00:00:48,540
some very important security
aspects to the Oracle database.
19
00:00:48,540 --> 00:00:49,950
Let's think of an example.
20
00:00:49,950 --> 00:00:52,230
Even though the client-server
model isn't as common
21
00:00:52,230 --> 00:00:54,570
as it once was, let's say
that we're administering
22
00:00:54,570 --> 00:00:56,370
a client-server configuration.
23
00:00:56,370 --> 00:00:58,260
We have remote
users in Canada that
24
00:00:58,260 --> 00:01:00,270
use a homegrown
application to connect
25
00:01:00,270 --> 00:01:02,820
to our database in
the United States.
26
00:01:02,820 --> 00:01:05,670
Of course, that kind of distance
means that, at some point,
27
00:01:05,670 --> 00:01:07,260
the network traffic
involved will
28
00:01:07,260 --> 00:01:08,850
be running across the internet.
29
00:01:08,850 --> 00:01:11,550
So that company data will
be running over lines that
30
00:01:11,550 --> 00:01:13,680
are exposed to the internet.
31
00:01:13,680 --> 00:01:15,300
You might think
that, by default,
32
00:01:15,300 --> 00:01:17,490
all of the traffic between
the client and server
33
00:01:17,490 --> 00:01:19,590
would be encrypted,
but you'd be wrong.
34
00:01:19,590 --> 00:01:23,320
All of that company data crosses
the internet in plain text.
35
00:01:23,320 --> 00:01:25,890
If an attacker can get
a fix on your traffic,
36
00:01:25,890 --> 00:01:28,170
your data could be
intercepted, stolen,
37
00:01:28,170 --> 00:01:31,530
or tampered with unless that
is you use Oracle Advanced
38
00:01:31,530 --> 00:01:33,300
Security OAS.
39
00:01:33,300 --> 00:01:35,460
With OAS, you can
set up encryption
40
00:01:35,460 --> 00:01:37,530
between clients and
database servers
41
00:01:37,530 --> 00:01:39,780
or between multiple
databases themselves.
42
00:01:39,780 --> 00:01:41,730
In situations where
data is synchronized
43
00:01:41,730 --> 00:01:45,600
across multiple geographic
locations, OAS is crucial.
44
00:01:45,600 --> 00:01:48,330
OAS also provides for
other security features
45
00:01:48,330 --> 00:01:51,780
such as transparent
data encryption, TDE,
46
00:01:51,780 --> 00:01:53,760
which can encrypt data at rest.
47
00:01:53,760 --> 00:01:55,980
It also provides
data redaction, which
48
00:01:55,980 --> 00:01:58,830
allows you to selectively
hide sensitive data
49
00:01:58,830 --> 00:02:01,240
from unauthorized users.
50
00:02:01,240 --> 00:02:03,190
Oracle Partitioning is
an impressive feature
51
00:02:03,190 --> 00:02:06,500
that allows you to split a table
into more manageable pieces.
52
00:02:06,500 --> 00:02:07,930
So why would we need this?
53
00:02:07,930 --> 00:02:10,600
For small tables, we probably
wouldn't gain anything
54
00:02:10,600 --> 00:02:11,710
from partitioning.
55
00:02:11,710 --> 00:02:14,780
But partitioning was created
for very large tables.
56
00:02:14,780 --> 00:02:17,710
Let's say we have a table that
contains 100 million rows.
57
00:02:17,710 --> 00:02:19,870
That may sound like a lot,
but it's far more common
58
00:02:19,870 --> 00:02:20,980
than you might expect.
59
00:02:20,980 --> 00:02:23,230
This table contains
customer transactions
60
00:02:23,230 --> 00:02:24,820
that go back 10 years.
61
00:02:24,820 --> 00:02:28,240
The data is distributed
fairly evenly so each year has
62
00:02:28,240 --> 00:02:30,610
about 10 million rows.
63
00:02:30,610 --> 00:02:32,980
It is likely that the
most important data
64
00:02:32,980 --> 00:02:36,460
is the most recent data, say
the last two or three years.
65
00:02:36,460 --> 00:02:39,430
But every time a query is
executed against the database,
66
00:02:39,430 --> 00:02:41,630
it has to look through
all of the data,
67
00:02:41,630 --> 00:02:44,110
including the older
less used data.
68
00:02:44,110 --> 00:02:46,810
What if there were a way
to separate the newer
69
00:02:46,810 --> 00:02:49,270
data from the older
data but still allow
70
00:02:49,270 --> 00:02:51,250
it to look like a single table?
71
00:02:51,250 --> 00:02:53,740
That's what partitioning
enables us to do.
72
00:02:53,740 --> 00:02:56,170
We partition or
separate the data
73
00:02:56,170 --> 00:03:00,340
based on a key column value for
when the transaction occurred.
74
00:03:00,340 --> 00:03:02,960
So one partition would
be this year's data.
75
00:03:02,960 --> 00:03:04,450
Another would be last year's.
76
00:03:04,450 --> 00:03:05,900
So on and so forth.
77
00:03:05,900 --> 00:03:08,170
Now, when we query
for recent data,
78
00:03:08,170 --> 00:03:11,680
it searches based on the
underlying partitioning scheme
79
00:03:11,680 --> 00:03:14,470
and ignores the data from
every year except the one we're
80
00:03:14,470 --> 00:03:15,310
interested in.
81
00:03:15,310 --> 00:03:18,280
In our case, that's
a 90% reduction
82
00:03:18,280 --> 00:03:21,130
in the amount of data
that must be scanned.
83
00:03:21,130 --> 00:03:23,200
While optimal databases
don't necessarily
84
00:03:23,200 --> 00:03:26,650
use a lot of CPU or memory,
they can use tremendous amounts
85
00:03:26,650 --> 00:03:27,980
of disc space.
86
00:03:27,980 --> 00:03:30,310
Databases are storage
mediums for data,
87
00:03:30,310 --> 00:03:32,450
and companies keep
a lot of data.
88
00:03:32,450 --> 00:03:34,810
So one of the things that
a DBA can struggle with
89
00:03:34,810 --> 00:03:36,970
is maintaining enough
free space for data.
90
00:03:36,970 --> 00:03:39,520
On home computers, sometimes
we can free up space
91
00:03:39,520 --> 00:03:42,430
by zipping up or
compressing old files.
92
00:03:42,430 --> 00:03:44,200
Oracle offers an
enterprise solution
93
00:03:44,200 --> 00:03:48,580
for this with the advanced
compression option or ACO.
94
00:03:48,580 --> 00:03:51,700
ACO offers a number of
different ways to compress
95
00:03:51,700 --> 00:03:53,860
and uncompress data on the fly.
96
00:03:53,860 --> 00:03:56,230
ACO is capable of
significantly reducing
97
00:03:56,230 --> 00:03:59,060
the amount of disc space
required for your database.
98
00:03:59,060 --> 00:04:01,780
However, you might think
compressing and uncompressing
99
00:04:01,780 --> 00:04:03,160
data takes time.
100
00:04:03,160 --> 00:04:05,750
Wouldn't this affect the
performance of data retrieval?
101
00:04:05,750 --> 00:04:07,870
If this was the kind of
compressed and uncompressed
102
00:04:07,870 --> 00:04:10,360
utility that we're
familiar with for home use,
103
00:04:10,360 --> 00:04:11,740
we'd probably be correct.
104
00:04:11,740 --> 00:04:15,010
But there's a reason that
Oracle charges extra for ACO.
105
00:04:15,010 --> 00:04:18,670
It is an extremely advanced use
of "on the fly" compression.
106
00:04:18,670 --> 00:04:21,790
The key reason that ACO can
compress and uncompress data
107
00:04:21,790 --> 00:04:24,220
without interfering
with normal processing
108
00:04:24,220 --> 00:04:27,220
is that its compression
algorithms work in memory, not
109
00:04:27,220 --> 00:04:29,140
on disc like we're
familiar with.
110
00:04:29,140 --> 00:04:32,090
Thus, the compress
changes occur in memory,
111
00:04:32,090 --> 00:04:35,260
which is an order of magnitude
faster than working on disc.
112
00:04:35,260 --> 00:04:37,840
As a result, ACO
allows us to operate
113
00:04:37,840 --> 00:04:40,960
with a compressed database
without significantly impacting
114
00:04:40,960 --> 00:04:42,110
performance.
115
00:04:42,110 --> 00:04:43,750
It can even use
intelligent compression
116
00:04:43,750 --> 00:04:45,940
to determine which data
should be compressed
117
00:04:45,940 --> 00:04:47,710
and which should be left alone.
118
00:04:47,710 --> 00:04:50,620
If data hasn't been accessed
in a certain amount of time,
119
00:04:50,620 --> 00:04:52,960
it considers it a
candidate for compression.
120
00:04:52,960 --> 00:04:55,090
With ACO, we can
also create policies
121
00:04:55,090 --> 00:04:57,790
that specify our own condition
as to when data should
122
00:04:57,790 --> 00:04:59,800
be compressed and for how long.
123
00:04:59,800 --> 00:05:02,110
This works with table
data, backup data,
124
00:05:02,110 --> 00:05:03,980
and exported data as well.
125
00:05:03,980 --> 00:05:07,240
Finally, ACO can even compress
data in network connections
126
00:05:07,240 --> 00:05:09,160
such as copying data
from one database
127
00:05:09,160 --> 00:05:10,870
to another over a network.
128
00:05:10,870 --> 00:05:13,900
As a result, the amount of
time required to copy the data
129
00:05:13,900 --> 00:05:16,400
can be significantly reduced.
130
00:05:16,400 --> 00:05:19,220
The most impressive new
option for Oracle 12c
131
00:05:19,220 --> 00:05:21,230
is certainly Oracle Multitenant.
132
00:05:21,230 --> 00:05:23,450
Oracle Multitenant
is a major advance
133
00:05:23,450 --> 00:05:25,250
that basically adds
a virtualization
134
00:05:25,250 --> 00:05:27,360
layer to the 12c database.
135
00:05:27,360 --> 00:05:28,700
Why is this useful?
136
00:05:28,700 --> 00:05:31,880
Server virtualization can
be very useful in situations
137
00:05:31,880 --> 00:05:34,730
where an organization wants
to better utilize the server
138
00:05:34,730 --> 00:05:36,440
assets that they control.
139
00:05:36,440 --> 00:05:38,600
In a situation where
an organization has
140
00:05:38,600 --> 00:05:42,740
10 physical servers that they
can only utilize at about 10%,
141
00:05:42,740 --> 00:05:45,980
they may be able to reduce that
number to two or three servers
142
00:05:45,980 --> 00:05:48,680
and create virtual machines
that represent the 10
143
00:05:48,680 --> 00:05:50,120
servers they used to have.
144
00:05:50,120 --> 00:05:53,760
Oracle Multitenant does a
similar thing for databases.
145
00:05:53,760 --> 00:05:55,280
One of the most
frustrating problems
146
00:05:55,280 --> 00:05:57,980
that an Oracle DBA can deal
with is the requirement
147
00:05:57,980 --> 00:06:00,260
for more and more databases.
148
00:06:00,260 --> 00:06:03,180
An organization keeps
creating new applications.
149
00:06:03,180 --> 00:06:05,690
And those applications
need additional databases.
150
00:06:05,690 --> 00:06:08,150
When you include the requirement
for each application,
151
00:06:08,150 --> 00:06:11,930
to maintain a development,
test, and production database,
152
00:06:11,930 --> 00:06:13,700
the number of databases
you're managing
153
00:06:13,700 --> 00:06:16,010
can quickly spiral
out of control.
154
00:06:16,010 --> 00:06:19,550
Every one of those new databases
must be maintained, patched,
155
00:06:19,550 --> 00:06:21,380
and upgraded regularly.
156
00:06:21,380 --> 00:06:24,650
With Oracle Multitenant, we can
reduce the amount of management
157
00:06:24,650 --> 00:06:26,300
needed for these databases.
158
00:06:26,300 --> 00:06:27,950
Multitenant lets
us create what's
159
00:06:27,950 --> 00:06:29,840
known as a container database.
160
00:06:29,840 --> 00:06:32,330
We can think of this
as a super database.
161
00:06:32,330 --> 00:06:34,010
Within the container
database, we
162
00:06:34,010 --> 00:06:37,490
can create pluggable
databases or subdatabases
163
00:06:37,490 --> 00:06:39,350
inside the super database.
164
00:06:39,350 --> 00:06:42,560
To the user, a pluggable
database or PDB
165
00:06:42,560 --> 00:06:45,120
looks just like the
database it expects to see.
166
00:06:45,120 --> 00:06:48,590
But under the hood, the PDB
lives inside the container
167
00:06:48,590 --> 00:06:50,690
database or CDB.
168
00:06:50,690 --> 00:06:53,060
A lot of benefits arise
from this architecture.
169
00:06:53,060 --> 00:06:56,060
Databases can be patched
either separately or together.
170
00:06:56,060 --> 00:06:59,360
Databases can be cloned
easily, either within a CDB
171
00:06:59,360 --> 00:07:01,280
or between different CDBs.
172
00:07:01,280 --> 00:07:04,160
An entire database can be
migrated somewhere else
173
00:07:04,160 --> 00:07:06,350
by simply unplugging
it from its container
174
00:07:06,350 --> 00:07:08,030
and plugging it into another.
175
00:07:08,030 --> 00:07:10,280
Overall, the amount of
administration required
176
00:07:10,280 --> 00:07:12,410
is greatly reduced
since the DBA can
177
00:07:12,410 --> 00:07:14,690
manage all of the
pluggable databases
178
00:07:14,690 --> 00:07:16,730
from the container itself.
14517
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.